TFileStream To OleVariant |
答題得分者是:ha0009
|
woodss
一般會員 ![]() ![]() 發表:13 回覆:24 積分:17 註冊:2003-07-24 發送簡訊給我 |
|
liorex
初階會員 ![]() ![]() 發表:19 回覆:60 積分:32 註冊:2002-08-20 發送簡訊給我 |
我沒有試過可不可行,你可以試試以下的方式
var Fstm : TFileStream ; outole: OleVariant; leng : integer ; s : string ; begin Fstm := TFileStream.Create('C:\WINDOWS\Desktop\t.tif' ,fmShareDenyRead ); try //如何將檔案放入outole Fstm.Position := 0 ; SetLength(s,Fstm.size); Fstm.ReadBuffer(Pointer(s)^,Fstm.Size); Fstm.Position := 0 ; outole := s ; finally Fstm.Free; end---------------------- 一切有為法 如夢幻泡影 如露亦如電 應做如是觀 ---------------------- |
prelude0620
一般會員 ![]() ![]() 發表:3 回覆:4 積分:1 註冊:2003-07-04 發送簡訊給我 |
|
woodss
一般會員 ![]() ![]() 發表:13 回覆:24 積分:17 註冊:2003-07-24 發送簡訊給我 |
|
prelude0620
一般會員 ![]() ![]() 發表:3 回覆:4 積分:1 註冊:2003-07-04 發送簡訊給我 |
以下的範例, 是在下曾經做的
將一個 TClientDataSet, 利用 TStringStream 和編碼
轉為 Delphi 的 string
我想一般檔案, 即使是非純文字檔
應該只要再經過簡單加工即可 var
strm: TStringStream;
str: string;
begin
strm := TStringStream.Create(str); try
// Fcds 是一個 TClientDataSet;
with Fcds do
begin
EmptyDataSet();
Append();
FieldByName('SA').AsString := FSA;
FieldByName('VOLNO').AsString := FVolNo;
FieldByName('SEX').AsString := FSex;
FieldByName('UNTCLOTH').AsString := FUntCloth;
FieldByName('GIVE').AsInteger := FGive;
FieldByName('RANK').AsString := FRank;
FieldByName('ENDDATE').AsString := FEndDate;
Post();
end; Fcds.SaveToStream(strm);
strm.Position := 0;
// Encode_String_HEX 是一位同事寫的, 簡易編碼的 function
Result := Encode_String_HEX(strm.DataString);
finally
if Assigned(strm) then
strm.Free();
end;
|
ha0009
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
你試試吧
![]() ![]() |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |