請問 QRLabel2 在無資料可秀之下,搬空白值為何還會秀出QRLabel2 ? |
答題得分者是:P.D.
|
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
1.把 QRLabel2 砍掉 換一各新的QRLabel 試試看.
2.如果還是不行,請貼上你的Code TRY TRY SEE ===================引 用 K1086 文 章=================== 請問 各位先進 QRLabel2 在條件判斷無資料可秀,搬空白值之後為何還是秀出 元件名稱:QRLabel2? 因為小弟新手學習報表輸出,碰到這樣問題,請教線上先進前輩教導如何處理讓QRLabel2不要秀出。 ?註:已經把 Caption 清為空白了,還是無效。 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
<textarea class="delphi" rows="10" cols="60" name="code"> ju1:= length(S) div 2;
setlength(VSno,ju1);
for i:=1 to ju1 do begin
VSno[i-1]:= copy(S,i*2-1,2);
end;
Lab_A0.Caption:= ' ';
Lab_A1.Caption:= ' ';
Lab_A2.Caption:= ' ';
Lab_A3.Caption:= ' ';
Lab_A4.Caption:= ' ';
Lab_A5.Caption:= ' ';
Lab_A6.Caption:= ' ';
Lab_A7.Caption:= ' ';
Lab_A8.Caption:= ' ';
Lab_A9.Caption:= ' ';
K1:=0;
for i:=1 to ju1 do begin
IF vak[1]=0 THEN
K1:= StrToIntDef(VSno[i-1],1);
IF vak[1]<>0 THEN
K1:= StrToIntDef(VSno[i-1],0);
for M1:= 0 to length(vak)-1 do
if(k1 mod 10) = vak[M1] Then
begin
if vak[M1] = 1 then
Lab_A1.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A1.Caption:=Lab_A1.Caption;
if vak[M1] <> 1 then
Twn_Anly_RptFm1.QRLab_A1.Caption:=' ';//若不等於1則搬空白
if vak[M1] = 2 then
Lab_A2.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A2.Caption:=Lab_A2.Caption;
if vak[M1] = 3 then
Lab_A3.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A3.Caption:=Lab_A3.Caption;
if vak[M1] = 4 then
Lab_A4.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A4.Caption:=Lab_A4.Caption;
if vak[M1] = 5 then
Lab_A5.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A5.Caption:=Lab_A5.Caption;
if vak[M1] = 6 then
Lab_A6.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A6.Caption:=Lab_A6.Caption;
if vak[M1] = 7 then
Lab_A7.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A7.Caption:=Lab_A7.Caption;
if vak[M1] = 8 then
Lab_A8.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A8.Caption:=Lab_A8.Caption;
if vak[M1] = 9 then
Lab_A9.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A9.Caption:=Lab_A9.Caption;
if vak[M1] = 0 then
Lab_A0.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A0.Caption:=Lab_A0.Caption;
end;
end;</textarea><br />
上傳片段程式 請教先進...
if vak[M1] <> 1 then Twn_Anly_RptFm1.QRLab_A1.Caption:=' ';//若不等於1則搬空白 =====>就是不會空白還是秀出 QRLab_A1 是那裡錯了 |
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
<textarea class="delphi" rows="10" cols="60" name="code"> ju1:= length(S) div 2;
setlength(VSno,ju1);
for i:=1 to ju1 do begin
VSno[i-1]:= copy(S,i*2-1,2);
end;
Lab_A0.Caption:= ' ';
Lab_A1.Caption:= ' ';
Lab_A2.Caption:= ' ';
Lab_A3.Caption:= ' ';
Lab_A4.Caption:= ' ';
Lab_A5.Caption:= ' ';
Lab_A6.Caption:= ' ';
Lab_A7.Caption:= ' ';
Lab_A8.Caption:= ' ';
Lab_A9.Caption:= ' ';
K1:=0;
for i:=1 to ju1 do begin
IF vak[1]=0 THEN
K1:= StrToIntDef(VSno[i-1],1);
IF vak[1]<>0 THEN
K1:= StrToIntDef(VSno[i-1],0);
for M1:= 0 to length(vak)-1 do
if(k1 mod 10) = vak[M1] Then
begin
if vak[M1] = 1 then
Lab_A1.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A1.Caption:=Lab_A1.Caption;
if vak[M1] <> 1 then
Twn_Anly_49RptFm1.QRLab_A1.Caption:=' ';//若不等於1則搬空白
if vak[M1] = 2 then
Lab_A2.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A2.Caption:=Lab_A2.Caption;
if vak[M1] = 3 then
Lab_A3.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A3.Caption:=Lab_A3.Caption;
if vak[M1] = 4 then
Lab_A4.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A4.Caption:=Lab_A4.Caption;
if vak[M1] = 5 then
Lab_A5.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A5.Caption:=Lab_A5.Caption;
if vak[M1] = 6 then
Lab_A6.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A6.Caption:=Lab_A6.Caption;
if vak[M1] = 7 then
Lab_A7.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A7.Caption:=Lab_A7.Caption;
if vak[M1] = 8 then
Lab_A8.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A8.Caption:=Lab_A8.Caption;
if vak[M1] = 9 then
Lab_A9.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A9.Caption:=Lab_A9.Caption;
if vak[M1] = 0 then
Lab_A0.Caption:= FormatFloat('00',K1);
Twn_Anly_49RptFm1.QRLab_A0.Caption:=Lab_A0.Caption;
end;
end;
</textarea><br />
這個片段程式是正確的 請教先進那裡錯了 if vak[M1] <> 1 then Twn_Anly_49RptFm1.QRLab_A1.Caption:=' ';//若不等於1則搬空白 ======>>不等於時 因該是 不會秀出QRLab_A1 但還是秀出.. |
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
.
. for i:=1 to ju1 do begin IF vak[1]=0 THEN K1:= StrToIntDef(VSno[i-1],1); IF vak[1]<>0 THEN K1:= StrToIntDef(VSno[i-1],0); for M1:= 0 to length(vak)-1 do if(k1 mod 10) = vak[M1] Then begin if vak[M1] = 1 then begin Lab_A1.Caption:= FormatFloat('00',K1); Twn_Anly_49RptFm1.QRLab_A1.Caption:=Lab_A1.Caption; end //if vak[M1] <> 1 then else Twn_Anly_RptFm1.QRLab_A1.Caption:=' ';//若不等於1則搬空白 if vak[M1] = 2 then Lab_A2.Caption:= FormatFloat('00',K1); Twn_Anly_49RptFm1.QRLab_A2.Caption:=Lab_A2.Caption; ... 紅色及藍色的修正,試試看^^ |
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
===================引 用 chih 文 章=================== . . for i:=1 to ju1 do? begin IF vak[1]=0? THEN K1:= StrToIntDef(VSno[i-1],1); IF vak[1]<>0 THEN K1:= StrToIntDef(VSno[i-1],0); for M1:= 0 to length(vak)-1 do if(k1 mod 10) = vak[M1] Then begin===========================>>為何這行那掉 就OK了,但會出現警告訊息,程式還是可以執行 if vak[M1] = 1 then begin---------------------------->>>無效 Lab_A1.Caption:= FormatFloat('00',K1); Twn_Anly_49RptFm1.QRLab_A1.Caption:=Lab_A1.Caption; end------------------------------>>>無效 //if vak[M1] <> 1 then else----------------------------->>>無效 Twn_Anly_RptFm1.QRLab_A1.Caption:=' ';//若不等於1則搬空白 if vak[M1] = 2 then Lab_A2.Caption:= FormatFloat('00',K1); Twn_Anly_49RptFm1.QRLab_A2.Caption:=Lab_A2.Caption; ... 紅色及藍色的修正,試試看^^ =======>謝謝 chih 指導 你說加入藍色判斷還是無效,照樣不等於時,還是秀出元件名稱 begin===========================>>為何這行那掉 就OK了,但會出現警告訊息,程式還是可以執行 是否那段語法錯了?? |
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
|
K1086
初階會員 發表:63 回覆:148 積分:42 註冊:2007-04-09 發送簡訊給我 |
===================引 用 P.D. 文 章=================== 你確定你的QRLABLE2的判斷式有被執行到嗎?? 驗證方法,在你的判斷式上改用一個字串取代CAPTION,看看符合條件時是否有印出你指定的字串, 我懷疑程式根本沒有執行判斷式,這是設計上常發生的事 =======>>>謝謝 PD 版主 您的提示,真的是程式根本沒有執行判斷,小弟已經抓到問題了,薑果然是老的辣,(意思不是指您很老啦!所意是您 Delphi 資格夠老夠深啦!) 同時也謝謝各位認真幫小弟找問題,多謝了 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |