![]() |
Re: String nach Komma löschen
Zitat:
|
Re: String nach Komma löschen
Entweder das oder ein Leerstring (bei CK_CK). Zugegeben, das sind Sonderfälle, aber man sollte sie berücksichtigen. Nur allzu oft findet man hier in der DP Quelltexte der Form
Delphi-Quellcode:
oder ähnliches. Wenn man die Eingabedaten kennt und Fehler ausschließen kann, ist das kein Problem. Was aber, wenn später ein anderer (Newbie?) diesen kompakten Code übernimmt und auf seine eigenen Daten anwendet? Er wird möglicherweise nicht verstehen, daß er plötzlich Leerstrings erhält. marabus Code ist zwar nicht so kompakt, dafür ist er aber für jeden Anwender leicht nachvollziehbar.
s := copy(s,1,pos(',',s));
@inherited Obwohl ich es zunächst nicht geglaubt habe: dein Code funktioniert. Er nutzt aber (schamlos) aus, daß die VCL-Routine den String nicht verändert, wenn der Startindex nicht im zulässigen Bereich ist. Ich hätte erwartet, daß der Index korrigiert wird. Gruß Hawkeye |
Re: String nach Komma löschen
solange vorher geprüft wird, ob eines drin ist, nicht.
also das läuft und ist wohl auch am efektivsten (mit den Standrardroutinen):
Delphi-Quellcode:
Dieses
i := Pos(',', s);
if i > 0 then SetLength(s, i - 1);
Delphi-Quellcode:
sollte zumindestens etwa so aussehn
Delete(s, pos(',', s), Length(s));
Delphi-Quellcode:
[add]
if pos(',', s) > 0 then
Delete(s, pos(',', s), Length(s)); //oder doch lieber so i := pos(',', s); if i > 0 then Delete(s, i, Length(s)); @Hawkeye219: das hätte ich jetut och nicht gedacht ._. |
Re: String nach Komma löschen
Moin Zusammen,
um sicherzustellen, dass tatsächlich der letzte Abschnitt hinter dem Komma entfernt wird, sollte man LastDelimiter verwenden. (Falls nicht gesichert ist, dass nur ein Komma enthalten ist).
Delphi-Quellcode:
s := 'Dies, ist, ein, Test';
iPos := LastDelimiter(',',s); if iPos > 0 then SetLength(s,iPos-1); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 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