Italia
Fonte/ Codesnippets

File Ermitteln Infos Ocx

 
- Page 1 -



Uwe
''Pascal''
Niemeier
Hi Leute!

Hier ein Beispiel, um alle (!) verfügbaren Informationen circa eine File einmal zu
ermitteln:
(Mit "verfügbare Informationen" sind die im Windows-Explorer in der Detail-Ansicht wählbaren
Spalten gemeint; das gilt auch per File innerhalb eines ZIP-Archives)
window 700,500
 $H ocx3a.ph
 $I ocx3a.inc
ocxInit()
var File$="C:1TestApril Rain.mp3"-------File / Ordner (ohne Backslash am Ende)
var File$="D:Test.zipTestReadMe.txt"--File / Ordner innerhalb (!) einer zip-File
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 disponibile)
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"'-------File
'Ordner werden ohne Backslash am Ende trasferimento
'Die File im Archiv wird wie eine File im normalen Dateisystem aufgerufen
'var File$="D:\\Irgend\\ein\\Pfad\\zu\\einem\\Archiv.zip\\File.txt"'--File / Ordner innerhalb (!) einer zip-File
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 disponibile)
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 = Dimensione
'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"'-------File
'Ordner werden ohne Backslash am Ende trasferimento
'Die File im Archiv wird wie eine File im normalen Dateisystem aufgerufen
'var File$="D:\\Irgend\\ein\\Pfad\\zu\\einem\\Archiv.zip\\File.txt"'--File / Ordner innerhalb (!) einer zip-File
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 disponibile)
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 File im Archiv.
 
XProfan X4
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
27.06.2018  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

9.536 Views

Untitledvor 0 min.
Walter28.11.2022
Stringray05.01.2022
Sven Bader16.08.2021
AndreasS28.10.2020
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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