PDA

View Full Version : Fare un programmino


Marco
28-06-2002, 10:55
Ciao.

Avrei bisogno di un favore.

io dovrei trasformare un file di nome

pippo.txt

in un file di tipo

pippo.txt.AAAAMMGGHHMMSS

dove AAAAMMGG rappresenta la data in formato anno, mese, giorno e HHMMSS l’ora di memorizzazione in formato ora, minuti, secondi del file.

Questo "rename" dovrebbe essere quindi dinamico e pescare i valori in questione dall'orologio di sistema.

Qualsiasi linguaggio va bene (meglio sarebbe visual basic), basta che giri su Win32.

Grazie per l'aiuto ;)

MSciglio
28-06-2002, 22:33
Ciao.

Prova con :

-------------------------------------------------
CString vecchioNome,nuovoNome;
CTime time=CTime::GetCurrentTime();

vecchioNome="prova.txt";

nuovoNome.Format("%d%d%d%d%d%d",time.GetYear(), time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());

nuovoNome=vecchioNome + nuovoNome;

MoveFile(vecchioNome,nuovoNome);
----------------------------------------------------------

Ovviamente è scritto in Visual C++. Spero funzioni... non l'ho provato.

Bye

Marco
29-06-2002, 12:40
Ora lo provo.

Ti faccio sapere.

Grazie ;)

Marco
01-07-2002, 21:28
Provando a compilare questo programma con Visual C++ 6.0, mi da questi errori.

Con la mia scarsissima conoscenza di questo programma, non mi sembrano errori gravi.

Mi puoi aiutare???


Grazie di nuovo.

Marco

error C2146: syntax error : missing ';' before identifier 'vecchioNome'
error C2501: 'CString' : missing storage-class or type specifiers
fatal error C1004: unexpected end of file found

/\/\@®¢Ø
01-07-2002, 21:55
Originariamente inviato da Marco
[B]Ciao.

Avrei bisogno di un favore.

io dovrei trasformare un file di nome

pippo.txt

in un file di tipo

pippo.txt.AAAAMMGGHHMMSS

dove AAAAMMGG rappresenta la data in formato anno, mese, giorno e HHMMSS l’ora di memorizzazione in formato ora, minuti, secondi del file.

Questo "rename" dovrebbe essere quindi dinamico e pescare i valori in questione dall'orologio di sistema.

Qualsiasi linguaggio va bene (meglio sarebbe visual basic), basta che giri su Win32.

Grazie per l'aiuto ;)
Non mi è chiaro...ti interessa l'ora corrente o l'ora di memorizzazione ?
Che windows usi ? ( win98,w2k , xp... )

MSciglio
01-07-2002, 21:57
Ciao...

Devi creare un progetto MFC. Il codice che ti ho scritto funziona con MFC.

Bye

Marco
01-07-2002, 22:40
Originariamente inviato da /\/\@®¢Ø
[B]
Non mi è chiaro...ti interessa l'ora corrente o l'ora di memorizzazione ?
Che windows usi ? ( win98,w2k , xp... )

L'ora corrente ;)

Uso Win 2k Advanced Server

Marco
01-07-2002, 22:40
Originariamente inviato da MSciglio
[B]Ciao...

Devi creare un progetto MFC. Il codice che ti ho scritto funziona con MFC.

Bye

Provo ;)

Marco
01-07-2002, 23:01
Sono riuscito a compilarlo, anche se poi mandandolo in esecuzione mi dà un errore.
Comunque te lo metto in allegato compilato... il problema è che per il mese come 07 lui mi scrive 7 e per il giorno 1 invece di 01 mi scrive solo 1.

Infatti il file di testo che mi ha creato ha il nome

prova.txt200271225521


dove 2002 è l'anno, 7 è il mese (mi occorre 07), 1 è il giorno (mi occorre 01), e 22 55 21 sono giustamente ora minuto e secondo.

Inoltre mi servirebbe il formato prova.txt.AAAAMMGGHHMMSS, cioè con la doppia estensione ;)

Se hai la possibilità, me lo compileresti correttamente (sicuramente sbaglio qualcosa e per questo mi dà errore nell'esecuzione).

Ti ringrazio ancora infinitamente ;)

Ciao

Marco
01-07-2002, 23:02
L'allegato è qui

MSciglio
02-07-2002, 01:32
Ciao Marco.

Mi hai mandato solo l'eseguibile! :)

Mandami tutto il progetto così lo sistemo.

L'unica cosa che al momento non saprei come fare è il numero con lo zero all'inizio... è fondamentale? Eventualmente ci penso ;)

A presto

Marco
02-07-2002, 08:45
Hai ragione ;)


Te lo mando da casa stasera ;)


Si, lo zero è fondamentale, altrimenti il programma che mi va a valutare la data di registrazione mi sballerebbe tutto :)


Ciao

cionci
02-07-2002, 10:08
MSciglio...

nuovoNome.Format("%d%02d%02d%02d%02d%02d",time.GetYear(), time.GetMonth(),time.GetDay(),time.GetHour(),time.GetMinute(),time.GetSecond());

Nota il formato ;)

MSciglio
02-07-2002, 22:28
Effettivamente era facile! :)

Marco
03-07-2002, 00:35
Ti metto il file zip della cartella "Prova5". escluso la cartella debug, perchè occupa 6 mega :eek:

Grazie ;)

MSciglio
03-07-2002, 01:00
Ok :)

Domani ti faccio sapere.

Bye

MSciglio
03-07-2002, 22:20
Ciao...

Eccoti il programmino.

Il file da rinominare (prova.txt) deve essere messo nella stessa directory del file eseguibile.

Bye ;)

Marco
04-07-2002, 00:11
Ciao.

Ho aperto il progetto, compilato il tutto e funziona. ;)

Grazie ;)

L'unica cosa è che io questo programma lo dovrei far girare per praticità da riga di comando (file batch di Windows), quindi praticamente, per girare alla perfezione, dovrebbe avere una sintassi di questo tipo

hwupgrade.exe prova.txt



che crea

prova.txt.20020601220000


e poi

hwupgrade.exe proviamo.txt



che crea


proviamo.txt.20020601220000


Ho provato a farlo da solo, ma non sono sinceramente in grado.
Ti ringrazio di nuovo.

Marco

MSciglio
04-07-2002, 01:02
Domani ti sistemo anche questo :)

MSciglio
04-07-2002, 22:14
Ciao!

Fatto anche questo :)

Fammi sapere se funziona.

Bye ;)

Marco
05-07-2002, 10:47
L'ho provato e funziona!!!

Ti ringrazio super infinitamente ;)


Ciao


Marco

MSciglio
05-07-2002, 14:39
Figurati, per così poco :)