Вобщем, такая проблема. В данной проге я пытаюсь сделать следующее: при нажатии на одну кнопку текст из TEdit заносится в файл. При нажатии на другую кнопку текст, наоборот, читается из файла и заносится в TEdit. И вроде работает, но при чтении в Edit записывается не тот текст, который я вводил ранее, а какие-то каракули. Кто нибудь может подсказать, как исправить? Исходники прилагаются (код см. ниже + архив см. в аттачменте).
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
tf: TFileStream;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
tf:=TFileStream.Create('1.trololo',fmCreate);
tf.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var s: string;
begin
s:=Edit1.Text;
tf:=TFileStream.Create('1.trololo',fmOpenWrite);
tf.Write(s,SizeOf(s));
tf.Free;
end;
procedure TForm1.Button3Click(Sender: TObject);
var s: string;
begin
tf:=TFileStream.Create('1.trololo',fmOpenRead);
tf.Seek(0,soFromBeginning);
tf.Read(s,SizeOf(s));
Edit1.Text:=s;
tf.Free;
end;
end.
ЗЫ. Возможно, надо что-то намутить с указателями, но я не знаю, что именно...