![]() |
Re: PChar: Zeichen rechts abschneiden?
Das würde alle Punkte löschen.
|
Re: PChar: Zeichen rechts abschneiden?
wäre aber auch unperformant, außerdem sollen nur die letzten punkte gelöscht werden
Delphi-Quellcode:
[Edit]Ich seh da grad noch nen Fehler, wird gleich behoben[/Edit]
procedure RemoveLastDots(AVal: PChar);
var LLen, LLastNoDot: Integer; begin LLen := Length(AVal); if LLen > 0 then begin LLastNoDot := LLen; while (LLastNoDot >= 0) and (AVal[LLastNoDot - 1] = '.') do dec(LLastNoDot); AVal[LLastNoDot] := #0; end; end; [Edit2]Gab doch keinen Fehler[/Edit2] |
Re: PChar: Zeichen rechts abschneiden?
Danke SirThornBerry, 1a :D
EDIT: Was passiert eigentlich mit den restlichen Zeichen, wenn ich in einem PChar irgendwo in der mitte einfach ein #0 setze? |
Re: PChar: Zeichen rechts abschneiden?
noch eine variante:
Delphi-Quellcode:
procedure RemoveLastDots(AVal: PChar);
var LMax: PChar; begin LMax := AVal + Length(AVal) - 1; while (LMax >= AVal) and (LMax[0] = '.') do dec(LMax); LMax[1] := #0; end; |
Re: PChar: Zeichen rechts abschneiden?
Die sind noch da und belegen weiter Speicher, aber #0 als Stringterminator sagt einfach "hier is Ende", und weiter geht der String dann nicht.
|
Re: PChar: Zeichen rechts abschneiden?
@dax: das es weiter da ist weiß ich, aber da es um PChar geht bin ich einfach davon ausgegangen das es um 0 terminierte Strings geht.
|
Re: PChar: Zeichen rechts abschneiden?
@Sir: Ich bezog mich auf nachfolgendes ;-)
Zitat:
|
Re: PChar: Zeichen rechts abschneiden?
oh, ich hatte nicht gesehen das dort editiert wurde.
|
Re: PChar: Zeichen rechts abschneiden?
Danke thornberry,
schoen klein der code und funkt :) @dax: Ich weiss schon das das #0 "ende" bedeutet ;) nur frag ich mich, wer oder was die restlichen zeichen nachher aus dem string freigibt. hmm... also die nach dem gesetztn #0 |
Re: PChar: Zeichen rechts abschneiden?
Zitat:
Zitat:
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 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