Einzelnen Beitrag anzeigen

sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#7

Re: Unicode Dateiname umbenennen um ihn öffnen zu können

  Alt 21. Jun 2006, 15:29
Zitat von Shivan:
Delphi-Quellcode:

{:Converts Ansi string to Unicode string using specified code page.
  @param  s        Ansi string.
  @param  codePage Code page to be used in conversion.
  @returns Converted wide string.
}

function StringToWideString(const s: AnsiString; codePage: Word): WideString;
var
  l: integer;
begin
  if s = 'then
    Result := ''
  else
  begin
    l := MultiByteToWideChar(codePage, MB_PRECOMPOSED, PChar(@s[1]), - 1, nil, 0);
    SetLength(Result, l - 1);
    if l > 1 then
      MultiByteToWideChar(CodePage, MB_PRECOMPOSED, PChar(@s[1]),
        - 1, PWideChar(@Result[1]), l - 1);
  end;
end; { StringToWideString }
Brauche gerade für was Anderes auch so eine Funktion, die Strings in WideString umwandelt. Aber 2 Fragen:

1) In welche Unit steht die Funktion: MultiByteToWideChar
2) Woher weiß ich, welchen Wert ich für die Codepage übergeben muss...Also angenommen der Zeichensatz ist Win1252..welcher Wert ist das und wo steht das?

Danke,

Martin

PS: Und wo ist MB_PRECOMPOSED definiert. Find das nirgendwo; bin zu doof
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat