Home » Tipps & Tricks » Object Pascal » Strings » Jedes Wort mit einem Großbuchstaben beginnen
Jedes Wort mit einem Großbuchstaben beginnen
Die Funktion MixedCase konvertiert einen String so, dass jedes Wort mit einem Großbuchstaben beginnt.
function MixedCase(SourceStr: String): String; var aPChar1: PChar; newPChar: PChar; begin aPChar1:= StrAlloc(Length(SourceStr)+1); try StrPCopy(aPChar1,SourceStr); newPChar:= StrMixedCase(aPChar1); Result:= StrPas(newPChar); finally StrDispose(aPChar1); end; end; function StrMixedCase(SourceStr: PChar): PChar; var I: Word; SourcePos: PChar; CharStr: String[1]; NextBig: Boolean; begin if StrLen(SourceStr) > 1 then begin SourcePos := SourceStr; NextBig := True; for i := 1 To StrLen(SourceStr) do begin CharStr[1] := SourcePos^; if NextBig then CharStr := UpperCase(CharStr) else CharStr := LowerCase(CharStr); SourcePos^:= CharStr[1]; NextBig := (SourcePos^ in [' ','.','!','?','-',';',',',#13]); Inc(SourcePos); end; end; Result := SourceStr; end;