Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi nach jeder postleitzahl ein semikolon und alles entfernen... (https://www.delphipraxis.net/3309-nach-jeder-postleitzahl-ein-semikolon-und-alles-entfernen.html)

aaron 6. Mär 2003 10:29


nach jeder postleitzahl ein semikolon und alles entfernen...
 
habe in einem memo in jeder zeile eine adresse, mein problem sieht so aus:
Code:
04774 Dahlen
ich hätte gerne nach jeder postleitzahl ein semikolon.

mein zweites problem wäre folgendes:
Code:
[beiDresden]
zwischen den klammern steht nicht immer nur dresden, sondern auch andere städte, wie kann ich die eckigen klammern inclusive inhalt löschen, wer zeigt mir das bitte...

Gollum 6. Mär 2003 10:54

Hallo,

zu 1.)

Code:

var x:Integer;
    s:String;
...
  s:='04774 Dahlen';
  x:=System.Pos(' ', s);
  if (x>0) then s[x]:=';';
...
zu 2.)

Code:
var x1, x2:Integer;
    s:String;
...
  s:='1234 [beiDresden]';
  x1:=System.Pos('[', s);
  x2:=System.Pos(']', s);
  if ((x1>0) and (x2>0)) then System.Delete(s, x1, x2-x1+1);
...

aaron 6. Mär 2003 10:57

vielen dank
werde ich gleich ausprobieren,
zu 1)
sind auch immer andere städte, hatte ich vergessen zu erwähnen...
mach ich das dann wie bei (zu 2) auch?

freakTAB 6. Mär 2003 10:59

Code:
insert(PLZ,';',6);
und

Code:
anfang := pos('[',Str);
ende := pos(']',Str);
delete(Str,anfang,ende-anfang);
wobei PLZ der String mit der PLZ und der Stadt ist und Str ein String mit diesen eckigen Klammern und den Städten.

PS. : gollum war zuerst da - mist :)

Gollum 6. Mär 2003 11:02

Hallo,

nein. Im 1. Fall wird (nur) nach einem Leerzeichen gesucht und deshalb ist es egal, welche Stadt danach kommt.
Problematisch wird es, wenn Du mehr als 1 Leerzeichen im String hast. Pos liefert nämlich nur das 1. Vorkommen zurück.

Näheres dazu in der Delphi-Hilfe.

janjan 6. Mär 2003 11:03

@aaron
Dann musst du es so wie Gollum machen, der Vorschlag von freakTAB ist nicht variable.

zu 1:
Wie die Stadt heißt ist egal. Du suchst nach dem ersten Leerzeichen und ersetzt das durch ein Semikolon, egal an welcher Position das Leerzeichen steht.

edit: "zu spät, zu späääät, zu spät, zu späääät und dann ist es zu spät" *sing*

aaron 6. Mär 2003 11:04

ok, dank an alle :D

aaron 6. Mär 2003 11:14

was bedeutet > '1234 > [beiDresden]';
mein text ist in einem memo...wie funktioniert das damit

gruss

Gollum 6. Mär 2003 11:23

Hallo,

das ist nur ein Platzhalter von mir gewesen, damit der Beispielcode keine leere Zeichenkette zurückgibt.

aaron 6. Mär 2003 11:23

achso, hab ich übersehen...
s:=memo1.text; ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr.
Seite 1 von 2  1 2      

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