AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Bestimmte Daten aus txt lesen die durch ; getrennt sind
Thema durchsuchen
Ansicht
Themen-Optionen

Bestimmte Daten aus txt lesen die durch ; getrennt sind

Ein Thema von bronstein · begonnen am 8. Feb 2004 · letzter Beitrag vom 10. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
bronstein

Registriert seit: 3. Feb 2004
28 Beiträge
 
Delphi XE2 Professional
 
#1

Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 14:01
Das steht in der Datei die umgeformt werden soll

Code:
[b]Nachname;Vorname;PLZ;Ort;Tel;
Mueller;Klaus;12454;Salzburg;02349/1234;
Maier;Peter;12344;München;23489/1233;
Mayer;Erwin;12312;Stuttgart;12334/1234; [/b]

Habe schon folgenden Code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var str: string;
begin
   while pos(';',strl.text) > 0 do
     begin
     listbox1.Items.Add(copy(strl.text, 1, pos(';',strl.text)-1));
     str :=strl.text;
     delete(str,1,pos(';',str));
     strl.text := str
   end;
end;
Möchte jetzt aber nur bestimmte Daten in Variablen schreiben (Nachname,Vorname,Tel).
Mit dem oben genannten Code wird nur die kompletten Daten in einer Listbox untereinander geschrieben, wie kann ich jetzt die Daten (Nachname, Vorname, Tel) in eine neue Textdatei schrieben.

[edit=sakura] [delphi]Tags gesetzt. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 14:11
Hi!

Eine Möglichkeit wäre doch nur den 1., 2. und 5. aus der Listbox zu nehmen und dann eben wieder 6., 7. und 10. usw.

Oder?

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Synonym
(Gast)

n/a Beiträge
 
#3

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 14:11
dann übergehe doch einfach die schritte die du nicht brauchst...der code sieht irgendwie nach meinem aus

gruß

synonym
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 14:12
explodeexplode
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Synonym
(Gast)

n/a Beiträge
 
#5

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 14:17
@luckie

meinst du nicht der code ist für dieses kleine beispiel ein wenig zu aufwendig?

der oben genannte code ist viel einfacher und erfüllt genauso seinen zweck..

synonym
  Mit Zitat antworten Zitat
bronstein

Registriert seit: 3. Feb 2004
28 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 15:15
Das muss ich scon mit Code lösen, da dies oben nur ein kleiner Auszug aus der Datei ist. Wie kann ich das jetzt durch Code lösen, mit den Antworten bis jetzt kann ich das nicht. Vielleicht kann mir jemand einen Beispielcode machen.
mfg
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 15:17
Er hat doch gesagt, dass sein Code nicht genau das tut was er will oder? Und explode macht genau das was er will, es zerlegt den String und packt die teile in ein String Array auf das er leicht zugreifen kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#8

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 15:24
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;
var
  zeile: Array[0..10] of string[255];

implementation

{$R *.dfm}

const
sep = ';';

procedure zerlegen(s: string);
var
currentitem:integer;
i: integer;

  procedure nextitem;
  begin
    inc(currentitem);
    zeile[currentitem] := '';
  end;

begin
  currentitem :=-1;
  nextitem;
  for i :=1 to length(s) do
  begin
    if s[i] <> sep then
      zeile[currentitem] := zeile[currentitem] + s[i]
    else
      nextitem;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  memo1.Clear;
  zerlegen(edit1.Text);
  for i:=0 to 10 do memo1.Lines.Add(zeile[i]);
end;

end.
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#9

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 15:48
*grummel* warum antwortet denn niemand wenn man was postet
Power is nothing without TControl
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Bestimmte Daten aus txt lesen die durch ; getrennt sind

  Alt 8. Feb 2004, 15:56
Hallo,
ich habe die Frage als Anregung benutzt und eine kleine Klasse für das Problem gebastelt (siehe strsplit.pas).
Die Klasse TJsStringSplitter verfügt über die Methoden LoadFromFile und LoadFromStream mt denen
die Daten geladen werden. Mit der property FirstLineHasFieldnames kann festgelegt werden, ob
die erste Zeile die Feldnamen enthält. Wenn ja, müssen in DisplayFields die Feldnamen
stehen, die dann angezeigt werden sollen. Über die Items property kann man dan wie folgt auf einen Wert zugreifen:aStr:=FSplitter.Items[1,'Vorname']; aStr enthält dann 'Peter'.

Über die property Values kann über die Angabe des SpaltenIndex und des ZeilenIndex zugeriffen werden.
Angehängte Dateien
Dateityp: zip zip_769.zip (243,0 KB, 24x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz