sobee писал(а):Сходил я по этой ссылке и выкачал Lazarus-0.9.25-fpc-2.2.2-20080817-win32.exe и теперь имею вопрос к знатокам:
Кто-нибудь в курсе почему в этой сборке Лазаря выложенной на Lazarus Snapshots не работает DataTimeToString, хотя в сборке FPC 2.2.2 эта функция работает. Обе сборки под Win32.
Вот пример взятый из руководства по FPC для DataTimeToString и использованный в виде теста. В FPC 2.2.2 отработал на "Ура".
Код: Выделить всё
unit datetimets2_;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, EditBtn,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
S : String;
implementation
{ TForm1 }
Procedure today ( Fmt : string );
begin
DateTimeToString ( S, Fmt , Date );
end;
Procedure New ( Fmt : string );
begin
DateTimeToString ( S, Fmt , Time );
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Today ( ' " Сегодня " dddd dd mmmm yyyy г.' );
if S = ' ' then
begin
Label1.Caption:= S + #13;
Today ( ' " Сегодня " d mmm yy г.' );
Label1.Caption:= Label1.Caption + S + #13;
Today ( ' " Сегодня " d /mmm/ yy г.' );
Label1.Caption:= Label1.Caption + S + #13;
New ( ' " Время " am/pm h: n : s ' );
Label1.Caption:= Label1.Caption + S + #13;
New ( ' " Время " hh : nn : ss am/pm' );
Label1.Caption:= Label1.Caption + S + #13;
New ( ' " Время " tt ' );
Label1.Caption:= Label1.Caption + S;
end
else
begin
Label1.Caption:= DateTimeToStr(Date) + #13;
Label1.Caption:= Label1.Caption + DateTimeToStr(Now) + #13;
end;
end;
initialization
{$I datetimets2_.lrs}
end.
В результате в форму выводится результат работы DateTimeToStr вместо DateTimeToString . А вот другой пример
Код: Выделить всё
unit datetimets3_;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, EditBtn,
StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
S : String;
implementation
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
S := FormatDateTime ( ' " Сегодня " dddd dd mmmm yyyy г.', Date );
Label1.Caption:= S + #13;
S := FormatDateTime ( ' " Сегодня " d mmm yy г.', Date );
Label1.Caption:= Label1.Caption + S + #13;
S := FormatDateTime ( ' " Сегодня " d /mmm/ yy г.', Date );
Label1.Caption:= Label1.Caption + S + #13;
S := FormatDateTime ( ' " Время " am/pm h: n : s ', Time );
Label1.Caption:= Label1.Caption + S + #13;
S := FormatDateTime ( ' " Время " hh : nn : ss am/pm', Time );
Label1.Caption:= Label1.Caption + S + #13;
S := FormatDateTime ( ' " Время " tt ', Time );
Label1.Caption:= Label1.Caption + S;
end;
initialization
{$I datetimets3_.lrs}
end.
После запуска мы видим пустую форму вместо результата FormatDateTime. До этого у меня был установлена сборка Лазаря Lazarus-0.9.25-fpc-2.2.0-20080309-win32 и все прекрасно работало. В чем грабли? Можно ли использовать автономный дистр. FPC 2.2.2 и как?