![]() |
Facharbeit: array abspeichern
hi,
ich muss im Rahmen meiner Facharbeit zwei arrays abspeichern.
Code:
am cleversten ist die sache wohl im csv-Tabllenformat, oder?
data_src_light : Array[0..150,0..150] of Integer; //Sensorwerte
data_src_set : Array[0..150,0..150] of boolean; //Wert bekannt 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 ^^ |
Re: Facharbeit: array abspeichern
Delphi-Quellcode:
sollte nicht sowas in der Art gehen? (jetz nicht wirklich viel drüber nachgedacht)
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)); |
Re: Facharbeit: array abspeichern
hm, mal testen...
und wie lade ich das ganze ding wieder in den Array? |
Re: Facharbeit: array abspeichern
Zitat:
Zitat:
|
Re: Facharbeit: array abspeichern
Schau dir mal
![]() |
Re: Facharbeit: array abspeichern
Hier hast Du was zum probieren
Delphi-Quellcode:
Gruß, Klaus
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; |
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