![]() |
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:
|
AW: StringReplace geht nicht
Zitat:
|
AW: StringReplace geht nicht
Zitat:
Zitat:
Zitat:
|
AW: StringReplace geht nicht
Zitat:
|
AW: StringReplace geht nicht
Zitat:
|
AW: StringReplace geht nicht
Zitat:
Zudem kann man mit einem Klick zur Implementierung springen und sieht direkt den Source. Bevor ich die Hilfe aufrufe nutze ich diese Quellen. Manchmal muss man nur die Augen offen haben. |
AW: StringReplace geht nicht
Zitat:
|
AW: StringReplace geht nicht
Zitat:
|
AW: StringReplace geht nicht
Dafür müsste man aber dann eine Dummy-Variable deklarieren, die man eigentlich gar nicht benötigt.
|
AW: StringReplace geht nicht
Zitat:
Vielleicht gibt es ja so einen Hilfskreis "Anonyme IDE-Tools Nutzer" oder auch "Anonyme Dokumentations Nutzer", da könnte ich mich ja mal anmelden. Ist ja nicht mehr auszuhalten. :mrgreen: |
AW: StringReplace geht nicht
Zur Not kannst Du immer noch eine Selbsthilfegruppe gründen :lol:
|
AW: StringReplace geht nicht
So wird gschodert. Hilfe nicht installieren. Die Wahl hat man jetzt nicht mehr. Egal. Caps Lock Key rausbrechen, F1 rausbrechen und ggf. abkleben. Hilft ungemein.
Zitat:
|
AW: StringReplace geht nicht
Zitat:
|
AW: StringReplace geht nicht
Zitat:
Bissl falsch verstanden ... es gibt einen Kompilerschalter, vomit man abschalten konnte, daß Rückgabewerte ausgewertet (irgendwo zugewiesen) werden müssen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 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