dieser Code hat Probleme mit Umlauten im Pfadnamen.
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ShellApi;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
SelectDirectoryDialog1: TSelectDirectoryDialog;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
function GetFileTypename(const Filename: string): string;
// Quelle: http://www.delphi-treff.de/tipps-tricks/dateienverzeichnisse/dateieigenschaften/dateityp-ermitteln/
var Info: TSHFileInfo;
begin
if SHGetFileInfo(PChar(Filename), 0, Info, SizeOf(Info), SHGFI_TYPENAME) <> 0 then
Result := Info.szTypeName
else
Result := '';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if SelectDirectoryDialog1.Execute then
begin
Memo1.Append('"'+SelectDirectoryDialog1.FileName+'" ist vom FileType= '+GetFileTypename(SelectDirectoryDialog1.FileName));
if DirectoryExists(SelectDirectoryDialog1.FileName) then
Memo1.Append(SelectDirectoryDialog1.FileName+' existiert.')
else
Memo1.Append('"'+SelectDirectoryDialog1.FileName+'" existiert nicht! FileType= '+GetFileTypename(SelectDirectoryDialog1.FileName));
Memo1.Append('---');
end;
end;
end.
Was muß ich ändern, damit Umlaute keine Probleme mehr machen?
Wie gehe ich bei FindFirst/FindNext vor, damit auch die keine Probleme mit Umlauten haben?
Gruß Heiko