AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TSTRINGLIST in ein Array kopieren

Ein Thema von gallstone · begonnen am 13. Okt 2011 · letzter Beitrag vom 21. Okt 2011
Antwort Antwort
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 13:22
Delphi-Quellcode:
var
    sl: TStrings;
    ...
begin
  sl := TStringList.Create;
  sl.Delimiter := #9;
  sl.DelimitedText := ...
Danach kannst du per sl[<index>] indiziert zugreifen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#2

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 13:24
Je nach Delphi-Version ggf. noch StrictDelimiter auf true setzen, falls Leerzeichen in den Daten vorkommen können.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 13:33
Wenn Du die Möglichkeit hast ADO zu verwenden kannst Du die Textdatei direkt als Tabelle öffnen....
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
gallstone

Registriert seit: 27. Jul 2005
34 Beiträge
 
#4

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 13:35
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#5

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 13:38
Markus' Code musst Du je Zeile ausführen, dann sind die einzelnen tab-getrennten Felder die Items der Stringliste.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
gallstone

Registriert seit: 27. Jul 2005
34 Beiträge
 
#6

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 13:57
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?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 14:05
eher so
Delphi-Quellcode:
dl : tstringlist;
...
dl:=tstringlist.create;
for i:=0 to sl.count-1 do begin
 dl.clear;
 dl.delimitedtext:=sl[i];
 for j:=0 to dl.count do
  array[x,j]:=dl[j];
end;
(ohne gewähr, das nutze ich seltenst bis überhaupt nicht)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#8

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 14:08
Ohne Fehlerbehandlung und ungetestet:
Delphi-Quellcode:
procedure DateiEinlesen(const Dateiname: string);
var
  LineList, FieldList: TStrings;
  i, j: integer;
begin
  //Zeilen
  LineList := TStringlist.Create;
  try
    LineList.LoadFromFile(Dateiname);
    //Felder
    FieldList := TStringlist.Create;
    try
      FieldList.Delimiter := #9;
      FieldList.StrictDelimiter := true;
      for i := 0 to LineList.Count - 1 do
        begin
          //Zeile in Felder zerlegen
          FieldList.DelimitedText := LineList[i];
          //...und durchgehen
          for j := 0 to FieldList.Count - 1 do
            (* etwas mit dem Feld tun *)
        end;
    finally
      FieldList.Free;
    end;
  finally
    LineList.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
gallstone

Registriert seit: 27. Jul 2005
34 Beiträge
 
#9

AW: TSTRINGLIST in ein Array kopieren

  Alt 13. Okt 2011, 13:33
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)?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 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