大家帮忙啊(100分)

  • 主题发起人 主题发起人 zrj
  • 开始时间 开始时间
Z

zrj

Unregistered / Unconfirmed
GUEST, unregistred user!
1.我想richedit得第一行,红色显示'dffd',第2行,绿色显示'dsfs',用下面代码如何实现?(请大家修改)
with richedit1 do
begin
Alignment:=tacenter;
font.Size:=18;
lines.Clear;
font.style:=font.style+[fsitalic];
font.Color:=clgray;
lines.Add(title.text);
font.Size:=10;
alignment:=taleftjustify;
lines.add('sdfs');
end
2.procedure Tpaper.closeClick(Sender: TObject);
begin
if dm.papertable.State in dsEditmodes then
if application.messagebox('数据已经修改,是否要保存?','退出警告',MB_OKCANCEL +mbicon_confirm+ MB_DEFBUTTON1) <> IDOK then

else
dm.paperTable.Post;
close;
end;
这样判断这个table(passtable)得state不能成功啊,该如何判断???
3.我想动态创建登陆窗体,如果登陆成功再创建其它窗体,该如何作??var passform:tform;
begin
Application.Initialize;
Application.CreateForm(Tdm, dm);(数据窗体,要判断密码,因此先创建)
passform:=tpassform.create(application);
passform.show;
passform.Update;
if passform.passbtn.ModalResult=mrok then
begin
Application.CreateForm(Tmainform, mainform);
Application.CreateForm(Tinputq, inputq);
Application.CreateForm(Tselectquestion, selectquestion);
Application.CreateForm(Tautoselectform, autoselectform);
Application.CreateForm(Tbackup, backup);
Application.CreateForm(Tuserform, userform);
passform.Hide;
passform.Free;
Application.Run;
end
else
begin
passform.Hide;
passform.Free;
Application.Terminate;
end
我想要passform得passbtn(一个button名字)单及判断是否密码正确,要是正确,设置
ModalResult直为idok,然后再创建其它窗体,这样作对嘛??该如何作??



 
关于你说的想要出现一个密码窗口,输入密码正确后才能创建其他窗口,进入程序,我是这样
实现的(说明:form4是启动时显示的封面窗口,form1是主窗口,其他都是动态创建的窗口.)
操作如下:
项目文件
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit4 in 'Unit4.pas' {Form4},
Unit6 in 'Unit6.pas' {Form6},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit5 in 'Unit5.pas' {Form5},
ViewWin in 'Viewwin.pas' {ViewForm},
Unit7 in 'Unit7.pas' {Form7},
Unit8 in 'Unit8.pas' {Form8},
Unit9 in 'Unit9.pas' {DataModule9: TDataModule},
Unit10 in 'Unit10.pas' {Form10};

{$R *.RES}
begin
form4:=tform4.create(application);
form4.show;
form4.update;
Application.CreateForm(TForm1, Form1);
form4.hide;
form4.destroy;
if unit1.Form1.bz=true then
Application.Run
else
begin
form1.close;
end;
end.

在FORM1中设置一public判断变量BZ,private字符串变量LSCHAR及KEY,在FORMCREATE中读取
注册表中的密码到变量KEY中,再通过下面的代码在程序启动时验证密码,如果正确则赋变量
BZ为TRUE,继续创建主窗口,如不正确则退出:

lschar:=inputbox('核对框','请输入口令:','');
if lschar<>key then
begin
messagedlg('密码错误!',mterror,[mbok],0) ;
bz:=false;
end;

以上程序在DELPHI5.0 WIN98中编译运行通过,希望能对你有所帮助
 
I agree the above explanation on q3,

q1:
I think you'll need to derive a new type and override the ColWidthsChanged
method (a protected method of TCustomGrid).

q2:
procedure Tpaper.closeClick(Sender: TObject);
begin
if dm.papertable.State in [dsInsert, dsEdit] then
if application.messagebox('数据已经修改,是否要保存?','退出警告',MB_OKCANCEL +mbicon_confirm+ MB_DEFBUTTON1) <> IDOK then

else
dm.paperTable.Post;
close;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
597
import
I
后退
顶部