Hola Necesito hacer el un porgrama donde guarde en un archivo binario mediante TFileStream la posicion en donde esta quedo por ultimas ves la ventana, y el ancho y largo de la misma, pero al codificarlo me da el siguiente error:
[Pascal Error] Ejercicio3.pas(41): E2036 Variable required
[Pascal Error] Ejercicio3.pas(42): E2036 Variable required
[Pascal Error] Ejercicio3.pas(65): E2197 Constant object cannot be passed as var parameter
[Pascal Error] Ejercicio3.pas(66): E2197 Constant object cannot be passed as var parameter
[Pascal Error] Ejercicio3.pas(67): E2197 Constant object cannot be passed as var parameter
[Pascal Error] Ejercicio3.pas(68): E2197 Constant object cannot be passed as var parameter
[Pascal Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'Ejercicio3.pas'
Les agradeceria mucho si me dicen como hacer para usar bien archivos binarios en este programa.Muchas Gracias
El codigo es el siguiente:
Código:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
Ini : TiniFile;
Binario : TFileStream;
begin
//Con Archivo Ini
// Ini := TiniFile.Create(ExtractFilePath(Application.ExeName) + 'Config.ini');
//Ini.WriteInteger('DIMESION','Ancho',Width);
//Ini.WriteInteger('DIMESION','Alto',Height);
//Ini.WriteInteger('Posicion','Izquierdo',Left);
//Ini.WriteInteger('Posicion','Superior',top);
//Ini.free;
//Con Archivo Binario
Binario := TFileStream.Create(ExtractFilePath(Application.ExeName) + 'Config.dat',fmCreate);
Binario.Write(Left,sizeof(integer));
Binario.Write(Top,sizeof(integer));
Binario.Write(Width,sizeof(integer));
Binario.Write(Height,sizeof(integer));
Binario.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Ini : TiniFile;
Binario : TFileStream;
begin
//Con Archivo Ini
//Ini := TiniFile.Create(ExtractFilePath(Application.ExeName) + 'Config.ini');
//Width := Ini.ReadInteger('DIMESION','Ancho',0);
//Height := Ini.ReadInteger('DIMESION','Alto',0);
//Left := Ini.ReadInteger('Posicion','Izquierdo',0);
//Top := Ini.ReadInteger('Posicion','Superior',0);
//Ini.free;
//Con Archivo Binario
Binario := TFileStream.Create(ExtractFilePath(Application.ExeName) + 'Config.dat',fmOpenRead);
while Binario.Position < Binario.Size do
begin
Left := Binario.Read(Left ,sizeof(integer));
Top := Binario.Read(Top ,sizeof(integer));
Width :=Binario.Read(Width ,sizeof(integer));
Height := Binario.Read(Height ,sizeof(integer));
end;
Binario.Free;
end;