Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   textdateien in "TStringGrid" (https://www.delphipraxis.net/63765-textdateien-tstringgrid.html)

MaBuSE 22. Feb 2006 18:36

Re: textdateien in "TStringGrid"
 
Zitat:

Zitat von Lila21
Zitat:

Zitat von MaBuSE
Das sollte Dir nun als Hilfe reichen.
Wie man mit Asign umgeht kannst Du ja weiter oben in meinem 1. beisp. sehen.
Viel Spaß
ps: herzlich willkommen in der DP :dp:

danke werd das beste drausmachen! :coder:

Schau doch mal in der Hilfe von Delphi nach, dort ist es erklärt wie man Copy, Pos usw verwendet. ;-)

Lila21 22. Feb 2006 18:59

Re: textdateien in "TStringGrid"
 
Zitat:

Zitat von MaBuSE
Zitat:

Zitat von Lila21
Zitat:

Zitat von MaBuSE
Das sollte Dir nun als Hilfe reichen.
Wie man mit Asign umgeht kannst Du ja weiter oben in meinem 1. beisp. sehen.
Viel Spaß
ps: herzlich willkommen in der DP :dp:

danke werd das beste drausmachen! :coder:

Schau doch mal in der Hilfe von Delphi nach, dort ist es erklärt wie man Copy, Pos usw verwendet. ;-)

danke werd ich dann noch machen! :hi:

Lila21 22. Feb 2006 20:41

Re: textdateien in "TStringGrid"
 
Liste der Anhänge anzeigen (Anzahl: 1)
hi!


ich soll aus dem text(nlist.txt) user ,lastname, givenname und ip adresse in den stringgrid schreiben....könntet ihr mir ein beispiel für das rauskopieren und in die namensspalte einlesen geben??


danke für eure tipps!

MaBuSE 23. Feb 2006 09:27

Re: textdateien in "TStringGrid"
 
Zitat:

Zitat von Lila21
ich soll aus dem text(nlist.txt) user ,lastname, givenname und ip adresse in den stringgrid schreiben....könntet ihr mir ein beispiel für das rauskopieren und in die namensspalte einlesen geben??

Eine einfache Lösung wäre folgender Algorithmus:

Code:
Öffne Datei
solange nicht Dateiende tue
start
  Lese s aus Datei
  ist in s 'User:' enthalten dann s := copy(s, 7, 100)
  ist in s '   Last Name:' enthalten dann s := copy(s, 14, 100)
  ist in s '   Given Name:' enthalten dann s := copy(s, 15, 100)
...
  schreibe s in StringGrid
ende
Schliese Datei
Es sollte nicht schweer sein, diesen Algorithmus in Pascal zu übersetzen.

ist in s 'xxx' enthalten macht man mit dem Befehl Pos(s, 'xxx') > 0

Den Rest solltest Du aleine hinbekommen.

chrisw 23. Feb 2006 10:13

Re: textdateien in "TStringGrid"
 
Ich würde das etwa so machen !

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var Datei : TStringList;
    i,j   : Integer;
    tempString : String;
    emptyCol  : Boolean;
begin
  Datei := TStringList.Create;
  Datei.LoadFromFile('nlist.txt');
  i := 0;
  while i < Datei.Count -1 do //durch die ganze Datei
    if pos('User: ',Datei[i]) <> 0 then // wenn String "User: " gefunden
    begin
      emptyCol := False; //bisher ncoh keine Leerstelle
      for j := 0 to 5 do //die nächsten 6 Zeilen
      begin
        tempString := Datei[i]; //Zeile kopieren nach tempString
        case j of
            0 : delete(tempString,1,6); //User
            1 : delete(tempString,1,12); //Last name
            2 : delete(tempString,1,13); //Given name
            3 : begin                   //empty Column
                  tempString := '';
                  emptycol := True;
                end;
            4 : delete(tempString,1,2); //network kind
            5 : delete(tempString,1,14);//network address
         end;
          if (tempString <> '') then
          begin
            if not emptycol then StringGrid1.cols[j].Add(tempString) // 1-3 column
            else StringGrid1.cols[j-1].Add(tempString);      //5 + 6 column
            StringGrid1.RowCount := StringGrid1.RowCount +1; //redim Stringgrid
          end;
          inc(i);
      end;
    end else inc(i);
  Datei.Free;
end;

Lila21 23. Feb 2006 14:10

Re: textdateien in "TStringGrid"
 
Zitat:

Zitat von chrisw
Ich würde das etwa so machen !

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var Datei : TStringList;
    i,j   : Integer;
    tempString : String;
    emptyCol  : Boolean;
begin
  Datei := TStringList.Create;
  Datei.LoadFromFile('nlist.txt');
  i := 0;
  while i < Datei.Count -1 do //durch die ganze Datei
    if pos('User: ',Datei[i]) <> 0 then // wenn String "User: " gefunden
    begin
      emptyCol := False; //bisher ncoh keine Leerstelle
      for j := 0 to 5 do //die nächsten 6 Zeilen
      begin
        tempString := Datei[i]; //Zeile kopieren nach tempString
        case j of
            0 : delete(tempString,1,6); //User
            1 : delete(tempString,1,12); //Last name
            2 : delete(tempString,1,13); //Given name
            3 : begin                   //empty Column
                  tempString := '';
                  emptycol := True;
                end;
            4 : delete(tempString,1,2); //network kind
            5 : delete(tempString,1,14);//network address
         end;
          if (tempString <> '') then
          begin
            if not emptycol then StringGrid1.cols[j].Add(tempString) // 1-3 column
            else StringGrid1.cols[j-1].Add(tempString);      //5 + 6 column
            StringGrid1.RowCount := StringGrid1.RowCount +1; //redim Stringgrid
          end;
          inc(i);
      end;
    end else inc(i);
  Datei.Free;
end;


danke für euere tipps! :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr.
Seite 2 von 2     12   

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