全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1054
推到 Plurk!
推到 Facebook!

将TCOMPONENT属性保存为二进制文件,读入时出错!

尚未結案
xiaoning79627
初階會員


發表:46
回覆:60
積分:26
註冊:2002-11-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-14 19:19:32 IP:218.16.xxx.xxx 未訂閱
将TCOMPONENT属性保存为二进制文件,读入时出错! 程式如下:
[code]
procedure TForm1.load;
var
  F:TFileStream;
  BStream:TMemoryStream;
  i:Integer;
  Path:String;
begin
  Path:=ExtractFilePath(ParamStr(0)) 'data.dat';
  if FileExists(path) then
   try
   f:=TFileStream.Create(path,fmopenRead);
   BStream:=TMemoryStream.Create;
    ObjectTextToBinary(F,BStream);
    BStream.Seek(0, soFromBeginning);
 //   BStream.ReadComponent(nil);  这句该怎么写?
   finally
    f.free;
    BStream.Free;
   end;
end;    procedure TForm1.save;
var
  f:TFileStream;
  f1:TMemoryStream;
  path:string;
  i:integer;
begin
  path:=ExtractFilePath(ParamStr(0)) 'data.dat';
  f1:=TMemoryStream.Create;
  f:=TFileStream.Create(path,fmcreate);
  try
    for i:=0 to Self.ComponentCount-1 do
    begin
      f1.WriteComponent(Self.Components[i]);
    end;
     f1.Position:=0;
    ObjectBinaryToText(f1,f);
  finally
   f.Free;
   f1.Free;
  end;
end;    procedure TForm1.FormCreate(Sender: TObject);
begin
  load;
end;    procedure TForm1.FormDestroy(Sender: TObject);
begin
  save;
end;
请各位大侠指教!!! 發表人 - xiaoning79627 於 2003/06/14 20:31:41 [Justmade 註 : 加上 Code 字眼使更易閱讀] 發表人 - Justmade 於 2003/06/14 20:33:26 發表人 - xiaoning79627 於 2003/06/14 21:46:21
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-14 20:43:30 IP:218.16.xxx.xxx 未訂閱
1. 我自己覺得時機上放在 onShow 及 onClose 應會好點 2. 你好像寫太複雜了,請先參考 ccchen 大師的教學 : http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25152 若還有問題請題出再幫你看。
xiaoning79627
初階會員


發表:46
回覆:60
積分:26
註冊:2002-11-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-14 21:25:20 IP:218.16.xxx.xxx 未訂閱
引言: 1. 我自己覺得時機上放在 onShow 及 onClose 應會好點 2. 你好像寫太複雜了,請先參考 ccchen 大師的教學 : http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25152 若還有問題請題出再幫你看。
我想保存所有控件的属性,并动态加载啊!! 请问有什么好的方法吗? 先谢了!!
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-14 21:38:10 IP:218.16.xxx.xxx 未訂閱
對象是 Form 便會所有元件都 記下了不用自己每個來 不過 Load 時會重新建立元件變成元件名重覆,我也不知有甚麼解決方法,因為我是自己寫元件來 save / load 的所以我也懶得再找方法,看看別人有沒好的建議罷。
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-19 15:37:00 IP:218.1.xxx.xxx 未訂閱
看看 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=31260 =============== 久病成良医-多试
------
江上何人初见月,江月何年初照人
系統時間:2024-11-25 12:28:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!