Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Stings Teilen (https://www.delphipraxis.net/160272-stings-teilen.html)

mikeL88 5. Mai 2011 14:13

Stings Teilen
 
also habe das Prob, dass ich einen string zerteilen möchte, dieser hat aber Zeilenumbrüche.... würde gerne den String so haben, das vom GSM bis zum nächsten freizeichen geht! bitte um hilfe, hab grad nen BLACKOUT!

STRING


Report CLCL-01 Credit Limit Report fÏr CUSTOSGMBH Seite: 2
Partnerunternehmen Datum: 03/05/2011

Bill Zyklus:70
Specific Credit Limit: .00
Kosten Kosten Bestehende
aktueller letzte letzte
MSISDN National Internat Roaming SMS+VAS SpecNum GPRS MPayment MMS+MSD Zyclus 24 Std. 24 Std.
-------------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- ----------
GSM15253043271 .00 .00 .00 .00 .00 2.65 .00 .00 2.65 .00 .00
GSM15253051818 .00 .00 .00 1.19 .00 .00 .00 .00 1.19 .00 .00
GSM15253043505 .00 .00 .00 .34 .00 .00 .00 .00 .34 .00 .00

var s:string; filename, tmpstr:string;
i: integer; index:integer;
slist: TStringlist;
begin
slist := TStringList.Create;
TableView.BeginUpdate;
if OpenDialog1.Execute then
begin
filename := OpenDialog1.FileName;
slist.LoadFromFile(filename) ;
s := slist.Text;
for i := 0 to slist.Count -1 do
begin
if POS('Specific Credit Limit:',slist.Strings[i]) <> 0 then
begin
// memo1.Lines.Add(copy(slist.Strings[i],POS('Specific Credit Limit:,2452',slist.Strings[i]),2452));
end;

if POS(' GSM',slist.Strings[i]) = 1 then
begin
memo1.Lines.Add(slist.Strings[i]);

index:=0;
Tableview.DataController.Recordcount:= Index+1;
tmpstr := copy(s,pos (' GSM',slist.Strings[i]));
TableView.DataController.Values[index,MSISDNcolumn.Index] := (copy (tmpstr,545,pos(' ',tmpstr))) ;//copy(s,pos (' GSM',slist.Strings[i]));

Coffeecoder 5. Mai 2011 14:23

AW: Stings Teilen
 
Hi,

Ich kenne mich mit dem Thema net so aus, könntest du mir sagen wo das Freizeichen ist?
Zitat:

GSM15253043271 .00 .00 .00 .00 .00 2.65 .00 .00 2.65 .00 .00
Dann könnte ich dir beim copy Befehl helfen :)

Mfg Coffeecoder

p80286 5. Mai 2011 14:25

AW: Stings Teilen
 
PosEx kennst Du schon?
Delphi-Quellcode:
copy(pos('GSM',MyString),posex(Freizeichen,Mystring-pos('GSM',MyString)+1,pos('GSM',MyString));
oder so ähnlich

Gruß
K-H

[OT]
Ich kenne nur ein Freizeichen: Tuuut Tuuut..... [/OT]

mikeL88 5. Mai 2011 14:31

AW: Stings Teilen
 
da sind besser gesagt 3 freizeichen zwischen dem GSM und den .00 die dick makierten.... will die GSM und die zahl danach haben, bis zum ersten freizeichen

p80286 5. Mai 2011 14:35

AW: Stings Teilen
 
Zitat:

Zitat von mikeL88 (Beitrag 1099046)
da sind besser gesagt 3 freizeichen zwischen dem GSM und den .00 die dick makierten.... will die GSM und die zahl danach haben, bis zum ersten freizeichen

????

Meinst Du Leerzeichen?

Gruß
K-H

mikeL88 5. Mai 2011 14:36

AW: Stings Teilen
 
jo sorry...^^ sag ja bin grad nen bisschen durch´n wind :-D

DeddyH 5. Mai 2011 14:37

AW: Stings Teilen
 
Wäre es nicht sinnvoll, die Ausgangsdatei sowie eine Datei mit dem gewünschten Ergebnis anzuhängen? Sonst geht die Fragerei noch ewig weiter.

mikeL88 5. Mai 2011 14:39

AW: Stings Teilen
 
Liste der Anhänge anzeigen (Anzahl: 1)
so datei ist angehängt....

DeddyH 5. Mai 2011 14:42

AW: Stings Teilen
 
Ich meinte nicht den Quelltext, sondern den Ausgangsstring und das gewünschte Ergebnis.


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