Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TstringList Variable einlesen, wort für wort... (https://www.delphipraxis.net/2912-tstringlist-variable-einlesen-wort-fuer-wort.html)

Mick 13. Feb 2003 11:57


TstringList Variable einlesen, wort für wort...
 
hallo,

ich habe ein probelm mit einer TstringList.

ich will einen Text in diese Variable einlese aber ich will das jedes wort einzeln eingelesen wird!
so das am schluss allo wörter untereinander dort stehen...

wer kann mir denn mal einen Vorschlag machen wie ich das denn am
Besten machen könnte.

gruß

Mick

lodda 13. Feb 2003 12:03

Willst du den Text aus einer Datei auslesen?

Mick 13. Feb 2003 12:13

ja ich will den Text aus einer Datei auslesen und er soll dann aber
wie im volgendem Bsp. jedes wort einzeln eingelesen werden .
bsp:
How
good
is
your
English

das will ich dann zwar noch sortieren aber das ist hier noch nicht relevant, ich muss es erst mal einsesen.

(sortieren tuhe ich ja mit dem befehel ".sort;")

gruß

Mick

sakura 13. Feb 2003 12:21

Folgende Funktion ist nicht auf Geschwindigkeit optimiert, sollte Dir aber einen Start zur Lösung geben, funktioniert zumindest ;)

Delphi-Quellcode:
procedure LoadFileIntoStrings(aFileName: string; Strings: TStrings);
var
  Ch: Char;
  Word: string;
begin
  with TFileStream.Create(aFileName, fmOpenRead or fmShareDenyNone) do
  try
    Word := '';
    while Position < Size do
    begin
      Read(Ch, 1);
      if AnsiUpperCase(Ch)[1] in ['A'..'Z', '0'..'9', 'Ä', 'Ö', 'Ü', 'ß'] then
      begin
        Word := Word + Ch;
      end else begin
        if Word <> '' then
          Strings.Add(Word);
        Word := '';
      end;
    end;
    if Word <> '' then
      Strings.Add(Word);
  finally
    Free;
  end;
end;
Aufruf mit
Delphi-Quellcode:
LoadFileIntoStrings('C:\Temp\EinText.ans', Memo1.Lines);
...:cat:...

Snoop007 13. Feb 2003 12:26

oder du benutzt diese unit :)
http://www.delphipraxis.net/viewtopi...800c8aee70a0ea

Mick 13. Feb 2003 12:29

Danke Sakura,

das hilft mir weiter.

gruß

Mick

sakura 13. Feb 2003 12:42

Zitat:

Zitat von Snoop007

Da die Unit nur ein Trennzeichen unterstützt könnte es etwas kompliziert werden.
...:cat:...

Snoop007 13. Feb 2003 15:08

Zitat:

Zitat von sakura
Zitat:

Zitat von Snoop007

Da die Unit nur ein Trennzeichen unterstützt könnte es etwas kompliziert werden.
...:cat:...

mit der aktuellen version der unit ist das schon möglich :)
als trennzeichen musst du nichts angeben, solange du wirklich nur den ersten wert einer zeile haben willst


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 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