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

請教如何將RichEdit先填滿字元後,再塞值到特定位置?

尚未結案
eveling
一般會員


發表:2
回覆:5
積分:1
註冊:2004-01-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-15 11:30:06 IP:61.63.xxx.xxx 未訂閱
各位大大: 請問如果RichEdit每行設定100字元,每列設定50字元, 如何先填滿(100*50)個'#'號後,然後再從DB檔案匯入資料到RichEdit中呢?? 例如: 1. DB的內容為: 欄位內容----列(Y)----行(X)----長度 =================================== AAAA--------- 0 ------ 0 ----- 4 BBBBB-------- 2 ------ 2 ----- 5 CC----------- 4 ------ 7 ----- 2 2. RichEdit的內容(以10*5為範例,先填滿特定字元) ########## ########## ########## ########## ########## 3.Load from DB to RichEdit 結果為 AAAA###### ########## ##BBBBB### ########## #######CC# 不曉得這樣解說清楚嗎?麻煩各位大大!
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-16 08:15:58 IP:61.222.xxx.xxx 未訂閱
1.這個區是報表開發討論區,你可能貼錯了 2.建議,最好自己實作看看,不行再問,像這樣類似規格要程式碼的post得到的回應可能會比較少.
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-16 08:23:39 IP:61.222.xxx.xxx 未訂閱
或是你可以將這篇post貼到delphi資料庫區去 那兒的同志可是很樂意寫出完整的程式碼 熱心助人非常大方,相信你應該可以得到好的解答...
Fishman
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-16 09:19:43 IP:210.65.xxx.xxx 未訂閱
Hi:    eveling 以下程式碼請你試試
procedure TForm1.Button22Click(Sender: TObject);
var
    I : Integer;
    S : String;
    SL : TStrings;
begin
    S := '';
    RichEdit1.Clear;
    For I := 1 to 10 do
        begin
            S := S   '#';
        end;
    For I := 1 to 5 do
        begin
            RichEdit1.Text := RichEdit1.Text   S   #13;
        end;
    SL := TStringList.Create;
    SL.Delimiter := #13;
    SL.DelimitedText := RichEdit1.Text;
    ClientDataSet1.CreateDataSet;
    ClientDataSet1.AppendRecord(['AAA',0,0,4]);
    ClientDataSet1.AppendRecord(['BBBBB',2,2,5]);
    ClientDataSet1.AppendRecord(['CC',4,7,2]);
    ClientDataSet1.First;
    WHILE NOT ClientDataSet1.Eof DO
        BEGIN
            TRY
                SL[ClientDataSet1.FieldByName('y').AsInteger] := StuffString(SL[ClientDataSet1.FieldByName('y').AsInteger],ClientDataSet1.FieldByName('x').AsInteger,ClientDataSet1.FieldByName('len').AsInteger,ClientDataSet1.FieldByName('dat').AsString);
            FINALLY
                ClientDataSet1.Next;
            END;
        END;
    RichEdit1.Clear;
    FOR I := 0 TO sl.Count - 1 DO
        BEGIN
            RichEdit1.Text := RichEdit1.Text   SL[I]   #13;
        END;
    SL.Free;
end;
記得必須 USE StrUtils,ClientDataSet1 為模擬資料庫資料用 -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
eveling
一般會員


發表:2
回覆:5
積分:1
註冊:2004-01-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-16 09:34:13 IP:61.63.xxx.xxx 未訂閱
嗯!! 我是個新手,不太會問問題,Sorry!     1. 我的目的是要用RichEdit做報表,所以先在報表討論區SORT, 沒找到結果才發問,沒想到就直接POST到此區,我也不知到底該算哪區???? 2. 我有先試過,用上述方法做時格式會亂掉,所以才POST上來請教各位大大 3. 改成記錄SelStart跟SelLength就可以了    謝謝各位大大!< face='Arial'>
Fishman
尊榮會員


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-16 09:52:52 IP:210.65.xxx.xxx 未訂閱
Hi:    若格式會亂掉,建議使用寬度相等之字型(如細明體)     -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
eveling
一般會員


發表:2
回覆:5
積分:1
註冊:2004-01-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-01-16 10:25:00 IP:61.63.xxx.xxx 未訂閱
謝謝兩位大大!阿里阿豆! 再請教一下,不知RichEdit可否針對SelText的底色做設定呢??? RichEdit1.SelAttributes.?????
Fishman
尊榮會員


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-01-16 14:08:55 IP:210.65.xxx.xxx 未訂閱
Hi:    Sorry,剛剛試了一下,找不到相關屬性可用 -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
eveling
一般會員


發表:2
回覆:5
積分:1
註冊:2004-01-12

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