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

修改檔案後,要如何傳出去?

答題得分者是:wzwcn
tokiama
一般會員


發表:34
回覆:60
積分:23
註冊:2009-04-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-06-27 22:21:47 IP:125.231.xxx.xxx 訂閱
請問一下,修改檔案可以用哪一些函式?對函式不是很清處。

標題的意思就是,我把檔案的資料抓到Delphi裡,在Delphi裡做了修改後。

我要怎麼讓我修改後的地方存到外面的檔案裡?

用 SaveToFile 嗎?這個好像只有對 RichEdit 有用?

請各位指點一下方向,謝謝。


wzwcn
一般會員


發表:0
回覆:5
積分:6
註冊:2010-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-06-27 23:23:23 IP:125.39.xxx.xxx 訂閱
主要看你用什么来编辑,比如用TMemo可以用Memo.lines.SaveToFile保存成文本文档
------
今天真是,我喜欢今天...
tokiama
一般會員


發表:34
回覆:60
積分:23
註冊:2009-04-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-06-28 12:40:59 IP:120.107.xxx.xxx 訂閱
嗯...我沒用元件,我是用 Stream 來讀檔案的。

Stream 要怎麼在匯出成檔案?

我的 Stream 是在讀二位元那類資料。
wzwcn
一般會員


發表:0
回覆:5
積分:6
註冊:2010-06-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-06-28 16:29:52 IP:125.39.xxx.xxx 訂閱
哦,那可以用TFileStream
------
今天真是,我喜欢今天...
編輯記錄
wzwcn 重新編輯於 2010-06-28 16:31:00, 註解 無‧
tokiama
一般會員


發表:34
回覆:60
積分:23
註冊:2009-04-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-06-28 23:06:02 IP:125.231.xxx.xxx 訂閱
匯出去後檔案怪怪的...

單純匯文字檔可以,但是改過檔頭在匯出去後會開不起來說。
tokiama
一般會員


發表:34
回覆:60
積分:23
註冊:2009-04-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-07-03 12:02:10 IP:125.231.xxx.xxx 訂閱
小弟去尋找了一下,最後得到的結果是用 TFileStream.Create ,但是出來的檔案都是0KB。

請問一下各位,小弟是哪裡用錯,還是搞錯用法?

以下是自己打的。

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var FStream:TFileStream;
begin
if OpenDialog1.Execute=True then begin
FStream:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
FStream:=TFileStream.Create('F:\000.txt',fmopenwrite or fmcreate);
FStream.Free;
end;
end;

[/code]

wzwcn
一般會員


發表:0
回覆:5
積分:6
註冊:2010-06-27

發送簡訊給我
#7 引用回覆 回覆 發表時間:2010-07-03 17:11:56 IP:123.103.xxx.xxx 訂閱
  1. var FStream:TFileStream;
  2. begin
  3. if OpenDialog1.Execute=True then begin
  4. FStream:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
  5. FStream.Write(....);//写入内容
  6. FStream.Free;
  7. end;
  8. end;
------
今天真是,我喜欢今天...
tokiama
一般會員


發表:34
回覆:60
積分:23
註冊:2009-04-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2010-07-04 00:25:03 IP:125.231.xxx.xxx 訂閱
FStram.write( Const Buffer , Const Integer ) ;

用這屬性是不是要把緩衝的位置給它?後面的常數整數指的是檔案的大小?FStream.size ?

===================引 用 wzwcn 文 章===================
  1. varFStream:TFileStream;
  2. begin
  3. ifOpenDialog1.Execute=Truethenbegin
  4. FStream:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
  5. FStream.Write(....);//写入内容
  6. FStream.Free;
  7. end;
  8. end;
tokiama
一般會員


發表:34
回覆:60
積分:23
註冊:2009-04-19

發送簡訊給我
#9 引用回覆 回覆 發表時間:2010-07-04 00:51:00 IP:125.231.xxx.xxx 訂閱
小弟成功了!多謝 wzwcn 一直耐心的回答小弟的問題。

以下是最後成功的結果:
[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var FS1,FS2: TFileStream;
MBuffer: TMemoryStream;
begin
if OpenDialog1.Execute=True then begin
FS1:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
FS2:=TFileStream.Create('C:\Documents and Settings\Administrator\桌面\DW\NEW.txt',fmCreate);
try
FS2.CopyFrom(FS1,FS1.Seek(0,soFromBeginning));
finally
FS1.Free;
FS2.Free;
end;
end;
end;

[/code]可是還是有一些東西不懂那是什麼,像是 soFromBeginning 這個東西是什麼?Seek是指定檔案內的的範圍嗎?

如果不麻煩的話可以解釋一下給小弟聽嗎?看大家就是這樣用,但是不知為什麼。
heart75047
一般會員


發表:9
回覆:13
積分:19
註冊:2010-05-20

發送簡訊給我
#10 引用回覆 回覆 發表時間:2010-07-04 10:42:31 IP:111.252.xxx.xxx 訂閱

3、Seek:此方法實現流中讀取指針的移動。函數原形為:
Function Seek(Offset:Longint;Origint:Word):Longint;virtual;abstract;
參數Offset為偏移字節數,參數Origint指出Offset的實際意義,其可能的取值如下:
soFromBeginning:Offset為移動後指針距離數據開始的位置。此時Offset必須大於或者等於零。
soFromCurrent:Offset為移動後指針與當前指針的相對位置。
soFromEnd:Offset為移動後指針距離數據結束的位置。此時Offset必須小於或者等於零。該方法返回值為移動後指針的位置。

可以參考http://delphi.ktop.com.tw/board.php?cid=31&fid=77&tid=21606

===================引 用 tokiama 文 章===================
小弟成功了!多謝 wzwcn 一直耐心的回答小弟的問題。

以下是最後成功的結果:
[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var FS1,FS2: TFileStream;
MBuffer: TMemoryStream;
begin
if OpenDialog1.Execute=True then begin
FS1:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
FS2:=TFileStream.Create('C:\Documents and Settings\Administrator\桌面\DW\NEW.txt',fmCreate);
try
FS2.CopyFrom(FS1,FS1.Seek(0,soFromBeginning));
finally
FS1.Free;
FS2.Free;
end;
end;
end;

[/code]可是還是有一些東西不懂那是什麼,像是 soFromBeginning 這個東西是什麼?Seek是指定檔案內的的範圍嗎?

如果不麻煩的話可以解釋一下給小弟聽嗎?看大家就是這樣用,但是不知為什麼。
tokiama
一般會員


發表:34
回覆:60
積分:23
註冊:2009-04-19

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