![]() |
ReplaceStr Schwierigkeiten
Hallo zusammen,
habe mit der Funktion ReplaceStr() Probleme in einer zweiten Unit. Dort benötige ich diese Funktion und da kommt aber die Meldung "Undefinierter Bezeichner ReplaceStr" Ich habe in der uses ... Windows, Messages, SysUtils, StrUtils ,Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls ... eingebunden. Kann mir bitte jemand sagen, was ich noch einbinden muss, damit ich diese Funktion verwenden kann. Im Google habe ich leider keinen Hinweis gefunden. Danke! Gruss LingNeu |
AW: ReplaceStr Schwierigkeiten
![]() ![]() Es kann aber auch sein, dass es diese Funktion unter Delphi 7 noch nicht gab. Na dann erstellt man sich so eine und sammelt diese und ähnliche in einer
Delphi-Quellcode:
unit StrUtilsEx;
|
AW: ReplaceStr Schwierigkeiten
Sollte eigentlich in System.StrUtils enthalten sein. Zeig mal deinen Code.
|
AW: ReplaceStr Schwierigkeiten
Gibt es ReplaceStr überhaupt?
Normalerweise ist es doch StringReplace oder nicht? Oder sind das 2 verschiedene (gleiche) Funktionen? |
AW: ReplaceStr Schwierigkeiten
@sir rufo,
danke für die seiten, diese hatte ich auch schon im visier, aber da steht auch nur die strutils drin, diese habe ich aber in der uses wenn ich die funktion in meine hauptform (unit1) reinmache nimmt delphi diese an, aber nicht in der FunctionUnit, welche ich als funktionenpool verwende. @luckie diese funktion brauche in in einer Umwandlungsfunktion
Delphi-Quellcode:
danke für jeden Hinweis!
unit functions;
interface uses Windows, Messages, SysUtils, StrUtils ,Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, SUIButton, Mask, SUIEdit, SUIMemo, SUIImagePanel ; function convert(astring: Ansistring): string; var tmp: string; i: integer; begin tmp := UpperCase(astring); tmp := ReplaceStr(tmp,'ä','AE'); tmp := ReplaceStr(tmp,'ö','OE'); tmp := ReplaceStr(tmp,'ü','UE'); tmp := ReplaceStr(tmp,'ß','SS'); //alle nicht Buchastaben löschen for i := length(tmp) downto 1 do begin if (tmp[i]<'A') or (tmp[i]>'Z') then delete(tmp,i,1); end; result := tmp; end; Lingneu |
AW: ReplaceStr Schwierigkeiten
Ich habe bei Google auf die Schnelle hier gefunden:
![]() Aber jetzt, wo du es sagst.... :roll: |
AW: ReplaceStr Schwierigkeiten
Da fehlt so ein schönes Schlüsselwort, nach dem ich benannt bin. Einfach zwischen die uses-Klausel und die Funktion stecken. Und hinterher die Funktion am Besten nochmal im interface-Teil erwähnen (dort nur erwähnen, nicht implementieren!).
Edit: Nur um mich klarer auszudrücken:
Delphi-Quellcode:
uses ...;
function convert(astring: Ansistring): string; // damit du in der ersten Unit drauf zugreifen kannst implementation // <-- der springende Punkt function convert(astring: Ansistring): string; var ... |
AW: ReplaceStr Schwierigkeiten
Hallöle...
Zitat:
Zitat:
|
AW: ReplaceStr Schwierigkeiten
@implementation
danke für den Hinweis, aber das habe ich auch gemacht, nur nicht im vorherigen Beispielcode angegeben
Delphi-Quellcode:
LingNeuunit functions; interface uses Windows, Messages, SysUtils, StrUtils ,Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, SUIButton, Mask, SUIEdit, SUIMemo, SUIImagePanel; function RightStr(Const Str: String; Size: Word): String; function MidStr(Const Str: String; From, Size: Word): String; function LeftStr(Const Str: String; Size: Word): String; function textumbau(text1: string; text2: string; variation: integer): string; function strtonum(wert:string;istfloat:boolean):double; function DigitSum(i : Integer): Integer; function convert(astring: AnsiString): string; implementation function convert(astring: Ansistring): string; var tmp: string; i: integer; begin tmp := UpperCase(astring); tmp := ReplaceStr(tmp,'ä','AE'); tmp := ReplaceStr(tmp,'ö','OE'); tmp := ReplaceStr(tmp,'ü','UE'); tmp := ReplaceStr(tmp,'ß','SS'); //alle nicht Buchastaben löschen for i := length(tmp) downto 1 do begin if (tmp[i]<'A') or (tmp[i]>'Z') then delete(tmp,i,1); end; result := tmp; end; |
AW: ReplaceStr Schwierigkeiten
Zitat:
Vorschlag:
Delphi-Quellcode:
function convert(astring: Ansistring): string;
var tmp: string; i: integer; begin // Wandelt auch die Umlaute um! tmp := AnsiUpperCase(astring); tmp := AnsiReplaceStr(tmp,'Ä','AE'); tmp := AnsiReplaceStr(tmp,'Ö','OE'); tmp := AnsiReplaceStr(tmp,'Ü','UE'); tmp := AnsiReplaceStr(tmp,'ß','SS'); // alle? nicht Buchstaben löschen // Á, È, ... gehen auch verloren! for i := length(tmp) downto 1 do begin if (tmp[i]<'A') or (tmp[i]>'Z') then delete(tmp,i,1); end; result := tmp; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 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