Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TSTRINGLIST in ein Array kopieren (https://www.delphipraxis.net/163726-tstringlist-ein-array-kopieren.html)

gallstone 13. Okt 2011 13:06

TSTRINGLIST in ein Array kopieren
 
Hi,

ich möchte folgendes angehen. (bin noob ^^)

Ich habe hier eine Tabelle in einer txt-Datei. Die einzellnen Daten sind durch Tabstops getrennt. Die Zeilenanzahl kann varieren.

Nun habe ich erfolgreich die Datei über den Öffnendialog geladen und kann diese auch in eine Editfeld laden, etc.

Ich möchte das aber gern in einem array (jede Zelle der Tablle ein Platz im Array, kann Text oder Zahl sein) unterbringen um die spätere Auswertung der Datei zu bewerkstelligen.

Nur leider habe ich keine Ahnung wie ich da ran gehen soll.

Wie kann ich die Stringlist in das Array kopieren?

Hoffe mir kann geholfen werden.

Danke im vorraus!

mkinzler 13. Okt 2011 13:10

AW: TSTRINGLIST in ein Array kopieren
 
Warum, auf eine Stringliste kannst du doch auch indiziert zugreifen.

gallstone 13. Okt 2011 13:15

AW: TSTRINGLIST in ein Array kopieren
 
Zitat:

Zitat von mkinzler (Beitrag 1130259)
Warum, auf eine Stringliste kannst du doch auch indiziert zugreifen.

Danke für die schnelle Antwort!

Nach dem Motto einfach die Tabstops suchen?
Ich hatte mir das so vorgestellt

array [1,2]=Auftragsnummer
array [1,3]=Datum
array [2,2]= Auftragsnummer
etc.

Das macht sich ja mit der durch Tabstops getrennten Liste schwieriger, oder nicht? :)

Grüße!

mkinzler 13. Okt 2011 13:22

AW: TSTRINGLIST in ein Array kopieren
 
Delphi-Quellcode:
var
    sl: TStrings;
    ...
begin
  sl := TStringList.Create;
  sl.Delimiter := #9;
  sl.DelimitedText := ...
Danach kannst du per sl[<index>] indiziert zugreifen.

DeddyH 13. Okt 2011 13:24

AW: TSTRINGLIST in ein Array kopieren
 
Je nach Delphi-Version ggf. noch StrictDelimiter auf true setzen, falls Leerzeichen in den Daten vorkommen können.

Bummi 13. Okt 2011 13:33

AW: TSTRINGLIST in ein Array kopieren
 
Wenn Du die Möglichkeit hast ADO zu verwenden kannst Du die Textdatei direkt als Tabelle öffnen....

gallstone 13. Okt 2011 13:33

AW: TSTRINGLIST in ein Array kopieren
 
Zitat:

Zitat von mkinzler (Beitrag 1130264)
Delphi-Quellcode:
var
    sl: TStrings;
    ...
begin
  sl := TStringList.Create;
  sl.Delimiter := #9;
  sl.DelimitedText := ...
Danach kannst du per sl[<index>] indiziert zugreifen.

Hi,

so richtig rall ich das nicht:

sl.Delimiter:=#9;

habe ich eintragen.
was macht s.delimitedtext?

wenn ich jetzt sl[5] mache, dann gibt er mit zum beispiel die 5. zeile aus (komplett, wie man es halt kennt)...

wo hängts bei mir (außer das ich noob bin)?

gallstone 13. Okt 2011 13:35

AW: TSTRINGLIST in ein Array kopieren
 
Zitat:

Zitat von Bummi (Beitrag 1130267)
Wenn Du die Möglichkeit hast ADO zu verwenden kannst Du die Textdatei direkt als Tabelle öffnen....

Hi,

ich habe ADO in der Komponentenleiste.
Ich vermute aber mit meinem noobwissen werde ich da nicht weit kommen ;)

DeddyH 13. Okt 2011 13:38

AW: TSTRINGLIST in ein Array kopieren
 
Markus' Code musst Du je Zeile ausführen, dann sind die einzelnen tab-getrennten Felder die Items der Stringliste.

gallstone 13. Okt 2011 13:57

AW: TSTRINGLIST in ein Array kopieren
 
Zitat:

Zitat von DeddyH (Beitrag 1130271)
Markus' Code musst Du je Zeile ausführen, dann sind die einzelnen tab-getrennten Felder die Items der Stringliste.

ich rall das dennoch nicht.

du sagst also für jede zeile:

Code:
procedure DateiEinlesen(Dateiname:string);
  var sl: TStringList;
      s:string;
      i:integer;
  begin
  sl:=TStringList.Create; //Objekt erzeugen


  try
    sl.LoadFromFile(dateiname); //Datei in Stringliste laden
  finally
    form1.richedit1.Text:=sl.Text;

    for i:=0 to sl.Count-1 do
      Begin
        sl.Delimiter:=#9;
      end;
    sl.free; //Objekt wieder freigeben
  end;

end;
So?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr.
Seite 1 von 3  1 23      

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