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

請問PD版主如何解決同一陣列數有相同號碼比對之後同時用陣列秀出?

答題得分者是:P.D.
K1086
初階會員


發表:63
回覆:148
積分:42
註冊:2007-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-05 09:59:12 IP:220.131.xxx.xxx 訂閱
謝謝 P D 版主指導 依照P D 版主的方式 已經解決比對陣列值的個位數,但是還有下列問題沒解決
例如:陣列數 有 19 18 01 37 57 36 56有雙7個位數 (37 57)及雙6個位數 (36 56)
再比對之後才秀出一個 如37 (57就無法秀出) 36秀出 (56就無法秀出)

小弟把片段執行程式 列出 請 P D 版主指導

IF EDT_11.TEXT='AA' THEN
FOR I:=1 TO 7 DO
Show_Lab0.CAPTION:=Show_Lab0.CAPTION NSno_A2[I] ' ';
STTEMP:='19180137573656';
for i:=1 to 7 do
begin
j:=i*2-1;
NSno_A2[i]:=copy(STTEMP,j,2);
end;

//以下是字串轉數字運算---------------
IF EDT_11.TEXT='AA' THEN
for i:=1 to 7 do
begin
KSno_A1[i]:=STRTOINT(NSno_A2[i]);
if KSno_A1[i] mod 10 = VA1 then ---->先比對 VA1 值 (假設 VA1:=7)
Lab_N1.Caption :=(IntTostr(KSno_A1[i]));
if KSno_A1[i] mod 10 = VA2 then ---->再比對 VA2 值 (假設 VA2:=6)
Lab_N2.Caption :=(IntTostr(KSno_A1[i])); ----->問題就是在這只秀一個吻合值,第二個吻合值不秀
end;


P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-06 02:53:40 IP:61.67.xxx.xxx 未訂閱
其實我看不太懂你的寫法, 而且這個寫法也存在很多非理性用法, 我改成如下
procedure TForm1.Button1Click(Sender: TObject);
var i, k, m, n: integer;
vak: array[0..1] of integer; // 將要比對的個位值以陣列存入
NSno_A2: array of string;
sttemp: string;
begin
if EDT_11.Text='AA' Then begin
sttemp:='19180137573656';
// 使用div, 確保取出為整數商值 14/2=商7, 餘 0, 15/2=商7, 餘1
n:= length(sttemp) div 2;
// 設定陣列變數大小, 陣列第一個值是 NSno_A2[0]
setlength(NSno_A2,n);
vak[0]:= 7;
vak[1]:= 6;
Show_Lab0.Caption:= '';
for i:=1 to n do begin
NSno_A2[i-1]:= copy(sttemp,i*2-1,2);
Show_Lab0.Caption:= Show_Lab0.Caption NSno_A2[i-1] ' ';
end;
//以下是字串轉數字運算---------------
Lab_N1.Caption:= ''; // 先清空
for i:=1 to n do begin
// 不清楚為何使用一個陣例值KSno_A1[i]來存放變值
// 另外建議用StringToIntDef()來轉換, 因為 StringToInt()發生錯誤會當出
k:= StrToIntDef(NSno_A2[i-1],0);
//依序比對 ak 值 (假設 ak:=7 or 6)
//因為 k=NSno_A2[i](只是型態不同)
for m:= 0 to length(vak)-1 do
if (k mod 10) = vak[m]
then Lab_N1.Caption:= Lab_N1.Caption ' ' (IntTostr(k));
end;
end;

end; // 這是源頭 begin ... end

另外建議, 如果希望程式能讓其他人一眼就很容易閱讀, 最好有大小寫的用法, 你看看Delphi的procedure , function 提示就很清楚了, 我提供的只是一個做法, 如何美化及加強, 就看你自己, 因為我不知道你要這樣的程式做什麼用途?
編輯記錄
P.D. 重新編輯於 2007-05-06 02:54:56, 註解 無‧
K1086
初階會員


發表:63
回覆:148
積分:42
註冊:2007-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-07 11:04:10 IP:220.131.xxx.xxx 訂閱
謝謝 P D 版主指導 問題解決了,也非常感謝你的教導如何編輯程式 學習者 一定會認真努力 ,在此特別感謝 Ktop 討論區,提供後學者有 如穫至寶 的互動訊息傳遞。深深的向各位指導前輩一鞠躬。
系統時間:2024-05-17 5:17:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!