AGB  ·  Datenschutz  ·  Impressum  







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

Inhalt eines Strings herausschneiden

Ein Thema von dws · begonnen am 21. Mai 2004 · letzter Beitrag vom 27. Mai 2004
Antwort Antwort
Seite 1 von 3  1 23      
dws

Registriert seit: 27. Feb 2004
31 Beiträge
 
#1

Inhalt eines Strings herausschneiden

  Alt 21. Mai 2004, 20:06
So habe da noch ein Problem.
Also ich habe einen Variable als String definiert der Inhalt ist z.B.

test#test2#test3

So jetzt möchte ich das ich z.B. in einem Array einzeln test, test2, test3 gespeichert wird also immer den ihnalt zwischen den Rauten.

In PHP geht das ja ganz einfach mit split aber wie ich das mit delphi machen soll habe ich nihct gefunden und wenn dann war mir der Quelltext zu schwer und für mihc nicht nachvollziehbar und da habe ich dann nichts von.


Danke
dws
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#2

Re: Inhalt eines Strings herausschneiden

  Alt 21. Mai 2004, 20:10
Delphi-Quellcode:
function Tokenize(s: string; index: integer; sep: char): string;
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  Try
    Repeat
      if Pos(sep, s) <> 0 then
      begin
        sl.Add(Copy(s, 1, Pos(sep, s)-1));
        Delete(s, 1, Pos(sep, s));
      end
      else
      begin
        sl.Add(s);
        s := '';
      end;
    until s = '';
    if index <= sl.Count then
    Result := sl.Strings[index-1]
    else Result := '';
  finally
    sl.Free;
  end;
end;
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Inhalt eines Strings herausschneiden

  Alt 21. Mai 2004, 20:10
hab vor paar tagen erst die funktion SplitString gepostet. In dem Thread finden sich auch noch andere Möglichkeiten. Allerdings wird dort nich in ein array gesplittet sondern in eine Stringlist. Aber von ner Stringlist in ein Array zu packen sollte nicht das problem sein...
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
dws

Registriert seit: 27. Feb 2004
31 Beiträge
 
#4

Re: Inhalt eines Strings herausschneiden

  Alt 21. Mai 2004, 20:11
aber geht das nicht einfacher
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Inhalt eines Strings herausschneiden

  Alt 21. Mai 2004, 20:14
In php kümmerst du dich doch auch nicht darum was die funktion split machst, warum stört es dich in delphi das es nicht mit 2 Zeilen getan ist? (wenn du mit ner Stringlist arbeitest bringens paar zeilen weniger auch, allerdings macht die Stringliste dann intern auch bissl mehr)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6

Re: Inhalt eines Strings herausschneiden

  Alt 21. Mai 2004, 20:14
Delphi-Quellcode:
function Tokenize(s: string; index: integer; sep: char): string;
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  Try
    Repeat
      if Pos(sep, s) <> 0 then
      begin
        sl.Add(Copy(s, 1, Pos(sep, s)-1));
        Delete(s, 1, Pos(sep, s));
      end
      else
      begin
        sl.Add(s);
        s := '';
      end;
    until s = '';
    if index <= sl.Count then
    Result := sl.Strings[index-1]
    else Result := '';
  finally
    sl.Free;
  end;
end;

aufrufen kannst du das ja mit

Delphi-Quellcode:
while not (Tokenize(DeinString, Zaehlervariable, '#') = '') do
begin
  ShowMessage(Tokenize(DeinString, Zaehlervariable, '#'));
  inc(Zaehlervariable);
end;
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
dws

Registriert seit: 27. Feb 2004
31 Beiträge
 
#7

Re: Inhalt eines Strings herausschneiden

  Alt 21. Mai 2004, 22:08
achso jetzt habe ich das auch erst verstanden entschuldigung danke
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: Inhalt eines Strings herausschneiden

  Alt 21. Mai 2004, 22:17
entschuldigung?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
dws

Registriert seit: 27. Feb 2004
31 Beiträge
 
#9

Re: Inhalt eines Strings herausschneiden

  Alt 23. Mai 2004, 19:32
So der sagt mir jetzt aber bei der function delkleration ein fehler

Code:
[Fehler] MainUnit.pas(335): Ungenügende Forward- oder External-Deklaration: 'TMainForm.Tokenize'
keine ahnung woran das liegen könnte
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Inhalt eines Strings herausschneiden

  Alt 23. Mai 2004, 19:40
Hi,

anstelle vonTMainForm musst du den Namen deiner Form einsetzen.

Ratte
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 08:18 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