Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: D2010 Char-AnsiChar Problem

  Alt 17. Mär 2010, 11:44
Zitat von himitsu:
Delphi-Quellcode:
function AnsiUpperFirstChar(const S: string): string;
var
  Temp: string; // <<<<<
begin
  Result := AnsiLowerCase(S);
  if S <> 'then
  begin
    Temp := Result[1];
    Temp := AnsiUpperCase(Temp);
    Result[1] := Temp[1];
  end;
end;
String[x] ist und bleibt, auch weiterhin unter D2009/D2010, ein ShortString und ein ShortString ist quasi die "alte" Version eines AnsiString, mit fester Speicherlänge.
Auch damit wirst du keine Freude haben, wenn mal Umlaute oder anderssprachige Zeichen am Wortanfang stehen. Besser wäre:
Delphi-Quellcode:
uses
  Character;

function UpperFirstChar(const s: string): string;
var
  Temp: Char;
begin
  Result := ToLower(s);
  if S <> 'then
  begin
    Temp := Result[1];
    Temp := ToUpper(Temp);
    Result[1] := Temp;
  end;
end;
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat