Deutsch
Quelltexte/ Codesnippets

Datei Ermitteln Infos Ocx

 
- Seite 1 -



Uwe
''Pascal''
Niemeier
Hi Leute!

Hier ein Beispiel, um alle (!) verfügbaren Informationen über eine Datei auf einmal zu
ermitteln:
(Mit "verfügbare Informationen" sind die im Windows-Explorer in der Detail-Ansicht wählbaren
Spalten gemeint; das gilt auch für Dateien innerhalb eines ZIP-Archives)
window 700,500
 $H ocx3a.ph
 $I ocx3a.inc
ocxInit()
var File$="C:1TestApril Rain.mp3"-------Datei / Ordner (ohne Backslash am Ende)
var File$="D:Test.zipTestReadMe.txt"--Datei / Ordner innerhalb (!) einer zip-Datei
var Folder$=del$(File$,len(File$,"\"),1,"\")-----Übergeordneter Ordner von File$
var Name$=substr$(File$,-1,"\")-------------------Dateiname von File$
var Shell&=ocxCreate("Shell.Application")----------Shell-Objekt
var Folder&=ocxMethod(Shell&,"NameSpace",Folder$)--Folder-Objekt
var File&=ocxMethod(Folder&,"ParseName",Name$)-----FolderItem-Objekt
var Lv&=create("gridbox",%hwnd,"Nr;0;40;Eigenschaft;0;250;Wert;0;250",0,10,10,600,400)
declare Info$,Data$

whileloop 0,50------------------------------------------Wie viele Details gibts eigendlich?

    Info$=ocxMethod(Folder&,"GetDetailsOf",0,&loop)------In Folder verfügbare Beschreibungen
    casenot len(Info$):continue--------------------------Manche Beschreibungen sind leer (?)
    Data$=ocxMethod(Folder&,"GetDetailsOf",File&,&loop)--Details zu File
    addstring(Lv&,str$(&loop)+"|"+Info$+"|"+Data$)-------Zu Gridbox hinzufügen

endwhile

Data$=ocxMethod(Folder&,"GetDetailsOf",File&,-1)--------Text von ToolTip (falls verfügbar)
case len(Data$):messagebox(Data$,"ToolTip-Text",0)
ocxRelease(File&,Folder&,Shell&)
ocxDeInit()
waitkey

PS: Details hierzu siehe MSDN unter "Shell Objects for Scripting and Microsoft Visual Basic"

SeeYou
Pascal
 
30.12.2009  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Jörg
Sellmeyer
Hier nochmal der reparierte Code von Uwe:
window 700,500
 $H ocx3a.ph
 $I ocx3a.inc
ocxInit()
var File$="D:\\Irgend\\ein\\Pfad\\zu\\einer\\Musik.MP3"'-------Datei
'Ordner werden ohne Backslash am Ende übergeben
'Die Datei im Archiv wird wie eine Datei im normalen Dateisystem aufgerufen
'var File$="D:\\Irgend\\ein\\Pfad\\zu\\einem\\Archiv.zip\\Datei.txt"'--Datei / Ordner innerhalb (!) einer zip-Datei
var Folder$=del$(File$,len(File$,"\\"),1,"\\")'-----Übergeordneter Ordner von File$
var Name$=substr$(File$,-1,"\\")'-------------------Dateiname von File$
var Shell&=ocxCreate("Shell.Application")'----------Shell-Objekt
var Folder&=ocxMethod(Shell&,"NameSpace",Folder$)'--Folder-Objekt
var File&=ocxMethod(Folder&,"ParseName",Name$)'-----FolderItem-Objekt
var Lv&=create("gridbox",%hwnd,"Nr;0;40;Eigenschaft;0;250;Wert;0;250",0,10,10,600,400)
declare Info$,Data$

whileloop 0,50'------------------------------------------Wie viele Details gibts eigendlich?

    Info$=ocxMethod(Folder&,"GetDetailsOf",0,&loop)'------In Folder verfügbare Beschreibungen
    casenot len(Info$):continue'--------------------------Manche Beschreibungen sind leer (?)
    Data$=ocxMethod(Folder&,"GetDetailsOf",File&,&loop)'--Details zu File
    addstring(Lv&,str$(&loop)+"|"+Info$+"|"+Data$)'-------Zu Gridbox hinzufügen

endwhile

Data$=ocxMethod(Folder&,"GetDetailsOf",File&,-1)'--------Text von ToolTip (falls verfügbar)
case len(Data$):messagebox(Data$,"ToolTip-Text",0)
ocxRelease(File&,Folder&,Shell&)
ocxDeInit()
waitkey
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.06.2018  
 



OMG, wie lecker. ^^
 
30.12.2009  
 




Jörg
Sellmeyer
Weil ichs so interessant finde, habe ich daraus mal eine kleine Prozedur gemacht, mit der man schnell einzelne Inhalte abrufen kann:
'0 = Name
'1 = Größe
'2 = Typ
'3 = Geändert am
'4 = Erstellt am
'5 = Letzter Zugriff am
'6 = Attribute
'7 = Status
'8 = Besitzer
'9 = Autor
'10 = Titel
'11 = Thema
'12 = Kategorie
'13 = Seiten
'14 = Kommentare
'15 = Copyright
'16 = Interpret
'17 = Albumtitel
'18 = Jahr
'19 = Titelnummer
'20 = Genre
'21 = Dauer
'22 = Bitrate
'23 = Geschützt
'24 = Kameramodell
'25 = Bild aufgenommen am
'26 = Abmessungen
'27 = X Pixel
'28 = Y Pixel
'29 = Folgenname
'30 = Sendungsbeschreibung
'31 =
'32 = Abtastgröße
'33 = Abtastrate
'34 = Kanäle
'35 = Firma
'36 = Beschreibung
'37 = Dateiversion
'38 = Produktname
'39 = Produktversion
'40 = Keywords
 $H ocx3a.ph
 $I ocx3a.inc

Proc GetFileInfo

    Parameters File$,Info%
    ocxInit()
    Var Folder$ = Del$(File$,len(File$,"\"),1,"\")'-----Übergeordneter Ordner von File$
    Var Name$ = SubStr$(File$,-1,"\\")'-------------------Dateiname von File$
    '$D "",File$,Info%,Folder$,Name$
    Var Shell& = ocxCreate("Shell.Application")'----------Shell-Objekt
    Var Folder& = ocxMethod(Shell&,"NameSpace",Folder$)'--Folder-Objekt
    Var File& = ocxMethod(Folder&,"ParseName",Name$)'-----FolderItem-Objekt
    Var Info$ = ocxMethod(Folder&,"GetDetailsOf",File&,Info%)
    ocxRelease(File&,Folder&,Shell&)
    ocxDeInit()
    Return Info$

EndProc

Window 400,650

WhileLoop 0,40

    Print &Loop,GetFileInfo(Par$(0),&Loop)

Wend

waitkey
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
31.12.2009  
 




Jörg
Sellmeyer
Hier nochmal der reparierte Code von Uwe:
window 700,500
 $H ocx3a.ph
 $I ocx3a.inc
ocxInit()
var File$="D:\\Irgend\\ein\\Pfad\\zu\\einer\\Musik.MP3"'-------Datei
'Ordner werden ohne Backslash am Ende übergeben
'Die Datei im Archiv wird wie eine Datei im normalen Dateisystem aufgerufen
'var File$="D:\\Irgend\\ein\\Pfad\\zu\\einem\\Archiv.zip\\Datei.txt"'--Datei / Ordner innerhalb (!) einer zip-Datei
var Folder$=del$(File$,len(File$,"\\"),1,"\\")'-----Übergeordneter Ordner von File$
var Name$=substr$(File$,-1,"\\")'-------------------Dateiname von File$
var Shell&=ocxCreate("Shell.Application")'----------Shell-Objekt
var Folder&=ocxMethod(Shell&,"NameSpace",Folder$)'--Folder-Objekt
var File&=ocxMethod(Folder&,"ParseName",Name$)'-----FolderItem-Objekt
var Lv&=create("gridbox",%hwnd,"Nr;0;40;Eigenschaft;0;250;Wert;0;250",0,10,10,600,400)
declare Info$,Data$

whileloop 0,50'------------------------------------------Wie viele Details gibts eigendlich?

    Info$=ocxMethod(Folder&,"GetDetailsOf",0,&loop)'------In Folder verfügbare Beschreibungen
    casenot len(Info$):continue'--------------------------Manche Beschreibungen sind leer (?)
    Data$=ocxMethod(Folder&,"GetDetailsOf",File&,&loop)'--Details zu File
    addstring(Lv&,str$(&loop)+"|"+Info$+"|"+Data$)'-------Zu Gridbox hinzufügen

endwhile

Data$=ocxMethod(Folder&,"GetDetailsOf",File&,-1)'--------Text von ToolTip (falls verfügbar)
case len(Data$):messagebox(Data$,"ToolTip-Text",0)
ocxRelease(File&,Folder&,Shell&)
ocxDeInit()
waitkey
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.06.2018  
 




Jörg
Sellmeyer
Nochmal die Korrektur aktualisiert. Jetzt gehts auch mit der Datei im Archiv.
 
XProfan X4
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
27.06.2018  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

9.482 Betrachtungen

Unbenanntvor 0 min.
Walter28.11.2022
Stringray05.01.2022
Sven Bader16.08.2021
AndreasS28.10.2020
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie