![]() |
Dateiinformationen auslesen und verändern
HI, wie kann ich die Datei-Informationen auslesen, bzw. verändern? -> Ich möchte die Informationen
dementsprechend in einem label oder einer edit-komponente angezeigt haben. Wenn eine Datei in der ShellListView ausgewählt wird, dann soll er die Informationen (Größe, Erstellt am...) ausgeben. Danke :stupid: |
Re: Dateiinformationen auslesen und verändern
Schau mal hier, sind nur 20 Threadsm, oder so, da findest Du alle Informationen, sogar spezielle ;-)
![]() ...:cat:... |
Re: Dateiinformationen auslesen und verändern
Danke erstmal, habe davor schon in der Library geguckt, aber nichts passendes gefunden.
|
Re: Dateiinformationen auslesen und verändern
|
Re: Dateiinformationen auslesen und verändern
Danke, aber wie verknüpfe ich das mit einer TShellView, bzw. eher ShellListView - Komponente??????
Und wie kann ich mir die Daten dann in einer Edit-Komponente anzeigen lassen? Ich habe schon etwas probiert, aber das klappt nicht. |
Re: Dateiinformationen auslesen und verändern
Moin Happycell,
wie wäre es denn, wenn Du uns mal Deine Versuche zeigst? |
Re: Dateiinformationen auslesen und verändern
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz