第二个关于日期显示格式的办法 procedure TForm1.FormCreate(Sender: TObject); var s1,s2:string; i:integer; begin s2:=''; s1:=FormatDateTime('yyyy-mm-dd',now); for i:=1 to 10 do begin if copy(s1,i,1)='-' then s2:=S2+'/' else S2:=S2+copy(s1,i,1) end ; edit1.text:=s2; end;end.
form1.oncreate.edit1.text:=formatdatetime('YYYY-MM-DD',now);
吗?
是放到form的oncreate事件下面
OnShow
OnActivate
...事件
procedure TForm1.FormCreate(Sender: TObject);
var
s1,s2:string;
i:integer;
begin
s2:='';
s1:=FormatDateTime('yyyy-mm-dd',now);
for i:=1 to 10 do
begin
if copy(s1,i,1)='-' then
s2:=S2+'/'
else
S2:=S2+copy(s1,i,1)
end ;
edit1.text:=s2;
end;end.
一个小小的“/”也要故意写一段程序哦。我还以为Delphi会自带有YYYY/MM/DD这类子的格式呢。
真太感谢上面这位了。^_^所以加多一点有限的分数再提一个问题:
我设了两个窗体Form1,Form2
Form1用TQuery的SQL语句向表里添加新资料
Form2用TDBGrid来显示该表的资料(还有个TDBNavigator)问题:
我用Form1.Close;Form2.show;、Form2.Close;Form1.Show;来互相关闭、打开。
可是我发现当我在F1添加了东西,然后打开F2看了以后可以看到所有资料,包括新加的资料,这很正常。
然后我再关掉F2回到F1继续添加新资料,再关掉F1打开F2查看,却发现F2依然保留着先前一次的界面(也就是说打开后TDBGrid里只能看到前一次看到的资料,新加的并没有显示出来)除非点TDBNavigator里面的“指向下一项”按钮才可以搜出新的资料。提问:
1.有什么办法在多次打开Form2时能够使它刷新一下,一打开就能够自动显示所有资料(包括最新添加的)?
2.用Close关闭TForm是不会清空内存的,应该用哪个才可以在关闭TForm时顺便也清空掉?
3.如果用Release来清空的话关掉了再打开就会报错,有没有又清空,又可以重开的?难道要用动态生成TForm?
2.对Table进行刷新。
edit1.text:=StringReplace(Edit1.Text,'-','/',[rfReplaceAll]);
请在我的电脑---控制面板中设置日期格式我‘/’就行了
delphi和它保持一致。
这样不就行了,写程序干什吗?
这里怎么了。
我打FormatDateTime('yyyy/mm/dd',now);得出来的结果是yyyy-mm-dd,并不是yyyy/mm/dd。待会改一改试试。^_^
真是百密一疏哦!谁会想到这格式问题居然会跟windows的格式有关系呢!
我试过了。确实是可以通过控制面板调整系统默认日期格式就可以摆平。;-(