Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi AnsiLeftStr funktioniert nicht (https://www.delphipraxis.net/176067-ansileftstr-funktioniert-nicht.html)

JamesC 9. Aug 2013 22:58

AnsiLeftStr funktioniert nicht
 
Guten Abend,

ich bin mit Delphi 6 PE unterwegs und würde gerne einen AnsiString etwas zerlegen und habe hierzu "AnsiEndStr", etc. gefunden. http://www.delphibasics.co.uk/ByFunc...ings&Sub=Calcs

Einige dieser Methoden funktionieren, wie beispielsweise AnsiContainsStr, nachdem ich bei den uses StrUtils hinzugefügt habe.
Leider würde ich unter anderem AnsiLeftStr/AnsiRightStr benötigen, bei welcher Verwendung ich die Fehlermeldung "Undefinierter Bezeichner: 'AnsiLeftStr'" bekomme.

Liegt das nun an der StrUtils.dcu (in welcher unter anderem AnsiLeftStr steht), an der AnsiStrings.pas (http://docwiki.embarcadero.com/VCL/2...gs.AnsiLeftStr) oder an etwas anderem?

Bekomme ich dies zum Laufen indem ich ein paar wenige Dateien austausche, eine kleine Funktion erstelle oder bräuchte ich eine andere Delphi-Version?


Mit freundlichen Grüßen
JamesC

madtom 10. Aug 2013 07:27

AW: AnsiLeftStr funktioniert nicht
 
Hallo,

ich habe leider kein Delphi 6. In Delphi 2007 and XE2 sind diese beiden Funktionen in der StrUtils.pas zu finden, die du ja bereits in die Uses-Klauses aufgenommen hattest. Sollten sie wirklich nicht vorhanden sein, würde ich mir die Funktionen selber zusammenbauen. Ansätze dafür solltest Du in diversen Foren finden.

Gruß

jaenicke 10. Aug 2013 07:57

AW: AnsiLeftStr funktioniert nicht
 
Zitat:

Zitat von JamesC (Beitrag 1224208)
ich bin mit Delphi 6 PE unterwegs und würde gerne einen AnsiString etwas zerlegen und habe hierzu "AnsiEndStr", etc. gefunden.

Erstens bedeutet das Ansi bei neueren Delphiversionen nicht, dass es für AnsiStrings ist. Zweitens: Gibt es auch nicht EndsStr in deiner StrUtils?
Und drittens kannst du diese Funktionen ja genauso gut mit Copy und Pos selbst durchführen, das funktioniert in der fertigen Unit ja auch nicht grundlegend anders, nur vielleicht mal besser optimiert.

JamesC 10. Aug 2013 09:04

AW: AnsiLeftStr funktioniert nicht
 
Hi,

@jaenicke: Ich wollt's nur erwähnt haben, da ich es eben für einen AnsiString brauch. Und ja, auch EndsStr funktioniert bei mir.

Dann werd ich mal versuchen mir diese Funtkion selbst zu basteln.

Vielen Dank euch beiden.

JamesC

jaenicke 10. Aug 2013 09:08

AW: AnsiLeftStr funktioniert nicht
 
Zitat:

Zitat von JamesC (Beitrag 1224221)
@jaenicke: Ich wollt's nur erwähnt haben, da ich es eben für einen AnsiString brauch. Und ja, auch EndsStr funktioniert bei mir.

Dann werd ich mal versuchen mir diese Funtkion selbst zu basteln.

Wenn EndsStr bei dir geht, verstehe ich das Problem irgendwie nicht. :gruebel:

Sir Rufo 10. Aug 2013 09:15

AW: AnsiLeftStr funktioniert nicht
 
Solche AnsiString Funktionen können auch überladen sein, oder sich in einer separaten Unit befinden Delphi-Referenz durchsuchenAnsiStrings.EndsStr (min. ab XE2) ;)

JamesC 10. Aug 2013 09:24

AW: AnsiLeftStr funktioniert nicht
 
Ich hätte gerne beispielsweise die letzten 3 Zeichen meines Strings separiert. Diese Möglichkeit gibt einem AnsiRightStr.
AnsiEndsStr hingegen gibt mir True oder False zurück, je nachdem ob der String auf eine bestimmte Zeichenfolge endet. Das ist nicht das was ich gerne hätte.

@Sir Rufo: Auf das Embarcadero-Wiki bin ich auch bereits gestoßen. Hilft mir das irgendwie weiter?

mkinzler 10. Aug 2013 09:30

AW: AnsiLeftStr funktioniert nicht
 
Delphi-Quellcode:
sLetzte3 := Copy( s, Length( s) - 2, 3);

jaenicke 10. Aug 2013 10:08

AW: AnsiLeftStr funktioniert nicht
 
So, ich hab mal nachgeschaut...
Delphi-Quellcode:
LastThreeChars := RightStr(Str, 3);
Auch Delphi 6 hat schon die ganzen Funktionen wie RightStr, nur halt (da noch kein Unicode verfügbar war) ohne Ansi vornedran.

JamesC 10. Aug 2013 11:53

AW: AnsiLeftStr funktioniert nicht
 
Dankeschön. Somit ist das Problem für mich gelöst :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz