Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Facharbeit: array abspeichern (https://www.delphipraxis.net/60990-facharbeit-array-abspeichern.html)

Ravager 15. Jan 2006 15:01


Facharbeit: array abspeichern
 
hi,

ich muss im Rahmen meiner Facharbeit zwei arrays abspeichern.
Code:
  data_src_light : Array[0..150,0..150] of Integer;  //Sensorwerte
  data_src_set  : Array[0..150,0..150] of boolean;  //Wert bekannt
am cleversten ist die sache wohl im csv-Tabllenformat, oder?

Gibt es dazu einen Spezialbefehl oder muss ich das Array selbst formatieren?

Wie würde das speichern und öffnen einer solchen Datei ablaufen?

Sorry wegen der Kindergartenfrage, aber ich habe gerade erst mit Delphi angefangen und musst noch nie Dateien schreiben und lesen ^^

brechi 15. Jan 2006 15:11

Re: Facharbeit: array abspeichern
 
Delphi-Quellcode:
var data_src_light : Array[0..150,0..150] of Integer;
var f: file of byte;
begin
  BlockWrite(f,data_src_light,
    SizeOf(data_src_light[0])*length(data_src_light));
sollte nicht sowas in der Art gehen? (jetz nicht wirklich viel drüber nachgedacht)

Ravager 15. Jan 2006 15:26

Re: Facharbeit: array abspeichern
 
hm, mal testen...

und wie lade ich das ganze ding wieder in den Array?

Rastaman 15. Jan 2006 15:30

Re: Facharbeit: array abspeichern
 
Zitat:

Zitat von brechi
Delphi-Quellcode:
var data_src_light : Array[0..150,0..150] of Integer;
var f: file of byte;
begin
  BlockWrite(f,data_src_light,
    SizeOf(data_src_light[0])*length(data_src_light));
sollte nicht sowas in der Art gehen? (jetz nicht wirklich viel drüber nachgedacht)


Zitat:

Zitat von Ravager
hm, mal testen...

und wie lade ich das ganze ding wieder in den Array?

Typisierte Dateien wären empfehlenswerter...

Kinimod8 15. Jan 2006 16:04

Re: Facharbeit: array abspeichern
 
Schau dir mal das hier an. :thumb:

Amateurprofi 15. Jan 2006 19:29

Re: Facharbeit: array abspeichern
 
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

Ravager 18. Jan 2006 15:01

Re: Facharbeit: array abspeichern
 
Danke - das funktioniert prima.

Wenn ich den csv-Import/Export realisieren will, muss ich die Elemente mit ';' trennen.

Gibts da etwas ähnlich einfaches, um die Daten in eine csv-Datei zu schreiben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz