Forum: Datenbanken
Delphi
by MrSpock,
3. Jun 2003
Hallo Bedrock,
ja, zeile ist ein String. Der Fehler liegt in der Deklaration von ein_datei. Diese muss als TextFile und nicht file of char deklariert werden.
Forum: Datenbanken
Delphi
by MrSpock,
3. Jun 2003
Hallo Bedrock,
es die Zeilen sind leider verschwunden :shock: . Jede Zeile wird der Liste "strings" zugewiesen und hinterher wieder überschrieben. Du musst also das Ergebnis der Zerlegung erst wieder in die Tabelle schreiben:
procedure TForm2.Button1Click(Sender: TObject);
var I: Integer;
Strings: TStringArray;
ein_datei:file of char;
begin
Forum: Datenbanken
Delphi
by MrSpock,
2. Jun 2003
Hallo Bedrock,
hast du es mal mit folgendem Code probiert:
var
I: Integer;
Strings: TStringArray;
begin
{ zeile einlesen }
Forum: Datenbanken
Delphi
by MrSpock,
2. Jun 2003
Hallo r_kerber,
dein Code ist der bessere, weil man immer Copy benutzen sollte. Mein Code funktioniert jedoch auch, weil ich auf die interne Struktur eines "normalen Strings" zugreife. zeile liefert tatsächlich einen einzelnen Char und zwar den neuntletzten :mrgreen: .
Forum: Datenbanken
Delphi
by MrSpock,
2. Jun 2003
Hallo Bedrock,
ZerlegeZeile war tatsächlich gemeint als eine von dir noch zu schreibende Funktion, die 2 Parameter übernimmt und einen String zurückgibt:
1. Eine Zeichenkette (string)
2. Eine Ziffer i, die angibt, welches Feld du benötigst
Also nehmen wir einmal die Zeile:
T 100 5 110 0 M1 Automatenfall 0 1 0 0 0
Forum: Datenbanken
Delphi
by MrSpock,
1. Jun 2003
Hallo Bedrock,
dazu liest du die Textdatei mit Readln zeilenweise ein, zerlegst die Zeile in die einzelnen Feldinhalte und weist diese den Tabelle wieder zu, etwa so:
Readln(d, zeile);
myTable.Append;
{ angenommen du hast 10 Felder }
for i := 1 to 10 do
myTable.Fields.AsString := ZerlegeZeile(zeile, i);