Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Kde se koná výstava fotografií Luďka Vojtěchovského?

V dnešní soutěži hrajeme o:



Čas změny, vytvoření souboru

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Čas změny, vytvoření souboru

Autor: johnthehappy

21:54:53 09.08.2009

jan benedik ma pravdu, nake OLE je o hov....u

Citovat příspěvek

 

Re: Čas změny, vytvoření souboru

Autor: JanBenedik

15:15:05 07.08.2009

Ja by som skusil pouzit funkciu GetFileInformationByHandle z Kernel32.dll.

nejaka specifikacia:
http://msdn.microsoft.com/en-us/library/aa364952(VS.85).aspx

Budes ju musiet pridat ako external function a vytvorit si strukturu, ktoru das ako REF v druhom argumente. Popis tej struktury je v tej specifikacii (ale pre istotu, kedze stranky microsoftu nie su vecne, vola sa BY_HANDLE_FILE_INFORMATION).

Citovat příspěvek

 

Re: Čas změny, vytvoření souboru

Autor: farmnf

23:14:28 23.02.2009

Díky Jardovi za vyčerpávající návod, přidal jsem si ho do aplikace Tezko_resitelne_az_zkurvene_problemy. Mezitím mě jeden korejec poradil cestu přes OLE. Ta se taky hodí když jsme v těch WIN a s nimi spojenými hrůzami. Funkci předávám pouze string SOUBORCELEJMENO

--------------

String CESTASOUBORU, JMENOSOUBORU, ls_test
DateTime CASSOUBORU
OLEObject OBJEKTSHELLU, JMENOMEZERA, JMENOKONKRETNI

OBJEKTSHELLU = CREATE OLEObject
OBJEKTSHELLU.ConnectToNewObject( 'shell.application' )

CESTASOUBORU = Left( SOUBORCELEJMENO, LastPos( SOUBORCELEJMENO, "\" ) )
JMENOSOUBORU = Mid( SOUBORCELEJMENO, LastPos( SOUBORCELEJMENO, "\" ) + 1 )

IF FileExists( SOUBORCELEJMENO ) THEN
JMENOMEZERA = OBJEKTSHELLU.NameSpace( CESTASOUBORU )

IF IsValid( JMENOMEZERA ) THEN
JMENOKONKRETNI = JMENOMEZERA.ParseName( JMENOSOUBORU )

IF IsValid( JMENOKONKRETNI ) THEN
ls_test = JMENOMEZERA.GetDetailsOf( JMENOKONKRETNI, 3 )
CASSOUBORU = DateTime( ls_test )
END IF
else //soubor neni
Messagebox("Vada","Chybí soubor " + souborcelejmeno,stopsign!)
CASSOUBORU = datetime(Today ( ))
end if
END IF

DESTROY OBJEKTSHELLU
DESTROY JMENOMEZERA
DESTROY JMENOKONKRETNI

//messagebox(string (CASSOUBORU),"")

return CASSOUBORU
--------------------------------------------------------------

a pak tam někdo přidal ještě tento komentář, docela zajímavý



//Hi
//
//I have tested the solution with OleObjects, and that work perfektly. The function "LastPos" wasnt in PB 7.0, but that was easy to make.
//
//An additional info is that if you change the number (3) to any other number from 0 up to atleast 34 you will get almost every property on files.
//--"ls_test = obj_folder.GetDetailsOf( obj_item, 3 )"

//I have found this sofar:
// 0 = "Filename"
// 1 = "Size"
// 2 = "Type"
// 3 = "Modified date"
// 4 = "Created date"
// 5 = "Unknown"
// 6 = "Attributes"
// 7 = "???"
// 8 = "Domene"
// 9 = "Artist"
// 10= "Tittle"
// 11= ""
// 12= "Genre"
// 13= ""
// 14= "Comments"
// 15= ""
// 16= "Artist"
// 17= "Album title"
// 18= "Year"
// 19= ""
// 20= "Genre"
// 21= "Duration"
// 22= "Bitrate"
// 23= "Protected"
// 24= ""
// 25= ""
// 26= ""
// 27= ""
// 28= ""
// 29= ""
// 30= ""
// 31= ""
// 32= "???"
// 33= "Audio sample rate"
// 34= "Channels"

Citovat příspěvek

 

Re: Čas změny, vytvoření souboru

Autor: JardaPe

7:58:04 06.02.2009

Příklad na zjištění data změny souboru

Citovat příspěvek

 

Re: Čas změny, vytvoření souboru

Autor: jura.polak

8:27:55 05.02.2009

z těch názvů by to snad mohl být jen ten GetFileTime. Ten Ti zavolat jde? A co vrací? (já Ti takhle z rukávu nedokážu pomoct - jenom se snažím pomoct s nasměrováním snažení). CreateFile a OpenFile se zjišťováním času nemají nic společného.

Citovat příspěvek

 

Čas změny, vytvoření souboru

Autor: farmnf

23:15:04 04.02.2009

Zatímco ve VB, je zjistit vše o souboru, tedy i čas změny, verzi atd. hračka, v PB 11 je to hrůza nebo jsem blbej. Pokoušel jsem se zjistit tento údaj přes API pomocí CreateFile, OpenFile a následně GetFileTime (musí se deklarovat nejen API ale i příslušné structures). Handle CreateFile i OpenFile mi stále vrací stejné číslo, které mě je na hovno. Lidi, nedělali jste to někdo?

Potřebuji prostě zjistit jakýmkoliv způsobem, zda uživatel změnil či nezměnil soubor , např. C:\MujFile.rar s přesností na minuty.

Dík(seru se s tím už 2 dny)

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: