Код вывода текста
- Код: Выделить всё
- procedure TFEditorRemd.vstMainTreeGetText(Sender: TBaseVirtualTree;
 Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
 var CellText: String);
 var
 Data: PVirtualRecord;
 dbItem:TRemdItem;
 tmp, tmp2:string;
 ColItem:TVirtualTreeColumn;
 begin
 try
 if Column<0 then exit;
 dbItem:=nil;
 Data := Sender.GetNodeData(Node);
 CellText := '';
 tmp:='';
 if (Assigned(Data)and Assigned(Data^.Item)) then
 begin
 if (Data^.Item.ClassNameIs(COMPARECLASSNAME_REMD)) then
 begin
 dbItem:=TRemdItem(Data^.Item);
 end;
 end;
 ColItem:=vstMainGetColumnByIndex (Column); //TVirtualTreeColumn;
 if ColItem.ID=vstMainColumnID_LabelName then //Маркировка
 begin
 if Assigned(dbItem) then
 begin
 tmp:=dbItem.Text;
 end;
 end
 else if ColItem.ID=vstMainColumnID_Date then //Дата
 begin
 if Assigned(dbItem) then
 begin
 if dbItem.RemdMode=tmStandard then
 begin
 tmp:=FormatDateTime(UTF8ToSys(FORMATDATETIME_DAY), dbItem.DateOriginal);
 tmp:=SysToUTF8(tmp);
 end
 else if dbItem.RemdMode=tmEveryDay then
 begin
 tmp:=FORMATDATETIME_EVERY_DAY2;
 end
 else if dbItem.RemdMode=tmEveryWeek then
 begin
 tmp:=FORMATDATETIME_EVERY_Week3;
 end
 else if dbItem.RemdMode=tmEveryMonth then
 begin
 tmp:=formatdatetime(UTF8ToSys(FORMATDATETIME_EVERY_Month2), dbItem.DateOriginal);
 tmp:=SysToUTF8(tmp);
 end
 else if dbItem.RemdMode=tmEveryYear then
 begin
 tmp:=formatdatetime(UTF8ToSys(FORMATDATETIME_EVERY_Year2), dbItem.DateOriginal);
 tmp:=SysToUTF8(tmp);
 end
 else if (dbItem.RemdMode=tmBeginQuarter)then
 begin
 tmp:=formatdatetime(UTF8ToSys(FORMATDATETIME_QUARTERBEGIN), dbItem.DateOriginal);
 tmp:=SysToUTF8(tmp);
 end
 else if (dbItem.RemdMode=tmEndQuarter) then
 begin
 tmp:=formatdatetime(UTF8ToSys(FORMATDATETIME_QUARTEREND), dbItem.DateOriginal);
 tmp:=SysToUTF8(tmp);
 end;
 end;
 end
 else if ColItem.ID=vstMainColumnID_Time then //Куда
 begin
 if Assigned(dbItem) then
 begin
 tmp:=FormatDateTime('HH:mm', dbItem.TimeOriginal);
 end;
 end
 else if ColItem.ID=vstMainColumnID_Status then //Марка кабеля
 begin
 if Assigned(dbItem) then
 begin
 if dbItem.Postpone then
 begin
 tmp:=FormatDateTime('Отложено до dd.mm.yyyy HH:mm', dbItem.NextComplite);
 end
 else
 begin
 tmp:=FormatDateTime('Было выполнено dd.mm.yyyy HH:mm', dbItem.LastComplite);
 if dbItem.RemdMode<>tmStandard then
 begin
 tmp:=tmp+' '+chr(13)+chr(10);
 tmp:=tmp+FormatDateTime('Повторение dd.mm.yyyy HH:mm', dbItem.NextComplite);
 end;
 end;
 end;
 end
 else if ColItem.ID=vstMainColumnID_Comments then //Примечание
 begin
 if Assigned(dbItem) then
 begin
 tmp:=dbItem.Comment;
 end;
 end;
 tmp:=StringReplace(tmp,'\n ',#13,[rfReplaceAll,rfIgnoreCase]);
 tmp:=StringReplace(tmp,'\n',#13,[rfReplaceAll,rfIgnoreCase]);
 tmp:=StringReplace(tmp,'\r ',#13,[rfReplaceAll,rfIgnoreCase]);
 tmp:=StringReplace(tmp,'\r',#13,[rfReplaceAll,rfIgnoreCase]);
 Data^.ViewText[ColItem.ID]:=tmp;
 CellText := tmp;
 except
 end;
 end;
- Код: Выделить всё
- unit u_lang_res;
 {$mode objfpc}{$H+}
 interface
 uses
 Classes, SysUtils;
 resourcestring
 EVERY_DAY ='Каждый день';
 EVERY_Week ='Каждую неделю';
 EVERY_Month ='Каждый месяц';
 EVERY_Month2 ='Числа';
 EVERY_Year ='Каждый год';
 EVERY_Year2 ='Ежегодно';
 FORMATDATETIME_EVERY_Month ='Ежемесячно';
 FORMATDATETIME_EVERY_Month2 ='Каждый месяц \r d числа';
 FORMATDATETIME_EVERY_Month3 ='d числа';
 FORMATDATETIME_EVERY_Year ='Ежегодно';
 FORMATDATETIME_EVERY_Year2 ='Каждый год \r d mmmm';
 FORMATDATETIME_EVERY_Year3 ='d mmmm';
 FORMATDATETIME_EVERY_Week ='Еженедельно';
 FORMATDATETIME_EVERY_Week2 ='Каждую неделю';
 FORMATDATETIME_EVERY_Week3 ='Каждую неделю';
 FORMATDATETIME_EVERY_DAY ='Ежедневно';
 FORMATDATETIME_EVERY_DAY2 ='Каждый день';
 FORMATDATETIME_EVERY_DAY3 ='Каждый день';
 FORMATDATETIME_DAY ='dd mmmm yyyy';
 FORMATDATETIME_QUARTERBEGIN ='Начало квартала \r dd mmmm';
 FORMATDATETIME_QUARTEREND ='Конец квартала \r dd mmmm';
 FORMATPOSTPONE_MIN ='%d минут';
 FORMATPOSTPONE_HOUR ='%d часов';
 FORMATPOSTPONE_DAYS ='%d дней';
 FORMATPOSTPONE_WEEK1 ='%d неделя';
 FORMATPOSTPONE_WEEK2 ='%d недели';
 FORMATPOSTPONE_YEAR ='%d год';





 Не думал что так просто найду того кто видел этот баг.
 Не думал что так просто найду того кто видел этот баг.