Модуль "Календарь" (часть 9) - EditEvent

Рубрика: Исходники
Среда, 21 апреля 2010 г.
Просмотров: 164
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
function TfrmAT_DateBook.EditEvent(Ax: byte; var ADateBook: array of TDateBookEvent): integer; //0 - new, 1 -  edit;
var
  i: integer;
  curIndex: integer;
  xEventProps: PDateBookEvent;
  tmp: string;
begin
  result:= MaxInt;
  New(xEventProps);
  FillMemory(xEventProps, sizeof(PDateBookEvent), 0);
  if Ax <> 1
    then begin
           {***} Logger('Добавление новой записи:');

           for i:= Low(ADateBook) to High(ADateBook) do
            if ADateBook[i].Index = MaxInt then begin
                                                  ADateBook[i].index:= i;
                                                  xEventProps^.index:= i;
                                                  break;
                                                end;
           result:= i;
           xEventProps^.Title:= '';
           xEventProps^.StartTime:= TimeToStr(Now);
           xEventProps^.StartDate:= DateToStr(Now);
           xEventProps^.StartDate:= ReplaceChar(xEventProps^.StartDate, '.', '-');
           tmp:= xEventProps^.StartDate;
           xEventProps^.StartDate:= ExtractStr(tmp, '-');
           xEventProps^.StartDate:= ExtractStr(tmp, '-')+'-'+xEventProps^.StartDate+'-'+tmp;
           xEventProps^.Duration:= '0';
           xEventProps^.Timed:= '0';
           xEventProps^.IsAlarm:= '0';
           tmp:=  xEventProps^.StartTime;
           ParseRevers(tmp, ':');
           xEventProps^.al_time:= tmp;
           xEventProps^.al_date:= xEventProps^.StartDate;
           xEventProps^.repeat_ev:= '0';
           frmDateBookEventProps.Caption:= at_db_dbp_caption2;
           frmDateBookEventPropsEx.Caption:= at_db_dbp_caption2;
         end
    else begin
           {***} Logger('Редактирование существующей записи:');
           curIndex:= integer(spSkinListView1.ItemFocused.Data);
           result:= curIndex;
           xEventProps^:= ADateBook[curIndex];
           xEventProps^.index:= curIndex;
           frmDateBookEventProps.Caption:= at_db_dbp_caption1;
           frmDateBookEventPropsEx.Caption:= at_db_dbp_caption1;
         end;
  case iDateBookType of
    0 : FillEventProps(xEventProps);
    1 : FillEventProps2(xEventProps);
  end;
        
  Dispose(xEventProps);
end;
Rambler's Top100