Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.085 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Facharbeit: array abspeichern

  Alt 15. Jan 2006, 20:29
Hier hast Du was zum probieren


Delphi-Quellcode:
const dsn='Hugo.dat';
var data_src_light : Array[0..150,0..150] of Integer; //Sensorwerte
    data_src_set : Array[0..150,0..150] of boolean; //Wert bekannt

PROCEDURE TMain.Test;
var f:file; i,j,count:integer;
begin
   // Nur zum Test ob das so funktioniert
   FillChar(data_src_light,SizeOf(data_src_light),1);
   FillChar(data_src_set,SizeOf(data_src_set),1);

   // Schreiben
   AssignFile(f,dsn);
   Rewrite(f,1);
   BlockWrite(f,data_src_light,SizeOf(data_src_light),count);
   if count<>SizeOf(data_src_light) then begin
       // Fehlerbehandlung
   end;
   BlockWrite(f,data_src_set,SizeOf(data_src_set),count);
   if count<>SizeOf(data_src_set) then begin
       // Fehlerbehandlung
   end;
   CloseFile(f);

   // Lesen
   AssignFile(f,dsn);
   Reset(f,1);
   BlockRead(f,data_src_light,SizeOf(data_src_light),count);
   if count<>SizeOf(data_src_light) then begin
       // Fehlerbehandlung
   end;
   BlockRead(f,data_src_set,SizeOf(data_src_set),count);
   if count<>SizeOf(data_src_set) then begin
       // Fehlerbehandlung
   end;
   CloseFile(f);

   // Kontrolle ob schreiben/lesen funktionierte
   for i:=0 to 150 do
      for j:=0 to 150 do begin
         if data_src_light[i,j]<>$01010101 then begin
            ShowMessage('Fehler : data_src_light '+IntToStr(i)+', '+IntToStr(j));
            exit;
         end;
         if not data_src_set[i,j] then begin
            ShowMessage('Fehler : data_src_set '+IntToStr(i)+', '+IntToStr(j));
            exit;
         end;
      end;

   ShowMessage('Korrekt geschrieben und gelesen.');
end;
Gruß, Klaus
  Mit Zitat antworten Zitat