請教一個簡單代碼問題,感恩大家!!! |
|
liushengli
一般會員 發表:3 回覆:2 積分:1 註冊:2006-08-15 發送簡訊給我 |
下面是个登錄艙口部分代碼。我是學得,請大家指點。你看我寫的格式有問題嗎?我不知道具體問題。 unit login; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TfrmLogIn = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; name: TComboBox; pwd: TEdit; btnOK: TButton; btnCancel: TButton; func private { Private declarations } public { Public declarations } end; var frmLogIn: TfrmLogIn; implementation {$R *.dfm} {問題就在这,我可以把一下兩行放在这个地方嗎?) //一下是,聲明變量和函數 ################################################# power.string; function canPass:boolean; ############################################### function TfrmLogIn.canPass:boolean; var f:file; s1,s2,s3:string[30]; nr:integer; begin assignFile(f,'sys.ini'); reSet(f,1); repeat blockRead(f,s1,12,nr); blockRead(f,s2,12,nr); blockRead(f,s2,24,nr); if(s1=name.Text)and(s2=pwd.Text)then begin power:=s3; closeFile(f); result:=true; exit; end; until(nr=0); closeFile(f); result:=false; end; procedure TfrmLogIn.FormCreate(Sender:TObject); var f:file; nr,nw:integer; buf:string[60]; bn:boolean; size:longint; begin assignFile(f,'sys.ini'); bn:=true; if fileExists('sys.ini')=false then bn:=false else begin reSet(f,1); size:=fileSize(f); if size<48 then bn:=false; end; if bn=false then begin reWrite(f,1); buf:="admin'; blockWrite(f,buf,12,nw); buf:='admin'; blockWrite(f,buf,12,nw); buf:='1'; blockWrite(f,buf,24,nw); closeFile(f); end; reSet(f,1); repeat blockRead(f,buf,12,nr); if nr>0 then name.Items.Add(buf); blockRead(f,buf,12,nr); blockRead(f,buf,24,nr); until(nr=0); closeFile(f); end; end.
------
大家好 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
===================引 用 文 章=================== var ? frmLogIn: TfrmLogIn; implementation {$R *.dfm} {問題就在这,我可以把一下兩行放在这个地方嗎?) //一下是,聲明變量和函數 ################################################# ??? power.string; ??? function canPass:boolean; ############################################### ?function TfrmLogIn.canPass:boolean; ?var ???? f:file; ???? s1,s2,s3:string[30]; ???? nr:integer; ?begin ===================引 用 文 章=================== 不知你把變數放在這個地方是何因, 在Implementation 下, 一般我們稱為實作段, 也就是實作段的任何宣告都要在實作前先宣告, 你可以放在private 或 public 上, 則這類的宣告是屬於本form的區塊, 一般我們使用時會掛上該form名, 例如 form1.myvar 或者你可放在 implementation 上的 var宣告, 這是一個全堿變數, 當你在其他form引用變數時可以不用指定form來源, 而直接引用myvar 的變數名即可 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |