Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Jeweils nur erste Zeilen einer mehrzeiligen Tabelle auslesen (https://www.delphipraxis.net/137682-jeweils-nur-erste-zeilen-einer-mehrzeiligen-tabelle-auslesen.html)

TM4rkuS 26. Jul 2009 16:50


Jeweils nur erste Zeilen einer mehrzeiligen Tabelle auslesen
 
Hi erstmal an alle ;-)
Also, folgendes Problem: ich habe eine Tabelle, die ich per copy+paste in ein Edit-Feld einfüge. Wie stelle ich es an, dass immer nur zum Beispiel die ersten 3 Zeichen in einer Variablen gespeichert werden, die diese dann in ein anderes Edit-feld überträgt, in der Tabelle eine Reihe runtergeht und da auch wieder 3 Zeichen in der Variablen speichert, und diese wieder überträgt, und so weiter, bis die Tabelle beendet ist? (Ich weiß nicht, ob es zwischen den einzelnen Delphi's große Unterschiede gibt, aber ich benutze Turbo Delphi, reichte für mich bisher vollkommen... Ich weiß auch nicht, Delphi Win32 jetzt richtig ist, oder ob Delphi .NET die richtige Angabe wäre...)

Eigentlich brauche ich nur den Quelltext um die ersten 3 Zeichen zu speichern und eine Zeile runterzugehen, wenn mir jetzt hier der gesamte Quelltext einfach hingeklatscht wird, lern ich ja nichts dabei... Und nach Möglichkeit sollte eine relativ simple Methode gewählt werden, die ich dann auch, ohne tausend mal nachfragen zu müssen, verändern kann (beispielsweise sollte ich dann auch ohne große Probleme immer nur jedes 3. Zeichen einer Zeile kopieren können..)

DeddyH 26. Jul 2009 16:57

Re: Jeweils nur erste Zeilen einer mehrzeiligen Tabelle ausl
 
Hallo und Willkommen in der DP :dp:,

ich weiß zwar nicht genau, was Du mit "Tabelle" meinst, aber die ersten 3 Zeichen kannst Du Dir mit der Copy()-Funktion holen.
Delphi-Quellcode:
StringVar := Copy(String,1,3);
Btw: Win32 passt schon :zwinker:

TM4rkuS 26. Jul 2009 17:08

Re: Jeweils nur erste Zeilen einer mehrzeiligen Tabelle ausl
 
naja, das war vielleicht etwas unvorteilhaft ausgedrückt... Es ist im Grunde ein Text der pro Zeile aus 10 bis 12 Zeichen besteht, unter umständen aus 29 bis 31. Und dann teilweise über 1000 Zeilen... In etwa so

123456 11.11
224532 33.11


oder

aaaaaaaaa123456aaaaaaaaaa 11.11

und ich will, dass der sich 123456 bzw. 224532 (ist natürlich immer variabel) kopiert und den Rest ignoriert.

DeddyH 26. Jul 2009 17:11

Re: Jeweils nur erste Zeilen einer mehrzeiligen Tabelle ausl
 
Also von der ersten vorkommenden Ziffer bis zur nächsten Nicht-Ziffer?

TM4rkuS 26. Jul 2009 17:14

Re: Jeweils nur erste Zeilen einer mehrzeiligen Tabelle ausl
 
nein, nicht unbedingt. Die Tabelle ist immer gleich strukturiert, also können nicht beide Formen gleichzeitig auftauchen, deshalb würde ich sagen, dein "StringVar := Copy(String,1,3);" ist an sich schon ganz nützlich, wenn die 1 das Anfangszeichen und die 3 das letzte Zeichen sein soll. Nur muss ich jetzt noch den Befehl zum wechseln der Zeile wissen...

DeddyH 26. Jul 2009 17:17

Re: Jeweils nur erste Zeilen einer mehrzeiligen Tabelle ausl
 
Wo ist die Datei denn gespeichert? In einer TStringlist oder so? Dann kannst Du diese in einer Schleife einfach durchlaufen. Und was die Parameter von Copy bedeuten, steht in der Online-Hilfe (Position ab und Länge).

TM4rkuS 26. Jul 2009 17:25

Re: Jeweils nur erste Zeilen einer mehrzeiligen Tabelle ausl
 
die Tabelle füge ich, wie gesagt, per copy+paste in ein edit-feld bzw ein memo-feld ein, weil mir grad nichts eleganteres eingefallen ist... die kommen aus dem Internet, ich will mir ein Tool für mein Browser-Game basteln =) Und damit ich das auch nach Lust und Laune ändern kann, muss ich das selbst schreiben, weil ich sonst nicht durchblick...

ah, okay...

DeddyH 26. Jul 2009 17:34

Re: Jeweils nur erste Zeilen einer mehrzeiligen Tabelle ausl
 
Gut, bei einem Memo ginge das dann sinngemäß:
Delphi-Quellcode:
for i := 0 to Memo.Lines.Count - 1 do
  begin
    stringvar := Copy(Memo.Lines[i],1,3);
    //irgendwas mit stringvar machen
  end;

TM4rkuS 26. Jul 2009 17:40

Re: Jeweils nur erste Zeilen einer mehrzeiligen Tabelle ausl
 
okay danke, hilft mir ungemein =)


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