Autor Beitrag
lemmond1976
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: Fr 11.04.03 18:22 
Hallo,

ich habe folgende Routine geschrieben.
Allerdings bin ich noch etwas mit dem Quelltext unzufrieden.
Eigentlich müßte ich ja jeden Umlaut zählen und dann entsprechend in der for-Schleife 2 draufzählen. Ich habe es so gemacht...


ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
function TForm_fotograf.umlauteErsetzen(s:string):string;
var i,mycount:integer;
begin

mycount := length(s);
for i:=1 to mycount do begin

if s[i] = 'ä'
then begin
Delete(s,i,1);
Insert('ae',s,i);
mycount := mycount+2;
end;
if s[i] = 'ö'
then begin
Delete(s,i,1);
Insert('oe',s,i);
mycount := mycount+2;
end;
if s[i] = 'ü'
then begin
Delete(s,i,1);
Insert('ue',s,i);
mycount := mycount+2;
end;
if s[i] = 'ß'
then begin
Delete(s,i,1);
Insert('ss',s,i);
mycount := mycount+2;
end;

end;
Result := trim(s);

end;


Viele Grüße
Gunnar

Moderiert von user profile iconKlabautermann: Code-Tags hinzugefügt.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 11.04.03 18:35 
Wie wäre es mit StringReplace? :roll:
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 11.04.03 18:45 
2 Sachen :

1. Wozu ist das mycount gedacht (length (s) reicht wohl) ??
2.
ausblenden Quelltext
1:
function TForm_fotograf.umlauteErsetzen(s:string):string;					


Du definierst einen konstanten Parameter. Ersetzte mal (s:string)mit (var s : string);

Vielleicht wars das, aber ohne Gewähr.

_________________
Gruß
Hansa
lemmond1976 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: Fr 11.04.03 22:18 
@hansa: Danke, ich habe den Variablenparameter vergessen ! :-(((
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 12.04.03 05:22 
Gib es einen Grund für dein umständliches Vorgehen? :roll: Wenn ja wüßte ich ihn gerne.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 12.04.03 08:41 
Er weiß es (noch) nicht besser, @Luckie. Darum schreibt er ja auch:
lemmond1976 hat folgendes geschrieben:
Allerdings bin ich noch etwas mit dem Quelltext unzufrieden.

Dass er deinen Tipp mit StringReplace offenbar nicht bemerkt hat, ist eine Sache. Dass ich persönlich eine andere Routine anstelle von StringReplace benutzen würde, das ist wiederum eine völlig andere Sache. (Warum? - StringReplace verliert bei sehr großen Strings/Texten an Geschwindigkeit.)
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: So 13.04.03 12:21 
Nur aus Interesse (ich kann dank Personal version nicht nachschauen): Wie funktioniert den StringReplace intern? Benutzt es die Funktion Pos?

Gruß wulfskin!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 13.04.03 16:53 
Ist glaube ich reiner Assembler-Code.