【发布时间】:2015-10-14 20:47:33
【问题描述】:
我正在使用以下代码在 Borland Delphi 7 的状态栏上以我的母语印度尼西亚显示 LongDayName、LongMonthName 和 Year。
但是当我在状态栏中输入FormatDateTime('dddd, dd mmmm yyyy', vDate); 时,出现错误:
[Error] Unit1.pas(47): Undeclared identifier: 'vDate'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
当我使用FormatDateTime('dddd, dd mmmm yyyy', Now); 时,结果仍然是英文:
我如何解决这个问题以在印尼语中显示?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
public
function Tanggal(vDate: TDateTime): String;
end;
var
Form1: TForm1;
implementation
function TForm1.Tanggal(vDate: TDateTime): String;
var
Counter: byte;
const
NamaHari : Array [1..7] of string = ('Minggu','Senin','Selasa','Rabu','Kamis','Jumat','Sabtu');
NamaBulan: Array [1..12] of String = ('Januari','Februari','Maret','April','Mei','Juni','Juli',
'Agustus','September','Oktober','November','Desember');
begin
For Counter := 1 to 7 do
LongDayNames[Counter]:=NamaHari[Counter];
For Counter := 1 to 12 do
LongMonthNames[Counter]:=NamaBulan[Counter];
Result := FormatdateTime('dddd, dd mmmm yyyy', vDate);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Statusbar1.Panels[0].Text := FormatDateTime('dddd, dd mmmm yyyy', Now);
end;
end.
【问题讨论】:
-
请去掉假码,换成真码。实际失败的代码。
-
无法用上面的代码重现。无论如何,当它说
vDate未声明时,这肯定是真的。声明一个变量,用你想要的任何数据填充它。或者重写该部分并将vDate更改为更好的内容。 -
以上代码取自link
-
请出示能证明您的问题的代码。