Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
|
Re: jeden anfangsbuchstaben eines wortes groß machen
28. Sep 2006, 19:24
Suche einmal bei Jedi nach AnsiProperCase: Bei den RxTools gab es diese Funktion.
Du könntest auch Folgendes mit DelimitedText versuchen:
Delphi-Quellcode:
function AnsiProperCase( string sQuelle ): string
var sListe: TStringList;
x1: integer;
begin
Result := '';
sListe := TStringList.Create;
try
// Quelltext komplett übernehmen
sListe.Delimiter := ' ';
sListe.QuoteChar := #0;
sListe.DelimitedText := sQuelle;
// als DelimitedText steht jedes Wort in einer einzelnen Zeile;
// jetzt wird jede Zeile einzeln verarbeitet
for x1 := 0 to sListe.Count - 1
do begin
if sListe[x1] <> ''
// die Konvertierung wird etwas umständlicher,
// weil AnsiUpperCase mit strings arbeitet
then sListe[x1] := AnsiUpperCase( Copy(sListe[x1],1,1)
+ Copy(sListe[x1],2,Length(sListe[x1]);
end;
// geänderten Gesamtstring zurückgeben
Result := sListe.DelimitedText;
finally
sListe.Free;
end;
end;
Ohne Gewähr: Mit DelimitedText habe ich (s.o.) niemals gearbeitet.
Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
|