Ich bin neu in Delphi Codierung und Struggeling in .txt-Dateien lesen. Ich versuche Eingabedaten (Tabbed Doubles) aus einer .txt-Datei zu lesen, in der jede Spalte als Variable (Tag, Temperatur, Druck, ...) betrachtet wird und jede Zeile als Zeitschritt (Stunde) betrachtet wird. Wie kann ich diese Daten in ein Array einlesen, um stündlich mit diesen Variablen zu rechnen (Zeile für Zeile)?Lesen von Double-Daten aus TXT-Dateien in Arrays in Delphi
Vielen Dank für einen Rat!
Eingangsprobe (Doubles in TXT-Datei mit Registerkarten):
1 0.5 0 -12.6 -1.39 100 -19.5 0 3.3
1 1 0 -12.6 -1.43 100 -19.8 0 3.3
1 1.5 0 -12.7 -1.51 99.9 -20.5 0 3.2
Was ich bisher (VCL Formularanwendung):
var // Declaration of variables
Read: TRead;
i:Byte;
data:array of array of Integer; //Creation of dynamic array (adapts --> Setlength() command)
Input:TextFile;
Location:String;
Counter:Integer;
Maximum:Integer;
procedure TRead.Button1Click(Sender: TObject); // Button "Read" command
begin
Location:=Edit1.Text; // Path of inputfile from Form
AssignFile(Input,(Location+'\Test1.txt')); // Assigning inputfile
Reset(Input); // Open for read-write
If (IoResult = 0) Then Begin // If Inputfile reading was succesful...
Counter:=1;
While Not EoF(Input) Do Begin
ReadLn(Input,i);
Data[Counter]:=i;
If EoF(Input) Then Break;
Inc(Counter); //increase 'Counter' by 1
End;
End
Else WriteLn('Error when reading the file')
CloseFile(Input);
End;
Begin
For i:=1 To 10 Do WriteLn(data[i]);
ReadLn;
End.
Bitte senden Sie den Inhalt der txt, oder zumindest eine Probe. –
Seit wann ist -12.7 eine ganze Zahl? –