![]() |
Re: groß/kleinschreibung
nein, daran liegt es nicht! Code von alzaimar in "richtiger" Form:
Delphi-Quellcode:
Var
bFirst : boolean; i : Integer; Begin bFirst := True; // <-- Nachträglich eingefügt For i := 1 to Length (aWord) do Begin If bFirst Then begin aWord[i] := Upc(aWord[i]); bFirst := False; end else aWord[i] := LowerCase(aWord[i]); bFirst := (aWord[i]=' '); End; End; |
Re: groß/kleinschreibung
Hallo Nicolai1605,
ich denke so klappt es auch und ist noch etwas schöner:
Delphi-Quellcode:
Var
bFirst : boolean; i : Integer; Begin bFirst := True; For i := 1 to Length (aWord) do Begin If bFirst Then aWord[i] := Upc(aWord[i]) else aWord[i] := LowerCase(aWord[i]); bFirst := (aWord[i]=' '); End; End; |
Re: groß/kleinschreibung
Zitat:
|
Re: groß/kleinschreibung
Wie wäre es in der Art
Delphi-Quellcode:
PS: Wer hat behauptet, daß das erste Zeichen nicht auch schon ein Leerzeichen ist und ob überhaupt was eingegeben wurde?
Function CreateCorrectName(Const MyName: String): String;
Var i: Integer; Begin Result := AnsiLowerCase(Trim(MyName)); If Result = '' Then Exit; i := 1; While i > 0 do Begin Result[i] := UpperCase(Result[i]); i := PosEx(' ', Result, i); If i <> 0 Then Inc(i); End; End; |
Re: groß/kleinschreibung
Zitat:
Zitat:
|
Re: groß/kleinschreibung
Außerdem muß ein Name ja nicht unbedingt per " " getrennt sein ... Doppelnamen werden oft per "-" getrennt und wenn man zuerst den Nachnamen angibt, mach man im Allgemeinen ein "," rein.
Delphi-Quellcode:
In dem Code wird zwar bei mehreren aufeinanderfolgenden " ", "-" und/oder "," zwar unnötig versucht eines der Zeichen Großzuschreiben, aber dat is ja eigentlich egal ... jedenfalls wäre 'ne Abfrage um das zu verhindern nicht sehr viel Performanceeinbringender ^^
Function CreateCorrectName(Const MyName: String): String;
Var i: Integer; Begin Result := AnsiLowerCase(Trim(MyName)); i := 1; While i <= Length(Result) do Begin Result[i] := UpperCase(Result[i]); While (i <= Length(Result) and not (Result[i] in [' ', '-', ',']) do Inc(i); Inc(i); End; End; |
Re: groß/kleinschreibung
klar. ich test das jetzt mal in meiner stringgrid mit der 1.spalte.
cya |
Re: groß/kleinschreibung
Hallo,
eine andere Möglichkeit wäre es mit Hilfe einer Stringliste zu lösen:
Delphi-Quellcode:
Grüße von Dale
FUNCTION CreateCorrectName(MyName: STRING): STRING;
VAR i : Integer; Liste: TStrings; BEGIN Liste := TStringList.Create; Liste.Delimitier := ' '; // Hier muss natürlich ein Leerzeichen stehen Liste.DelimitedText := MyName; FOR i := 0 TO Liste.Count - 1 DO Liste[i] := UpperCase(Liste[i]); // und da hat eine Klammer gefehlt Result := Liste.DelimitedText; Liste.Free; END; |
Re: groß/kleinschreibung
Delphi-Quellcode:
MyName[i] := UpperCase(MyName[i]);
Zitat:
Delphi-Quellcode:
While not (MyName[i] in [' ', '-', ',']) do Inc(i);
Zitat:
|
Re: groß/kleinschreibung
Tut mir leid, hab halt die Parameter von UpCase nicht im Kopf ... schau mal in die OH, aber vielleicht hilf da
UpCase(MyName[i])[1]; Und wegen der "linken Seite" ... geh nochmal in meinen Post da oben (hatte einiges durch Result ersetzt :zwinker: und gerade noch ein (i <= Length(Result) and eingefügt :stupid: ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:38 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