| |
|
|
- 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 |
|
|
| |
|
|
|
« 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. ^^ |
|
|
| |
|
|
|
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. |
|
|
| |
|
|