robertobellomo ha scritto:Ciao scusa il ritardo ma sono stato fuori per lavoro, cmq ho provato a risolvere il problema come mi hai suggerito tu e tutte le supposizioni sui miei errori sono corrette, cmq ho provato a sostituire formato = "hh:mm:ss:zzz"; con formato = "hh:mm:ss:cc"; e quindi valoreIniziale = "00:00:00:00";
forse non hai letto bene quello che ho scritto...quello era riferito alla comprensione di quello che volevi.
La risposta era in parte alla fine del mio post (sottintendeva che QTime::toString(...) prende i simboli che sono ben scritti nel link che ti avevo scritto..bastava che tu ci cliccassi sopra, cmq te lo scrivo in maniera più semplice:
http://doc.qt.nokia.com/4.6/qtime.html#toString) e ti scrivevo questo:
fefelix ha scritto:una cosa bella di Qt (e Qt creator) è che ha una decente guida, e come ti dicevo nel secondo post, "QTime class reference", ed in particolare QTime::toString(...), ti poteva dare delle delucidazioni:
z the milliseconds without leading zeroes (0 to 999): ti scrive i millesecondi senza gli zeri iniziali
mentre zzz con gli zeri iniziali;
zz non è previsto, quindi la funzione toString interpreta zz come due z z: questo è il motivo per cui hai 6 numeri, i primi tre uguali agli ultimi tre.
Per risolvere il problema, e prendere anche spunto, dovresti vedere il codice di QTime::toString che si trova in qdatetime.cpp: puoi facilitarti utilizzando Qt Creator attraverso il debug.
Nel post successivo ti dicevo che la soluzione, con una speculazione filosofica-scientifica, era reimplementare QTime
MA NON ERA IL CASO quindi prendilo come un mio errore.
La soluzione era quella successiva in cui
ti ho scritto un programma intero!!!!!!! che ti cambia il formato anche a runtime .... ti ho scritto anche i nomi dei file!!!! ti basta fare un copia ed incolla e fare un nuovo progetto..... non ti ho fatto un file .zip perchè mi sembrava brutto darti la pappa pronta.
scrivevo:
ti posto il codice dell'applicazione che fa tutto quello che ti serve ma:
ho utilizzato i puntatori a funzione membro per fare esercitazione: NON E' UN MODO DI PROGRAMMARE OO!!! prendilo come spunto per la conversione dei decimi o centesimi e sviluppa la tua classe.....
La questione dei puntatori a funzione membro è una maggiore flessibilità che ti da il C++ (si può ottenere lo stesso risultato programmando secondo il paradigma Object Oriented, seppur utilizzando più classi e magari il design patterns Strategy (cercalo su internet)) comunque da quello che ho scritto puoi vedere come, utilizzando tali puntatori, il codice è più compatto.
Adesso prova a fare il copia-incolla dei file di cui sopra in un nuovo progetto e fammi sapere se hai dei problemi...