AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Werte aus String extrahieren

Ein Thema von orpz · begonnen am 11. Jun 2008 · letzter Beitrag vom 19. Jun 2008
Antwort Antwort
Seite 2 von 2     12   
IceTube
(Gast)

n/a Beiträge
 
#11

Re: Mehrere Werte aus String extrahieren

  Alt 12. Jun 2008, 19:30
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Mehrere Werte aus String extrahieren

  Alt 12. Jun 2008, 19:31
Stehen alle Werte in einer Zeile oder jeweils 4?
Markus Kinzler
  Mit Zitat antworten Zitat
orpz

Registriert seit: 8. Nov 2007
8 Beiträge
 
#13

Re: Mehrere Werte aus String extrahieren

  Alt 13. Jun 2008, 01:37
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.
  Mit Zitat antworten Zitat
soulies

Registriert seit: 9. Dez 2005
234 Beiträge
 
#14

Re: Mehrere Werte aus String extrahieren

  Alt 13. Jun 2008, 07:03
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;
  Mit Zitat antworten Zitat
marabu

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

Re: Mehrere Werte aus String extrahieren

  Alt 13. Jun 2008, 07:13
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
Angehängte Dateien
Dateityp: zip data-1_109.zip (2,2 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
orpz

Registriert seit: 8. Nov 2007
8 Beiträge
 
#16

Re: Mehrere Werte aus String extrahieren

  Alt 19. Jun 2008, 14:35
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 02:48 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