Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mehrere Werte aus String extrahieren (https://www.delphipraxis.net/115387-mehrere-werte-aus-string-extrahieren.html)

IceTube 12. Jun 2008 18:30

Re: Mehrere Werte aus String extrahieren
 
Hallo!

Wenn du nur jede vierte Zeile "auseinanderlegen" willst dann kannst es ja so machen:

Delphi-Quellcode:
//Schleife
for i := 0 to Max do begin
if i mod 4 = 1 then begin
{
Code
}
end;
end;
Ich hoffe es war eine Hilfe!

lg

mkinzler 12. Jun 2008 18:31

Re: Mehrere Werte aus String extrahieren
 
Stehen alle Werte in einer Zeile oder jeweils 4?

orpz 13. Jun 2008 00:37

Re: Mehrere Werte aus String extrahieren
 
Zitat:

Zitat von mkinzler
Stehen alle Werte in einer Zeile oder jeweils 4?

Es standen ursprünglich alle 4 Werte in einer Zeile eines Memos. ( 22 --- 3.16 --- 21 --- 10)
Dazu aber noch 122600 andere Zeilen nach dem selben Muster (aber andere Werte- also 122600 x 4 Werte)
Die Werte habe ich alle trennen können, so dass sie nun (Das Muster/die Stringfolge gleichbleibend) in einer Listbox untereinander stehen. (Also pro Zeile ein Wert: 122600 x 4 = 490.400 Werte/Zeilen)

Diese Werte möchte ich nun aus der Listbox in ein ListView einsortieren lassen, so dass (Man beachte das Muster: 22 --- 3.16 --- 21 --- 10) diese immer gleichbleibend in die ListView übertragen werden.

Anfang der Werte aus der Listbox:
22
3.16
21
10
(fiktive/nicht existierende Trennlinie)
5499
1.5
1
100
(fiktive/nicht existierende Trennlinie)
.
.
.

Anhand der untereinander stehenden Werte:
22
3.16
21
10

müsste die 1. komplette Zeile des Listviews also (zusammengesetzt aus 4 Columns) so aussehen: 22 | 3.16 | 21 | 10
Und die 2. komplette Zeile, müsste also 5499 | 1.5 | 1 | 100 ergeben, usw.....

Die funktionale Schleife nur jede 4. Zeile zu übertragen ist sehr interessant, aber in meinem Fall leider nicht das Richtige. Ich bin ratlos und mal gespannt, ob ich meine Gedanken klar artikulieren konnte.

soulies 13. Jun 2008 06:03

Re: Mehrere Werte aus String extrahieren
 
hoi,

Zitat:

Es standen ursprünglich alle 4 Werte in einer Zeile eines Memos. ( 22 --- 3.16 --- 21 --- 10)
falls 'ursprünglich' bedeutet das es immer noch so ist dann,
durchlauf die zeilen deines memos,
pro zeile :
- den string der zeile trennen wie bisher mit stringlist + DelimitedText
- Listview füllen mit Werten aus Stringlist [0,1,2,3]
dann nächste zeile usw.

oder du durchläufst deine listbox und verarbeitest immer 4 Werte - prüfen über mod 4
ähnlich wie hier :
Zitat:

Delphi-Quellcode:
//Schleife
for i := 0 to Max do begin
if i mod 4 = 1 then begin
{
Code
}
end;
end;


marabu 13. Jun 2008 06:13

Re: Mehrere Werte aus String extrahieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,

man kann sich den Umstand zu nutze machen, dass der Feldseparator Leerzeichen enthält. Eine auf einer virtuellen ListView aufsetzende Demo habe ich mal angehängt. Sie erzeugt beim Start eine Testdatei im TEMP-Verzeichnis und löscht sie bei Programmbeendigung. Wird die Demo mit dem Namen einer existierenden Datei aufgerufen, so werden die echten Daten benutzt.

Grüße vom marabu

orpz 19. Jun 2008 13:35

Re: Mehrere Werte aus String extrahieren
 
Nachdem ich die ganze Liste in einer Schleife Zeile für Zeile hab durchlaufen lassen (Aus jeder Zeile die Werte trennen und dann in die Listview übertragen) habe ich in der Listview alle Einträge stehen! Dabei geholfen hat mir maaßgeblich die Funktion:


Delphi-Quellcode:
for i:= 0 to MAX do
with Listview.Items.Add do
begin
  caption:= 1.Wert;
  Subitems.Add(2.Wert);
  Subitems.Add(3.Wert);
  Subitems.Add(4.Wert);
end;
Ich danke schön :hello: :hello: :hello:


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