关于dephi如何操作word的问题 |
答題得分者是:careychen
|
lwd188
一般會員 ![]() ![]() 發表:13 回覆:33 積分:9 註冊:2005-02-11 發送簡訊給我 |
[code delphi] 請在此區域輸入程式碼 [/code] procedure TForm3.SpeedButton7Click(Sender: TObject); var MemSize: Integer; Buffer: PChar; MyFile: TFileStream; Stream: TBlobStream; begin OpenDialog1.Filter:='WORD文档(*.DOC)|*.DOC' ;{从对话窗选择文件} if OpenDialog1.Execute then begin MyFile:=TFileStream.Create (OpenDialog1.FileName,fmOpenRead); with Q_shijuan do {‘table1’为含BLOB字段的表名} begin Open; Edit; Stream := TBlobStream.Create(FieldByName('Doc') as TBlobField, bmWrite); {‘Doc’为BLOB字段名} MemSize := MyFile.Size; Inc(MemSize); {Make room for the buffer's null terminator.} Buffer := AllocMem(MemSize); {Allocate the memory.} try Stream.Seek(0, soFromBeginning); {Seek 0 bytes from the stream's end point} MyFile.Read(Buffer^,MemSize); Stream.Write(Buffer^,MemSize); finally MyFile.Free; Stream.Free; end; try Post; except halt; end; end; OleContainer3.CreateObjectFromFile (OpenDialog1.FileName,False); OleContainer3.Run;{Doc_ole为ToleContainer构件名} end; end; 以上是原代码,用的是interbase数据库,想实现把word数据传到数据库里,但执行后,总出现'InValid class typecast'的错误提示,请各位前辈指点,万分感谢! |
careychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
hi,您的標題跟您的內文問的似乎不大一樣
如果您是想問如何將 Word 存入資料庫內的話,您原本寫的方式就比較複雜了一點,下面是改寫您的程式, 簡化後的結果,參考看看 [code delphi] procedure TForm3.SpeedButton7Click(Sender: TObject); begin OpenDialog1.Filter:='WORD文档(*.DOC)|*.DOC';{从对话窗选择文件} if OpenDialog1.Execute then begin with Q_shijuan do {‘table1’为含BLOB字段的表名} try Open; Edit; TBlobField(FieldByName('Doc')).LoadFromFile(OpenDialog1.FileName); Post; Close; except halt; end; OleContainer3.CreateObjectFromFile(OpenDialog1.FileName,False); OleContainer3.Run;{Doc_ole为ToleContainer构件名} end; end; [/code]
------
價值的展現,來自於你用哪一個角度來看待它!!
編輯記錄
careychen 重新編輯於 2008-10-12 21:47:09, 註解 無‧
|
lwd188
一般會員 ![]() ![]() 發表:13 回覆:33 積分:9 註冊:2005-02-11 發送簡訊給我 |
|
careychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
|
lwd188
一般會員 ![]() ![]() 發表:13 回覆:33 積分:9 註冊:2005-02-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |