Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit Copy, pos (https://www.delphipraxis.net/13744-problem-mit-copy-pos.html)

Pseudemys Nelsoni 25. Dez 2003 20:27


Problem mit Copy, pos
 
hoi,

eigentlich peinlich, aber irgendwie hab ich ein problem...
ich möchte aus dem text: "!zitatMOE test", das wort "MOE" bekommen, das was hinter dem "!zitat" steht ist bis zum ersten leerzeichen beliebig, d.h es könnte genausogut "!zitatBLA test", heissen... ich habe das so versucht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  bla: string = '!zitatmoe test';
begin
  ShowMessage(copy(bla, 7, pos(' ', bla)-1));
end;
also ab dem 7ten zeichen zu kopieren, bis zum ersten leerzeichen, aber als ergebnis zeigt showmessage mir dann "moe test" an...wie kann das sein wenn ich doch nur bis ' ' kopiere?

Niels 25. Dez 2003 20:36

Re: Problem mit Copy, pos
 
Moin!

Delphi-Quellcode:
function Copy(S; Index, Count: Integer): string
Count ist nicht das Ende, sondern die Anzahl der Stellen. Dein Code muss also so aussehen:

Delphi-Quellcode:
ShowMessage(copy(bla, 7, pos(char(32), bla)-7));
MfG Niels :wink:

[edit] PS: aus char(32) kannste auch wieder ' ' machen [/edit]

Pseudemys Nelsoni 25. Dez 2003 21:15

Re: Problem mit Copy, pos
 
hi,

ist doch eigentlich egal ob ich char(32) oder ' ' nehme, beides gibt mir "moe test" wieder

ich möchte aber nur "moe" haben, wieso geht das nicht??

PS: das ' ' mag aussehen wie ein stringende, ist aber eine leertaste. sieht halt hier im forum so aus wegen der schriftart

mfg ;)

HAF4ever 25. Dez 2003 21:20

Re: Problem mit Copy, pos
 
Zitat:

Zitat von Niels
Delphi-Quellcode:
ShowMessage(copy(bla, 7, pos(char(32), bla)-7));

da musst aber zusätzlich noch ein Zeichen abziehen ...
und die position würde ich dann in einer eigenen Variable speichern ...
Delphi-Quellcode:
p:=7;
s:=char(32);
ShowMessage(copy(bla, p, pos(s, bla)-p-1));

Pseudemys Nelsoni 25. Dez 2003 21:27

Re: Problem mit Copy, pos
 
ah geht doch, hatte die -1 nicht durch -7 ersetzt, danke :)

Niels 25. Dez 2003 21:37

Re: Problem mit Copy, pos
 
@Pseudemys Nelsoni:
Erst alles lesen, dann reden :wink:

@HAF4ever:

Warum willst du noch ein Zeichen abziehen? Dann Fehlt doch das Letzte.

Bsp:
Beginn bei Zeichen 7
Leezeichen ist Zeichen 10
Das heißt ich will (10 - 7) Zeichen haben...und zwar das 7., 8. und 9.

MfG Niels

HAF4ever 25. Dez 2003 21:42

Re: Problem mit Copy, pos
 
stimmt...
hab nur schnell gedacht, weil Nelsoni gemeint hat er hat ein Zeichen zuviel...
das ist nämlich auch ein häufiger fehler ... (* -1 rechnen vergessen meine ich *)


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