Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dateiinformationen auslesen und verändern (https://www.delphipraxis.net/18155-dateiinformationen-auslesen-und-veraendern.html)

happycell 15. Mär 2004 16:44


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:

sakura 15. Mär 2004 16:55

Re: Dateiinformationen auslesen und verändern
 
Schau mal hier, sind nur 20 Threadsm, oder so, da findest Du alle Informationen, sogar spezielle ;-)

http://www.delphipraxis.net/internal_redirect.php?f=33

...:cat:...

happycell 15. Mär 2004 17:03

Re: Dateiinformationen auslesen und verändern
 
Danke erstmal, habe davor schon in der Library geguckt, aber nichts passendes gefunden.

sakura 15. Mär 2004 17:11

Re: Dateiinformationen auslesen und verändern
 
http://www.delphipraxis.net/internal...ect.php?t=2880
http://www.delphipraxis.net/internal...ect.php?t=5616

ausserhalb der CL
http://www.delphipraxis.net/internal...ct.php?t=13145
http://www.delphipraxis.net/internal...ct.php?t=12528


...:cat:...

happycell 15. Mär 2004 17:26

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.

Christian Seehase 15. Mär 2004 19:01

Re: Dateiinformationen auslesen und verändern
 
Moin Happycell,

wie wäre es denn, wenn Du uns mal Deine Versuche zeigst?

happycell 16. Mär 2004 13:59

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