kann ich machen, aber bisher weiss ich nicht wie ich das auswählen einer Datei in die TShellView einbinden soll. Hm, ja, also
wie kann ich folgendes bewerkstelligen
Ich habe eine ShellListView - Komponente, und möchte, dass wenn in dieser Komponente eine Datei
angeklickt wird (ShellListView1.items[i].selected? ShellListView1. ...??) dann soll er in mehreren
Edit-Komponenten die gegebenen Informationen anzeigen -> Dateigröße, Geändert am...
Aber ich bekomme es nicht hin, weil ich nicht weiss, wie ich diesen Code einbinden muss:
Source:
Delphi-Quellcode:
function GetFileInfo(
* var aInternalName, aFileVersion: String; FileName: AnsiString
): Boolean;
var
* VersionInfoSize, VerInfoSize, GetInfoSizeJunk: DWORD;
* VersionInfo, Translation, InfoPointer: Pointer;
* VersionValue: AnsiString;
begin
* Result := False;
* VerInfoSize := GetFileVersionInfoSize(PChar(FileName), GetInfoSizeJunk);
* if VerInfoSize > 0 then
* begin
* * GetMem(VersionInfo, VerInfoSize);
* * try
* * * GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VersionInfo);
* * * VerQueryValue(
* * * * VersionInfo, '\\VarFileInfo\\Translation', Translation, VerInfoSize
* * * );
* * * VersionValue :=
* * * * '\\StringFileInfo\\' + IntToHex(LoWord(LongInt(Translation^)), 4) +
* * * * IntToHex(HiWord(LongInt(Translation^)), 4) + '\\';
* * * VersionInfoSize := 0;
* * * VerQueryValue(
* * * * VersionInfo, PChar(VersionValue + 'InternalName'), InfoPointer,
* * * * VersionInfoSize
* * * );
* * * aInternalName := AnsiString(PChar(InfoPointer));
* * * VerQueryValue(
* * * * VersionInfo, PChar(VersionValue + 'FileVersion'), InfoPointer,
* * * * VersionInfoSize
* * * );
* * * aFileVersion := AnsiString(PChar(InfoPointer));
* * finally
* * * FreeMem(VersionInfo);
* * end;
* * aInternalName := Trim(aInternalName);
* * aFileVersion := Trim(aFileVersion);
* * Result := (aInternalName <> '') and (aFileVersion <> '');
* end;
end;
bzw. umd die Attribute zu ändern:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
* attrs : Integer;
begin
* attrs := FileGetAttr( 'C:\io.sys');
* If attrs and faReadOnly > 0 then
* showMessage( 'Schreibgeschützt' );
* If attrs and faHidden > 0 then
* showMessage( 'Verstecktt' );
* If attrs and faSysFile > 0 then
* showMessage( 'Systemdatei' );
* If attrs and faVolumeID > 0 then
* showMessage( 'Laufwerks-ID' );
* If attrs and faDirectory > 0 then
* showMessage( 'Verzeichnis' );
* If attrs and faArchive > 0 then
* showMessage( 'Archivdatei' );
* If attrs and faAnyFile > 0 then
* showMessage( 'Irgendeine Datei' );
end;
Bitte helft mir. danke