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

請教有關使用請教有關DBRichEdit+Query

答題得分者是:hagar
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-18 11:41:51 IP:61.220.xxx.xxx 未訂閱
請問DBRichEdit中,  如何從Query load 到DataField之前呼叫一個解密的function然後再Show 到DBRichEdit中 ====================================================== DBRichEdit1.DataField:='';   QUERY6.SQL.Clear;   QUERY6.SQL.Add('SELECT * FROM V_FILE');   QUery6.CLOSE;   QUery6.OPEN; 這個Function 不知道如何加進去 ST,DEST :TFileStream; EncryptAESStreamECB(ST, 0, Key,DEST); DBRichEdit1.DataField:='DOC_FILE'; 可否請網友指導一下,謝謝!
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-22 18:11:53 IP:61.220.xxx.xxx 未訂閱
請網友幫幫忙 謝謝
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-22 18:34:56 IP:202.39.xxx.xxx 未訂閱
在 Query6 的 AfterScroll 事件中做解密的動作 解密完畢, 再載入至 DBRichEdit 中
procedure TForm1.Query6AfterScroll(DataSet: TDataSet);
var
  ST: TBlobStream;
  DEST: TStream;
begin
  ST := TBlobStream.Create(Query6.FieldByName('Doc_File') as TBlobField, bmRead);
  DEST := TStream.Create;      // 這裏做解密的動作
  EncryptAESStreamECB(ST, 0, Key, DEST);      try
    DBRichEdit1.Lines.LoadFromStream(DEST);
  finally
    DEST.Free;
    ST.Free;
  end;
end;   
--- --<-<-<@
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-23 09:48:40 IP:61.220.xxx.xxx 未訂閱
謝謝版主救了我的小命    ST: TBlobStream;   DEST: TStream;   SIZE : Integer; begin   ST := TBlobStream.Create(Query6.FieldByName('Doc_File') as TBlobField, bmRead);   SIZE:=ST.size;   DEST := TStream.Create; 這裡怪怪的,好像DEST寫不進去 一定要開FILE 才行嗎? Dest := TFileStream.Create('c:\temp.AES', fmCreate); St.ReadBuffer(Size, SizeOf(Size)); DecryptAESStreamECB(ST, St.Size - St.Position, Key, DEST); try DBRichEdit1.Lines.LoadFromStream(DEST); finally DEST.Free; ST.Free;
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-23 10:00:57 IP:202.39.xxx.xxx 未訂閱
DEST 用 TMemoryStream 不行嗎? --- --<-<-<@
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-23 10:32:22 IP:61.220.xxx.xxx 未訂閱
TMemoryStream可以用但是.........   DBRichEdit1.Lines.LoadFromStream(DEST); DBRichEdit1 沒東西SHOW 謝謝hagar版主幫忙
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-07-23 10:45:02 IP:202.39.xxx.xxx 未訂閱
DBRichEdit1.Lines.LoadFromStream(DEST); 在上面這行之前加上 DEST.Position := 0; 試試 --- --<-<-<@
rookie
一般會員


發表:26
回覆:38
積分:12
註冊:2003-04-23

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