![]() |
Delphi-Version: 5
StringReplace geht nicht
Moin,
kann mir mal einer sagen, was hier falsch ist?
Delphi-Quellcode:
An dem sl.Text ändert sich absolut nichts. Die 5 ist nach wie vor da drin.
sl.LoadFromFile ('TEST');
StringReplace (sl.Text,'5','',[rfReplaceAll]); ShowMessage(sl.text); |
AW: StringReplace geht nicht
Zitat:
Delphi-Quellcode:
SL.Text := StringReplace (sl.Text,'5','',[rfReplaceAll]);
|
AW: StringReplace geht nicht
StringReplace ist eine Function und liefert den geänderten String in Result zurück.
|
AW: StringReplace geht nicht
Mal ganz ehrlich: nach 12 Jahren Forenzugehörigkeit sollte man die F1-Taste aber bedienen können.
|
AW: StringReplace geht nicht
Thx,
tja das kommt davon.
Delphi-Quellcode:
Wenn man sich da nur das StrReplace rauszieht, ohne drüber nachzudenken, was der Rest wohl zu bedeuten hat. :duck:
StrToFloat (StringReplace(...
Wie heisst noch der Compiler-Schalter, um solches Verhalten abzustellen ? :gruebel: Dchlimmer ist allerings, dasss mich das StringReplace sowieso nichts nützt. Es müssen ca. 20 verschiedene Zeichen entfrernt werden, nicht nur eins. Gibts noch was in der Richtung oder muss ich das Zeichen für Zeichen durchgehen ? |
AW: StringReplace geht nicht
Ich wünsche mir ja schon seit langem ein Schlüsselwort in Delphi mit dem man signalisieren kann dass das Ergebnis einer Funktion zwingend entgegengenommen werden muss.
Delphi-Quellcode:
function StringReplace(const S, OldStr, NewStr: string; Flags: TReplaceFlags): string;pure;
// "pure" bedeutet die Funktion ist frei von Nebeneffekten // deshalb würde der Aufruf der Funktion wie eine Prozedur als Fehler betrachtet |
AW: StringReplace geht nicht
Und ich wünsche mir einen Compilerschalter, der konstante Parameter verbietet oder bei der Verwendung warnt:
Delphi-Quellcode:
GenerateComplicatedOutput('Test.txt', 1, 7.35, 'No') // Sollte nicht zulässig sein
GenerateComplicatedOutput(LFileName, LPageNumber, LFactor, C_NO) // So ist es fein |
AW: StringReplace geht nicht
Um das Prozedur-/Funtionsverhalten zu beeinflussen, das wäre jedenfalls {$X-}, standardmässig ist das offensichtlich {$X+}
|
AW: StringReplace geht nicht
Zitat:
Delphi-Quellcode:
// Geht nicht
function IstUngleichNull(AInteger : integer) : boolean; begin result := AInteger <> 0; end; // Muss dann so sein function IstUngleichNull(AInteger : integer) : boolean; begin IstUngleichNull := AInteger <> 0; end; |
AW: StringReplace geht nicht
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 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