AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Bestimmte Strings aus einer Datei in StringGrid einlesen

Bestimmte Strings aus einer Datei in StringGrid einlesen

Ein Thema von pp-deluxe · begonnen am 7. Apr 2006 · letzter Beitrag vom 18. Apr 2006
Antwort Antwort
Seite 2 von 2     12
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 13:47
wenn das data ist: 23:13:24.44122112 PP:2 PP2:3 xD LOL VLC/VXX = 150/77

Delphi-Quellcode:
teil1 := copy(data,1,pos('xD',data)));
teil2 := copy(data,pos('LOL',data)+3,pos('=',data)));
wie die ganze Datei gelesen wird, steht schon im letzten post von mir.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 7. Apr 2006, 14:05
um dich ein wenig mehr zu verwirren ;o)
es gibt mehrere Möglichkeiten die Daten zu laden
hier eine weitere:

Delphi-Quellcode:
procedure readData;
var
  sl: TStringlist;
  i : Integer;
begin

   sl:= TStringlist.Create;

  // datei einlesen
  if FileExists('rofl.txt') then
    sl.LoadFromFile('rofl.txt');

   for i:= 0 to sl.Count-1 do
     begin
       // Datenverarbeitung;
       // sl.Strings[i]

     end;

   sl.Free;
end;
Grüße
Klaus

[edit] ein wenig am Code geändert [/edit]
Klaus
  Mit Zitat antworten Zitat
pp-deluxe

Registriert seit: 7. Apr 2006
10 Beiträge
 
#13

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 18. Apr 2006, 11:37
Servus,

danke für eure Hilfe,
hier ist der aktuelle Quelltext
Code:
procedure TForm1.Button1Click(Sender: TObject);
var sl: TStringlist;
Teilstring: String;
teil1, teil2: String;
  i : Integer;
begin
sl:= TStringlist.Create;
     try
        if Opendialog1.execute then
           begin
           sl.LoadFromFile(Opendialog1.Filename);
           Teilstring := sl[1];
           label1.caption := Teilstring;
           teil1 := copy(Teilstring,1,pos('xD',Teilstring)));
           teil2 := copy(Teilstring,pos('LOL',data)+3,pos('=',Teilstring)));

           for i:= 0 to sl.Count-1 do
               begin
               // Datenverarbeitung;
               // sl.Strings[i]

               end;

           end;
     except
           ShowMessage ('Super!');
     end;
     sl.Free;
end;
Der Quelltext ist nicht fertig, ich änder ihn wenn wir das hier geschafft haben:

Das Problem ist, dass es nicht immer ein "xD" in der Datei gibt, die Werte stehen aber immer an einer Stelle pro Zeile.

Nochmal ein paar Zeilen:

23:13:24.44122112 PP:2 PP2:3 xD LOL VLC/VXX = 150/77
24:13:25.78945612 Pi:3 PP2:4 xD LOL VLY/VYX = 150/77
25:15:27.78985612 Pu:3 PP4:5 xD LOL VLF/FYX = 150/77

Wie liest man das nun ein(also die ZeilenStelle ...)?

ThX


Ich bin für jede Hilfe dankbar, muss das heute beenden !
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 18. Apr 2006, 11:58
Hallo.

Wenn du dein Problem nicht so gut beschreiben kannst, dann musst du die Daten beschreiben. Für die Eingabedaten hast du drei Zeilen angegeben. Im Titel deines threads schreibst du, dass du die Zeichenkette in ein StringGrid einlesen möchtest. Wähle also ein paar gute Eingabebeispiele, und zeige was du als Ergebnis erwartest:

Code:
Eingabe:

23:13:24.44122112 PP:2 PP2:3 xD LOL VLC/VXX = 150/77
24:13:25.78945612 Pi:3 PP2:4 xD LOL VLY/VYX = 150/77
25:15:27.78985612 Pu:3 PP4:5 xD LOL VLF/FYX = 150/77 


Ausgabe:

Uhrzeit?          | P1   | P2    | V/F
23:13:24.44122112 | PP:2 | PP2:3 | VLC/VXX
24:13:25.78945612 | Pi:3 | PP2:4 | VLY/VYX
25:15:27.78985612 | Pu:3 | PP4:5 | VLF/FYX
Wenn du dann noch die richtigen Erläuterungen (Regelfälle, Ausnahmen) dazu gibst, dann kannst du dich vor Hilfe bestimmt nicht mehr retten.

Grüße vom marabu
  Mit Zitat antworten Zitat
pp-deluxe

Registriert seit: 7. Apr 2006
10 Beiträge
 
#15

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 18. Apr 2006, 12:01
tschuldigund so, wie du es beschreibst, meinte ich das ....
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

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

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 18. Apr 2006, 12:03
Hi!

Sind die Zeilen von der Länge der einzelnen Bestandteile her immer gleich lang und steht da immer LOL xD dazwischen?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
pp-deluxe

Registriert seit: 7. Apr 2006
10 Beiträge
 
#17

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 18. Apr 2006, 12:05
die Zeilen sind immer gleichlang, die einzelnen Bestandteile auch, LOL und xD sind in jeder Zeile dazwischen ....


Edit: Ich habs ^^
Code:
Froide:=Copy(Teilstring,12,5); // von der Stelle 12 an, 5 weitere Stellen
Danke für eure Hilfe, ohne euch hät ich das nicht geschafft !
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#18

Re: Bestimmte Strings aus einer Datei in StringGrid einlesen

  Alt 18. Apr 2006, 13:08
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var sl: TStringlist;
Teilstring: String;
datum,p1,p2,vf: String;
i : Integer;

begin
  sl:= TStringlist.Create;
     try
        if Opendialog1.execute then
           begin
             sl.LoadFromFile(Opendialog1.Filename);
      
             for i:= 0 to sl.Count-1 do
               begin
                 Teilstring := sl[1];
                 label1.caption := Teilstring;
                 datum := copy(Teilstring,1,17);
                 p1:=copy(teilstring,19,4);
                 p2:=copy(teilstring,24,5);
                 vf:=copy(teilstrig,37,16);
                 showMessage(datum+' '+p1+' '+p2+' '+vf);
               end;

           end;
     except
           ShowMessage ('Super!');
     end;
     sl.Free;
end;
Zitat:
12345678901234567890123456789012345678901234567890 12
23:13:24.44122112 PP:2 PP2:3 xD LOL VLC/VXX = 150/77
24:13:25.78945612 Pi:3 PP2:4 xD LOL VLY/VYX = 150/77
25:15:27.78985612 Pu:3 PP4:5 xD LOL VLF/FYX = 150/77
Wenn die Zeile immer gleich lang ist, dann brauchst Du nicht zwingend
mit pos arbeiten. Du kannst die Bereiche die Dich intessieren auch direkt im copy angeben.

Grüße
Klaus

[edit] zu spät :o( [/edit]
Klaus
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:09 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