Newsgroup: it.comp.lang.c++
Titolo: Problema con l'ape SetFileDateTime

Un saluto a tutti!
Mi hanno consigliato di postare la mia domanda qui xché siete esperti di
api. Bene. Io ho un grosso problema, grosso 1 secondo!!! Infatti all'apina
SetFileDateTime non piacciono per niente i numeri dispari nei secondi della
data di ultima modifica. Io uso quest'ape in VB (please, no comment,
sappiamo tutti le differenze fra C/C++ e VB...) e proprio non ne vuole
sapere di funzionare: se per esempio setto come data il 19/09/96 12.33.15
l'ape mi scrive sul file la data 19/09/96 12.33.14!!!!! Come mai? E' una
specie di bug conosciuto?
Grazie 1000!
Franco Stefanelli - Developer [VB5SP3]
- 
fras...@franco.geocities.com
 -
[Remove 'franco.' from my e-mail address in order to write me]
**************************************************************
http://www.geocities.com/SiliconValley/Haven/2388/
      *** Franco's
Developing Site ***
http://freeweb.aspide.it/freeweb/AnFStefanelliweb
       ***          My own
*** AGGIORNATO!!!

specie di bug conosciuto?
Riassumendo: eh si`, conosciutissimo, ma legato al filesystem
che usi (e in esso impossibile da risolvere) e non alle API o ad
altri strumenti di programmazione che puoi usare per lavorarci.
Sparira` se e quando upgraderai a Windows/NT con NTFS, o
altro sistema operativo e filesystem degni di questo nome, al
posto dei vari Dos/Win, Win95, Win98 [supponendo che il bug
sia anche sul filesystem FAT32], e via spataccando...!
Alex

sia anche sul filesystem FAT32], e via spataccando...!
Su Fat32 il problema non esiste piu'
P.es., dalle proprieta' di due file:
sabato 27 dicembre 1997 19.01.57
lunedě 26 giugno 1995 5.30.00
Followup: it.comp.prog
Cordialita'
Mario Benvenuti
--
e-mail: 
mar...@isa.it
http://www.isa.it/computerville/
http://pgp5.ai.mit.edu:11371/pks/lookup?op=get&search=0x21C696DC
Fingerprint: 32 DF 25 44 B6 D8 DC 1F 3A 38 7F E8 A3 B6 C2 32 21 C6 96 DC

altri strumenti di programmazione che puoi usare per lavorarci.
Io xò ho fatto una prova: ho usato l'ape setfiletimewrite che modifica solo
lo stamp time e con quella riesco a settare la data di ultima modifica anche
conun orario tipo 12:34:28 (nota che è pari!!!). Quindi non è forse un
problema della dll a cui si riferisce l'ape?
Grazie


problema della dll a cui si riferisce l'ape?
Pari e` quel che si puo` settare anche in filesystem FAT16,
mi sembra.  Forse e` questione di "numero di secondi che
sono trascorsi da una certa data/ora di riferimento".  Prova
comunque se riesci a settare per diversi file nello stesso
folder vari tempi che differiscono di un secondo, tipo (any
ora e minuto) :00, :01,:02, :03, e cosi` via, quella e` la
prova del fuoco.
Comunque, e` possibilissimo che una libreria fatta per andare
su sistemi a 16 bit tronchi lei stessa il bit meno significativo
(anzi, deve, se funziona su di una emulazione di DOS, perche`
la relativa funzione dell'int 21h del DOS non prevede l'ultimo
bit, quello che puo` rendere dispari i secondi).  In questo caso,
la soluzione e` di passare a sistemi di sviluppo integralmente
a 32 bit (oltre che a filesystem adeguati, cioe` NON Fat16).
Alex

a 32 bit (oltre che a filesystem adeguati, cioe` NON Fat16).
Io uso un sistema di sviluppo completamente a 32 bit, ma il filesystem
cambia a seconda dell'itente che utilizza la mia applicazione, ora con win98
tutti dovrebbero avere la fat32, ma in giro c'è parecchia gente che ha la
fat16 (ie: IO!!!)
Grazie e scusa x il msg di prima, ma ero fuso
Franco Stefanelli - Developer [VB5SP3]
- 
fras...@franco.geocities.com
 -
[Remove 'franco.' from my e-mail address in order to write me]
**************************************************************
http://www.geocities.com/SiliconValley/Haven/2388/
      *** Franco's
Developing Site ***
http://freeweb.aspide.it/freeweb/AnFStefanelliweb
       ***          My own
*** UPDATED!!!
http://www.reolcity.com/rolmagazine/home.html
           *** The Web-Magazine
which I write for ***

fat16 (ie: IO!!!)
Anche Win98 supporta la Fat16 (hey, persino Win/NT 5.0 la
supporta!!!) -- non ce la toglieremo mai di torno... evidentemente
la gente AMA buttare via grosse fette del suo spazio disco per
usare i cluster giganteschi che la Fat16 impone sui grandi dischi
di oggi, avere solo secondi pari nelle ore dei file, ecc ecc!-)
Il tuo programma non puo` farci assolutamente niente quindi ti
consiglio di limitarti a documentare la cosa come limitazione
del sistema, consigliando agli utenti di passare a un filesystem
decente (_almeno_ Fat32, che e` semi-decente, se non NTFS
che e` decisamente meglio) -- naturalmente, dovrai prima fare
un test del tuo sistema su di una macchina con filesystem
semi-adeguato per potere asserire che li` funziona bene.
Alex