Einzelnen Beitrag anzeigen

PeterKiers

Registriert seit: 15. Mär 2005
Ort: Wuppertal
42 Beiträge
 
#1

WinAPI Funktion GetShortPathName

  Alt 19. Jan 2007, 17:12
Hallo!
hab mal Folgende Frage

Mit dieser Funktion können Lange Pfade in kurtze umgewandelt werden:

Code:
uses
  Windows, SysUtils;

function GetShortName(sLongName: string): string;
var
  sShortName:   string;
  nShortNameLen: Integer;
begin
  SetLength(sShortName, MAX_PATH);
  nShortNameLen := GetShortPathName(PChar(sLongName), PChar(sShortName), MAX_PATH - 1);
  if (0 = nShortNameLen) then
  begin
    // handle errors...
  end;
  SetLength(sShortName, nShortNameLen);
  Result := sShortName;
end;

// Example:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := GetShortName('C:\Program Files\Delphi6\Lib\test.cnt');
  // --> C:\PROGRA~1\Delphi6\Lib\test.cnt
end;
meinen code:

Code:

function GetShortName(sLongName: string): string;
var
  sShortName:   string;
  nShortNameLen: Integer;
begin
  SetLength(sShortName, MAX_PATH);
  nShortNameLen := GetShortPathName(PChar(sLongName), PChar(sShortName), MAX_PATH - 1);
  if (0 = nShortNameLen) then
  begin
    // handle errors...
  end;
  SetLength(sShortName, nShortNameLen);
  Result := sShortName;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption := GetShortName(Edit1.Text);
end;

Es funktioniert nicht. Was mach ich falsch?

Hoffe ihr könnt mir helfen und danke schonmal im Voraus.

Peter kiers
  Mit Zitat antworten Zitat