Einzelnen Beitrag anzeigen

happycell

Registriert seit: 26. Jan 2004
Ort: Berlin
16 Beiträge
 
#7

Re: Dateiinformationen auslesen und verändern

  Alt 16. Mär 2004, 14:59
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
Bitte ein Bit
  Mit Zitat antworten Zitat