Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String zerlegen mal anders :) (https://www.delphipraxis.net/11447-string-zerlegen-mal-anders.html)

Supremacy 6. Nov 2003 19:43


String zerlegen mal anders :)
 
Hiho, ich habe ein Problem mit einem riesen String...
und zwar möchte ich ihn gerne zerlegen.

"1","° 1 °","r","g","Delta","Mightmeth*","","-OT-","16.690","587.588.219",
"2","^ 2 ^","g","g","Epsilon","Random_Hero*","","-OT-","12.335","549.326.170",
"3","3","","g","Iota","Nigtblade","
","&nbsp","10.430","468.701.576","4","4","","g","M y","miri","
","&nbsp","11.009","419.505.759","5","5","","g","T heta","Djarim","
","&nbsp","10.214","481.790.219","6","6","","g","E psilon","Pinky*","","&nbsp","14.828","569.510.931"

Das alles steht in einer Zeile...



das soll aber jetzt so aussehen :

"1","° 1 °","r","g","Delta","Mightmeth*","","-OT-","16.690","587.588.219"
","2","^ 2 ^","g","g","Epsilon","Random_Hero*","","-OT-","12.335","549.326.170"
"3","3","","g","Iota","Nigtblade","","&nbsp","10.4 30","468.701.576"

usw. und sofort.

dann kann ich ja leicht die "" ersetzen und dann das "," als trennzeichen nehmen....
hat jemand eine idee ? wäre echt nice.

[edit=Daniel B]String zerlegt. :mrgreen: Mfg, Daniel B[/edit]

Niels 6. Nov 2003 20:10

Re: String zerlegen mal anders :)
 
Moin

Also die "" kannst du folgendermaßen entfernen: string := stringreplace(string,'"','',[rfReplaceAll]);

Um Zeilenumbrüche einzufügen kannste z.B. ne Schleife nehmen, die n Zeichen abzählt und dann ein Leerzeichen einfügt. Wenn du nen Quelltext brauchst musste halt nochmal schreibn, dann mach ich schnell einen.


MfG Niels

Supremacy 6. Nov 2003 20:29

Re: String zerlegen mal anders :)
 
ich habe ja vor die einzelnen einträge z.b. 1-10 stück jeweils in einen array zu packen um sie dann in eine datenbank einzutragen.

wenn du meinst das du das problem lösen kannst wäre es nett...
könnte echt nen source gebrauchen.

also beispiel kannst du ja diesen string hier nehmen....



"1","° 1 °","r","g","Delta","Mightmeth*","","-OT-","
16.690","587.588.219","2","^ 2 ^","g","g","Epsilon","Ra
ndom_Hero*","","-OT-","12.335","549.326.170","3","3","",
"g","Iota","Nigtblad
e","","&nbsp","10.430","468.701.576","4","4","","g ","My
","miri","","&nbsp","11.009","419.505.759","5","5" ,"","g",
"Theta","Djarim","","&nbsp","10.214","481.790.219" ,"6","6",""
,"g","Epsilon","Pinky*","","&nbsp","14.828","569.5 10.931"


vielen dank schonmal.

[edit=Daniel B]String zum zweiten mal zerlegt!!! :evil: Mfg, Daniel B[/edit]

Hansa 6. Nov 2003 21:06

Re: String zerlegen mal anders :)
 
Da es sich offensichtlich um einen unterminierten string handelt, den Daniel B. dauernd zerlegen muß, würde ich mal vorschlagen, das Ding echt so langsam aufzuteilen. Lese die Zeile so lange bis ein "," kommt und schreibe den Rest in eine neue Textdatei.

Niels 6. Nov 2003 21:14

Re: String zerlegen mal anders :)
 
Moin!

Ich hab mal nen kleinen Quellcode geschrieben um den String in ein Array einzutragen ... Geht bestimmt auch einfacher, aber mir is gar nix besseres eingefallen.

Delphi-Quellcode:
procedure PutInArray(var b: array of string; a: string);
var x,y,k: integer;
    p: boolean;
begin
  p := true;
  y := 1;
  for x := 2 to length(a) do
  begin
    if k > 0 then
    begin
      dec(k);
    end
    else
      if p then
      begin
        b[y] := '';
        p := false;
      end;
      if (a[x] = '"') and (a[x+1] = ',') and (a[x+2] = '"') then
      begin
        inc(y);
        p := true;
        k := 2;
      end
      else b[y] := b[y] + a[x];
  end;
end;

Wormid 6. Nov 2003 21:59

Re: String zerlegen mal anders :)
 
Wenn das mal nicht eine "Die Ewigen" Galaxienübersicht werden soll, na dann weiss ich auch nicht... :mrgreen:

Gruß

Wormid

Tonic1024 7. Nov 2003 07:55

Re: String zerlegen mal anders :)
 
WOW!!!

Genau sowas habe ich immer gesucht... - Die Ewigen. :shock::cyclops:

Ich selbst plane seit ner halben Ewigkeit an nem Script für ein Spiel dass in nem Browser läuft. Ist geplant gewesen als LAN-Game (muss natürlich einer SQL und den kleinen Freeware-Indianer auf nem Server Installiert haben, aber egal), dass ich dann irgentwann auch auf ne Website stellen wollte.

Thema sollte ne Mischung aus StarTrek, Master of Orion 2 und VGA-Planets 4.0 werden... Natürlich darf ein kleiner Schuss Rollenspiel und spritzer Die Gilde oder Fugger nicht fehlen :)

Ich glaube ich werd mich mal etwas näher mit den Ewigen befassen :) Braucht das Team noch einen fähigen Entwickler??? :zwinker:

bios denne...

Supremacy 7. Nov 2003 23:25

Re: String zerlegen mal anders :)
 
Joah, soll so eine art galaxien übersicht werden :)
habt mich erwischt ^^

naja @ browsergame...ich programmiere gerade mit einem kollegen an einem neuen browsergame...
wer erfahrungen im umgang mit php/mysql hat kann gerne mithelfen :)
einfach eine private message an mich schreiben. am besten noch mit erfahrungshorizont.


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