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

Рубрика: Исходники
Среда, 21 апреля 2010 г.
Просмотров: 176
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
procedure TfrmAT_DateBook.DateBookBackup(ADateBookType: byte; AFileName: string; ADateBook: array of TDateBookEvent; ADateBookProps: TDateBookProps);
var
  f: textfile;
  i: integer;
  str: string;
  function CovertDate(ADate: string): string;
  var
    x: integer;
    sdd,smm,syy: string;
  begin
    result:= Trim(ADate);
    smm:= ExtractStr(result, '-');
    sdd:= ExtractStr(result, '-');
    syy:= ExtractStr(result, '-');
    result:= sdd + '/' + smm + '/' + syy;
  end;

begin
  AssignFile(f, AFileName);
  Rewrite(f);
  try
    for i:= 0 to High(ADateBook) do
      begin
        if ADateBook[i].index = MaxInt then break;
        case ADateBookType of
          0 : begin
                //+MDBR: 0,0442043504410442043E0432043E,1,0,"17:18","05-24-2007",4,"00:00","00-00-2000",1
                //EVENT;0;тестовое событие #1;17:18;24/05/2007;4;1;0;;;1
                str:= 'EVENT;' +
                      inttostr(i) + ';' +
                      Trim(ADateBook[i].Title) + ';' +
                      Trim(ADateBook[i].StartTime) + ';' +
                      Trim(CovertDate(ADateBook[i].StartDate)) + ';' +
                      Trim(ADateBook[i].Duration) + ';' +
                      Trim(ADateBook[i].Timed) + ';' +
                      Trim(ADateBook[i].IsAlarm) + ';';
                if  ADateBook[i].IsAlarm = '0'
                  then  str:= str  +
                              ';;' + Trim(ADateBook[i].repeat_ev)
                  else  str:= str  +
                              Trim(ADateBook[i].al_time) + ';' +
                              Trim(CovertDate(ADateBook[i].al_date)) + ';' +
                              Trim(ADateBook[i].repeat_ev);
              end;
          1 : begin
                //+MDBR: 0,"Rent",1,1,"08:00","07-14-2007",,"00:05","07-14-2007",0,"09:00","07-14-2007","",1,"      ","      ",501,0,  0,,"00-00-2000"
                {
AT+MDBW=1,"0054006500730074",1,1,"12:30","06-16-2007",,"12:25","06-16-2007",6,"13:00","06-16-2007","",1,"0054006500730074","0074006500730074",501,1,0,0,"00-00-2000".
}
                str:= 'EVENT2;' +
                      inttostr(i) + ';' +
                      Trim(ADateBook[i].Title) + ';' +
                      Trim(ADateBook[i].Timed) + ';' +
                      Trim(ADateBook[i].IsAlarm) + ';' +
                      Trim(ADateBook[i].StartTime) + ';' +
                      Trim(ADateBook[i].StartDate) + ';' +
                      Trim(ADateBook[i].Duration) + ';' +
                      Trim(ADateBook[i].al_time) + ';' +
                      Trim(ADateBook[i].al_date) + ';' +
                      Trim(ADateBook[i].repeat_ev) + ';' +
                      Trim(ADateBook[i].EndTime) + ';' +
                      Trim(ADateBook[i].EndDate) + ';' +
                      Trim(inttostr(ADateBook[i].EventType)) + ';' +
                      Trim(ADateBook[i].Cell) + ';' +
                      Trim(ADateBook[i].Records) + ';' +
                      Trim(inttostr(ADateBook[i].xState)) + ';' +
                      Trim(inttostr(ADateBook[i].Days));
              end;
        end;
        WriteLn(f, str);
      end;
  finally
    CloseFile(f);
  end;
end;
Rambler's Top100