C++
TSearchShablon *SS=new TSearchShablon;
FILE *file;
QString st=TemporDir+sDir+Oldstr;
if((file=fopen(st.toAscii().data(),"wb"))==NULL){}else{
fwrite(SS,sizeof(TSearchShablon),1,file);fclose(file);запишем за 1 раз sizeof(TSearchShablon) байт
TSearchShablon *SS=new TSearchShablon;
FILE *file;
QString st=TemporDir+sDir+lvShablons->selectedItems().at(0)->text(0);
if((file=fopen(st.toAscii().data(),"rb"))==NULL){}else{
fread(SS,sizeof(TSearchShablon),1,file);fclose(file);считаем за 1 раз sizeof(TSearchShablon) байт
Delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Edit1: TEdit;
Button2: TButton;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type //Эту структуру запишем в файл (string[255]) строкам назначим длину, иначе эти переменные будут как
TSerch =record //указатели и в файл запишутся адресса тех мест куда они указывали (будут глюки Ж))
aa:string[255];
bb:string[255];
end;
type PSerch=^TSerch;
procedure showser(mem:TMemo;ss:TSerch);
procedure save(st:String;ss:TSerch);
procedure load(st:String;var ss:TSerch);
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure showser(mem:TMemo;ss:TSerch);
begin
mem.Clear;
mem.Lines.Add(ss.aa);
mem.Lines.Add(ss.bb);
end;
procedure save(st:String;ss:TSerch);
var
f:file;
begin
//if(ss=nil)then exit;
Assign(f,st);
ShowMessage(InttoStr(sizeof(ss)));
ShowMessage(InttoStr(sizeof(TSerch)));
rewrite(f,sizeof(TSerch));//за один раз записывать sizeof(TSerch) байт
blockwrite(f,ss,1);//пишем из ss 1 раз
closefile(f);
end;
procedure load(st:String;var ss:TSerch);
var
f:file;
begin
//if(ss=nil)then exit;
Assign(f,st);
// new(ss);
{$I-}
reset(f,sizeof(TSerch));//за один раз считываем sizeof(TSerch) байт
{$I+}
if IOResult = 0 then ShowMessage('IOResult = 0') else ShowMessage('NOT');
ShowMessage(InttoStr(sizeof(ss)));
ShowMessage(InttoStr(sizeof(TSerch)));
try
blockread(f,ss,1);//считываем 1 раз в ss
except
showMessage('Ioeaea n?eouaaiey');
end;
showMessage(ss.aa);
closefile(f);
end;
procedure TForm1.Button1Click(Sender: TObject);
var ss:TSerch;
begin
//new(ss);
ss.aa:=Edit2.Text;
ss.bb:=Edit3.Text;
showser(self.Memo1,ss);
save(Edit1.Text,ss);
end;
procedure TForm1.Button2Click(Sender: TObject);
var ss:TSerch;
begin
// new(ss);
load(Edit1.Text,ss);
showser(self.Memo1,ss);
end;
end.