線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1305
推到 Plurk!
推到 Facebook!

CheckListBox問題?

尚未結案
chubby
一般會員


發表:43
回覆:65
積分:21
註冊:2003-05-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-20 18:30:06 IP:220.135.xxx.xxx 未訂閱
for i:=0 to CheckListBox.Items.Count-1 do begin if CheckListBox.State[i] = cbchecked then begin Case i of 0:QuickRep1.Preview; // showmessage('11111'); 1:QuickRep2.Preview; // showmessage('22222'); 2:QuickRep3.Preview; // showmessage('3333'); 3:QuickRep4.Preview; // showmessage('4444'); 4:QuickRep4.Preview; 5:QuickRep4.Preview; 6:QuickRep4.Preview; end; CheckListBox.State[i]:=cbUnchecked; end; end; 可多重勾選列印表,選2項正常,大於2時還是只預覽2項第3項以後都不預覽 不知為何? 如果 測式 Case i of 0:showmessage('11111'); 1:showmessage('22222'); 2:showmessage('3333'); 3:showmessage('4444'); 4:showmessage('5555'); 5:showmessage('6666'); 6:showmessage('7777'); end; 則沒有問題,不知何?
huwk
資深會員


發表:26
回覆:340
積分:323
註冊:2002-04-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-21 00:30:53 IP:211.76.xxx.xxx 未訂閱
1.會不會是你報表本身的問題? 2.為什麼你3之後都是QUICKREP4.PREVIEW? 你要不要試著改成在PREVIEW前後都SHOW出訊息呢? 例如0!
Case i of
  0:
    BEGIN
      SHOWMESSAGE('START 1');
      QuickRep1.Preview; 
      SHOWMESSAGE('END 1');
    END;
  1:QuickRep2.Preview; 
  2:QuickRep3.Preview; 
  3:QuickRep4.Preview; 
  4:QuickRep4.Preview;
  5:QuickRep4.Preview;
  6:QuickRep4.Preview;
end;    
------
熊的學習 http://huwk.blogspot.com
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-21 08:52:51 IP:210.65.xxx.xxx 未訂閱
Hi chubby ,    1.Check AfterPreview event for all Quick Report !!    2.Modify you codes
procedure TForm1.Button1Click(Sender: TObject);
var
  i,c : integer;
begin
  c := 0;
  for i:=0 to CheckListBox1.Items.Count-1 do
    begin
      if CheckListBox1.State[i] = cbchecked then
        begin
          Inc(c);
          Case i of
            0:showmessage('11111');
            1:showmessage('22222');
            2:showmessage('33333');
            3:showmessage('44444');
            4:showmessage('55555');
            5:showmessage('66666');
            6:showmessage('77777');
          end;
          CheckListBox1.State[i] := cbUnchecked;
          if c >= 2 then exit;
        end;
    end;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
chubby
一般會員


發表:43
回覆:65
積分:21
註冊:2003-05-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-21 09:43:33 IP:220.135.xxx.xxx 未訂閱
引言: 1.會不會是你報表本身的問題? QuickRep1 - 7 很單純 A4 公文式 Report (Case ...end;共18個可選多重列印單張報表,不管我點選18項任何3項以上多只可預覽2個第3個以後不在預覽)? [/code] 抱歉應是QuickRep75,6,7
發表人 - chubby 於 2005/01/21 09:48:51
chubby
一般會員


發表:43
回覆:65
積分:21
註冊:2003-05-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-21 09:59:40 IP:220.135.xxx.xxx 未訂閱
引言: Hi chubby , 1.Check AfterPreview event for all Quick Report !! 2.Modify you codes
procedure TForm1.Button1Click(Sender: TObject);
var
  i,c : integer;
begin
  c := 0;
  for i:=0 to CheckListBox1.Items.Count-1 do
    begin
      if CheckListBox1.State[i] = cbchecked then
        begin
          Inc(c);
          Case i of
            0:showmessage('11111');
            1:showmessage('22222');
            2:showmessage('33333');
            3:showmessage('44444');
            4:showmessage('55555');
            5:showmessage('66666');
            6:showmessage('77777');
          end;
          CheckListBox1.State[i] := cbUnchecked;
          if c >= 2 then exit;
        end;
    end;
end;
謝謝 >< face="Verdana, Arial, Helvetica">
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-21 10:46:14 IP:210.65.xxx.xxx 未訂閱
Hi chubby,    Sorry !! 誤解你的意思了!!    1.Trace 一下你的程式,確認有執行 QuickRepx.Preview 動作    2.檢查一下所有 Quick Report 的 OnPreview 事件,確定程式碼是正確或是無任何程式碼     ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
chubby
一般會員


發表:43
回覆:65
積分:21
註冊:2003-05-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-01-21 11:06:47 IP:220.135.xxx.xxx 未訂閱
引言: for i:=0 to CheckListBox.Items.Count-1 do begin // ?? if CheckListBox.State[i] = cbchecked then begin // ?? 如果把此行 // 每張報表可以預覽,所以應不是Quickrep問題, CheckListBox.State[i] = cbchecked 為何run 2個 Quickrep 後第3勾選就不 執行 ? 我另外測單純 QuickRep(1) 至(6) 每個只有一個 QRLabel if CheckListBox.State[i] = cbchecked then begin // ?? case i of ..... 就無問題? 真奇怪? 是否 QuickRep4.Preview 之後如何把它Free ? 是否暫記憶體? 想不透 ? 是否有人遇到我這樣問題? 另說明: 測式一: if CheckListBox.State[i] = cbchecked then begin // ?? showmessage(inttostr(i)) // run 第2個正常,第3個以後它就不秀 case i of 0:QuickRep1.Preview; 1:QuickRep2.Preview; 2:QuickRep3.Preview; 3:QuickRep4.Preview; 4:QuickRep5.Preview; 5:QuickRep6.Preview; 6:QuickRep7.Preview; 測式二: if CheckListBox.State[i] = cbchecked then begin // ?? showmessage(inttostr(i)) // run 正常 case i of 0:showmessage('11111'); 1:showmessage('2222'); 2:showmessage('33333'); 3:showmessage('4444'); 4:showmessage('5555'); 5:showmessage('6666'); 6:showmessage('7777'); Case i of 0:QuickRep1.Preview; // showmessage('11111'); 1:QuickRep2.Preview; // showmessage('22222'); 2:QuickRep3.Preview; // showmessage('3333'); 3:QuickRep4.Preview; // showmessage('4444'); 4:QuickRep5.Preview; 5:QuickRep6.Preview; 6:QuickRep7.Preview; end; CheckListBox.State[i]:=cbUnchecked; end; end; 可多重勾選列印表,選2項正常,大於2時還是只預覽2項第3項以後都不預覽 不知為何? 如果 測式 Case i of 0:showmessage('11111'); 1:showmessage('22222'); 2:showmessage('3333'); 3:showmessage('4444'); 4:showmessage('5555'); 5:showmessage('6666'); 6:showmessage('7777'); end; 則沒有問題,不知何? 發表人 - chubby 於 2005/01/21 09:46:21
chubby
一般會員


發表:43
回覆:65
積分:21
註冊:2003-05-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-01-21 11:28:43 IP:220.135.xxx.xxx 未訂閱
我已找到問題謝謝您们
系統時間:2024-05-14 3:03:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!