全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1142
推到 Plurk!
推到 Facebook!

這題Delphi的查詢修改怎麼寫…

 
jkyn
一般會員


發表:3
回覆:2
積分:1
註冊:2006-11-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-11 20:03:40 IP:220.131.xxx.xxx 訂閱
Form裡有StringGrid、四個Button(分別為開始、執行、修改、確定修改)、四個Edit(分別為座號、國文、英文、數學)。
在Form裡寫…
var
i,j:integer;
begin
stdnum:=5;
a[1,1]:=1; a[1,2]:=50; a[1,3]:=60; a[1,4]:=60;
a[2,1]:=2; a[2,2]:=30; a[2,3]:=40; a[2,4]:=50;
a[3,1]:=3; a[3,2]:=70; a[3,3]:=80; a[3,4]:=90;
a[4,1]:=4; a[4,2]:=66; a[4,3]:=77; a[4,4]:=88;
a[5,1]:=5; a[5,2]:=22; a[5,3]:=33; a[5,4]:=44;
a[6,1]:=0; a[6,2]:=0; a[6,3]:=0; a[6,4]:=0;
stringgrid1.Cells[0,0]:='座號';
stringgrid1.cells[1,0]:='國文';
stringgrid1.cells[2,0]:='英文';
stringgrid1.cells[3,0]:='數學';
stringgrid1.cells[4,0]:='平均';
stringgrid1.cells[5,0]:='名次';
stringgrid1.cells[6,0]:='不及格科數';
for i:=1 to stdnum do
for j:=1 to 4 do
stringgrid1.cells[j-1,i]:=Inttostr(a[i,j]);
end;
在開始的Button寫…
var
i,j,k:integer;
begin
for j:=1 to stdnum do
begin
for k:=2 to 4 do
a[j,5]:=a[j,5] a[j,k];
a[j,5]:=a[j,5] div 3;
end;
for j:=1 to stdnum do
a[j,6]:=1;
for j:=1 to stdnum do
for k:=j 1 to stdnum do
begin
if a[j,5]a[j,6]:=a[j,6] 1
else
a[k,6]:=a[k,6] 1;
end;
for j:=1 to stdnum do
for k:=2 to 4 do
begin
if a[j,k]<60 then
a[j,7]:=a[j,7] 1;
end;
for j:=2 to 5 do
begin
for k:=1 to stdnum do
a[stdnum 1,j]:=a[stdnum 1,j] a[k,j];
a[stdnum 1,j]:=a[stdnum 1,j] div stdnum;
end;
for i:=1 to stdnum 1 do
for j:=1 to 7 do
stringgrid1.cells[j-1,i]:=inttostr(a[i,j]);
stringgrid1.cells[0,stdnum 1]:='平均';
end;
問題是…
我要怎麼在輸入座號後按執行Button時,國文、英文、數學會分別呈現在各自的Edit而且是鎖住不讓人修改,而按修改後就可以但座號卻鎖住、在修改所要的分數後按確定修改Button後國文、英文、數學的Edit鎖住而座號的鎖卻打開…
我想了很久了…寫不出來就是寫不出來…那位大大可以幫幫忙…
附加檔案:4555bc1cb10c9_E6-g.rar
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-11-26 15:05:29 IP:211.76.xxx.xxx 未訂閱
1.執行
for i := 1 to 7 do
begin
if a[i,1] = StrToInt(Edit1.Text) then
begin
Edit2.Enabled:=False;
Edit3.Enabled:=False;
Edit4.Enabled:=False;
Edit2.Text:=IntToStr(a[i,2]);
Edit3.Text:=IntToStr(a[i,3]);
Edit4.Text:=IntToStr(a[i,4]);
end;
end;
2.修改
Edit1.Enabled:=False;
Edit2.Enabled:=True;
Edit3.Enabled:=True;
Edit4.Enabled:=True;
3.確定修改
Edit1.Enabled:=True;
Edit2.Enabled:=False;
Edit3.Enabled:=False;
Edit4.Enabled:=False;
StringGrid1.Cells[1,StrToInt(Edit1.Text)]:=Edit2.Text;
StringGrid1.Cells[2,StrToInt(Edit1.Text)]:=Edit3.Text;
StringGrid1.Cells[3,StrToInt(Edit1.Text)]:=Edit4.Text;
BOSS
中階會員


發表:70
回覆:79
積分:64
註冊:2006-11-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-11-26 15:07:50 IP:211.76.xxx.xxx 未訂閱
1.執行
for i := 1 to 7 do
begin
if a[i,1] = StrToInt(Edit1.Text) then
begin
Edit2.Enabled:=False;
Edit3.Enabled:=False;
Edit4.Enabled:=False;
Edit2.Text:=IntToStr(a[i,2]);
Edit3.Text:=IntToStr(a[i,3]);
Edit4.Text:=IntToStr(a[i,4]);
end;
end;
2.修改
Edit1.Enabled:=False;
Edit2.Enabled:=True;
Edit3.Enabled:=True;
Edit4.Enabled:=True;
3.確定修改
Edit1.Enabled:=True;
Edit2.Enabled:=False;
Edit3.Enabled:=False;
Edit4.Enabled:=False;
StringGrid1.Cells[1,StrToInt(Edit1.Text)]:=Edit2.Text;
StringGrid1.Cells[2,StrToInt(Edit1.Text)]:=Edit3.Text;
StringGrid1.Cells[3,StrToInt(Edit1.Text)]:=Edit4.Text;
系統時間:2024-05-19 15:11:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!