Een longstring omzetten naar een shortstring

Status
Niet open voor verdere reacties.

peterkiers

Gebruiker
Lid geworden
3 mei 2006
Berichten
15
Geacte Experts,

Ik heb deze code geschreven om een longstring om te zetten naar een shortstring

Code:
function GetShortName(FileName : String) : String ; 
var 
  ShortName : array [0..255] of Char; 
begin 
  GetShortPathName(FileName, ShortName, 255); 
  Result := ShortName; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
  d: TOpendialog; 
begin 
  d := TOpendialog.Create(self); 
  try 
    if d.Execute then 
     Caption := GetShortName(d.FileName); 
  finally 
    d.free; 
  end; 
end; 
end

Maar ik krijg de volgende foutmelding:

[Error] Main.pas(30): Incompatible types: 'String' and 'PAnsiChar'

Wat doe ik fout? wie kan mij helpen?

Alvast bedankt,

Peter Kiers
 
Best je was er bijna je moest gewoon nog een explicitie cast doen van string naar pchar
ik hoop dat ik kon helpen

function GetShortName(FileName : String) : String ;
var
ShortName : array [0..255] of Char;
begin
GetShortPathName(PChar(FileName), ShortName, 255); //hier

Result := ShortName;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
d: TOpendialog;
begin
d := TOpendialog.Create(self);
try
if d.Execute then
Caption := GetShortName(d.FileName);
finally
d.free;
end;
end;
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan