![]() |
PChar: Zeichen rechts abschneiden?
Moin,
wie kann ich einen Teil eines strings (PChars) von rechts abschneiden?` Angenommen ich habe einen string der so aussieht: 'fhgshsdfhfh....' und ich möchte rechts alle Punkte abschneiden (können beliebig viele sein), wie würde ich das machen? Ich habe mir schon überlegt, eine Schleife rückwärs laufen zu lassen, wo ich den Pointer um 1 dekrementiere... Nur wie lange lass ich die Schleife laufen wenn der String nur Punkte enthält? Auf #0 kann ich ja nicht prüfen. :oops: Vielleicht weiss es ja jemand. |
Re: PChar: Zeichen rechts abschneiden?
Hallo Mario,
den Zeiger auf den Anfang deiner Zeichenkette brauchst du schon als Referenzpunkt. Wenn der dekrementierte Zeiger kleiner ist als der Referenzzeiger, dann ist es Zeit aufzuhören... Grüße vom marabu |
Re: PChar: Zeichen rechts abschneiden?
Zitat:
|
Re: PChar: Zeichen rechts abschneiden?
Danke Leute :)
@marabu, darf ich denn einfach unter den Index gehen (solange ich da nichts rumschreibe) ? |
Re: PChar: Zeichen rechts abschneiden?
So etwas wie "Ausschneiden" gibt es nicht, wenn du deinen String nur kürzen möchtest,
könntest du SetLength() benutzen ansonsten auch Copy() oder du setzt ein 0 Byte.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i, l: Integer; var s: String; begin s := Edit1.Text; if s <> '' then begin for i := Length(s) downto 1 do begin if s[i] <> '.' then begin l := i; Break; end; end; SetLength(s, l); Edit1.Text := s; end; end; |
Re: PChar: Zeichen rechts abschneiden?
hallo bigg,
danke für deinen Code ;) Aber das würde nicht ganz funktionieren, weil ich wie gesagt PChars benutze und weil bei deinem Code bei dem ersten vorkommen von "." gestoppt werden würde, was bei 'text.text2...' ja falsch wäre, da ich ja wie gesagt nur die letzten Punkte löschen will. |
Re: PChar: Zeichen rechts abschneiden?
Zitat:
marabu |
Re: PChar: Zeichen rechts abschneiden?
Hast du nicht gesagt, du möchtest von rechts beginned die Punkte abschneiden :!:
Dann sollte es auch so funktionieren. |
Re: PChar: Zeichen rechts abschneiden?
Klingt interessant, könntest du mir das:
Zitat:
@bigg: Doch habe ich: Zitat:
|
Re: PChar: Zeichen rechts abschneiden?
hm wie wärs mit einem stringreplace(s,'.','',[rcReplaceAll])?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:36 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