Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione
OPPO ha portato in Italia, dal 1° luglio 2026, Reno16 Pro: display AMOLED da 6,32 pollici a 144Hz, tripla fotocamera con sensore principale da 200 megapixel, chip Dimensity 8550 Super e batteria da 6000mAh, al prezzo di lancio di 899 euro. Lo abbiamo provato per due settimane insieme al nuovo accessorio Bubble, per capire se la formula compatta della serie regge ancora di fronte a un listino da 1099 euro
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-06-2004, 10:55   #1
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
[c++ win32] contatore in tempo reale

ho un dialogbox che ha una sua specifica funzione (BOOL CALLBACK DlgProc ecc...) dove ho un edittext (un form) dove devo inserire un contatore in tempo reale (del tipo 00:01, 00:02 ecc)

il contatore è questo:
Codice:
void wait ( int seconds )
{
  clock_t endwait;
  endwait = clock () + seconds * CLK_TCK ;
  while (clock() < endwait) {}
}

char tempoz[10];
void contatore()
{
    int tempo=0;
    while(true)
    {
        wait(1); //aspetta un secondo
        tempo=tempo++;
        itoa(tempo, tempoz, 10);  //trasformo l'int in array
        SetDlgItemText(hwnd,IDC_TEMPO, tempoz); //inserisco il tempo nella edittext
        break;
    }
}
ora, il contatore funziona benissimo, il problema è dove metterlo nella funzione della dialogbox: infatti il ciclo mi ferma tutta la funzione stessa. Quindi mi chiedevo se c'è un modo di eseguire due funzioni contemporaneamente (può essere una soluzione) o qualsiasi altra cosa
grazie
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 11:35   #2
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
a me sembra un ottima idea usare i thread
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 11:48   #3
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Quote:
Originariamente inviato da Luc@s
a me sembra un ottima idea usare i thread
hum cioè?
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 11:52   #4
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
dirami dal prog un thread a cui deleghi il compito di contare .........
Se su win32 giusto???
Allora have a look
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 15:52   #5
ri
Senior Member
 
L'Avatar di ri
 
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
non è tutto _tremendamente_ più semplice usando un timer?
nell'InitIstance del dialogo lo fai partire con un SetTimer a 1000ms e poi gestisci l'evento OnTimer controllando l'ID che hai assegnato al tuo timer
ri è offline   Rispondi citando il messaggio o parte di esso
Old 27-06-2004, 17:47   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 09:45   #7
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
cito quello che ho scritto
Quote:
dove ho un edittext dove devo inserire un contatore in tempo reale (del tipo 00:01, 00:02 ecc)
io devo visualizzare il timer il una edittext!
la funzione SetTimer non ritorna i secondi a cui è arrivata in un dato istante, giusto?
c'è la funzione QueryPerformanceCounter che però ha come argomento un LARGE_INTEGER e siccome uso itoa per trasformare l'int in char per poi mandarlo alla edittext, non saprei proprio come fare

comunque, questo forse mi risolve un problema, ma ne volevo fare anche uno che va avanti
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 11:33   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Memorizza la data di sistema in secondi all'inzio del conteggio...
Usa SetTimer per settare un altro timer ogni decimo di secondo...
Controlla la data di sistema attuale e fai la differenza da quella precedente... A questo punto metti il risultato nella editbox...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 12:00   #9
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
ma in questo caso devo fare un loop, ogni volta mi deve controllare la data di sistema e fare la differenza...
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 12:06   #10
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
il fatto è che il problema pare essere risolto con il createthread, ma si crea un altro problema, cioè la funzione contatore non passa niente alla funzione della dialogbox, e quindi non posso inviare il numero all'editbox della dialogbox stessa

Ultima modifica di kk3z : 28-06-2004 alle 13:36.
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 14:01   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Che intendi per niente ? Al thread un parametro lo puoi passare
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 14:20   #12
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
eccheglipasso?
potrei passagli un handle, se sapessi cos'è un LPVOID...
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 14:26   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
LPVOID è un void *...

LP nei tipi di Windows significa long pointer... Quando c'è una C significa contante...

Quindi gli puoi passare qualsiasi puntatore... Ad esempio il puntatore alla editbox... L'importante è poi farci un cast al tipo originale per poter usare il puntatore per scrivere il valore nella editbox con SetWindowText...

Ultima modifica di cionci : 28-06-2004 alle 14:28.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 14:33   #14
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
ecco stavo provando proprio questo, gli passo l'handle all'editbox (l'handle è un puntatore no?), che però mi trasforma in LPVOID a quanto pare, e quindi poi non posso fare SetWindowText(p, tempoz)
infatti mi dice invalid conversion
spiegami meglio il cast al tipo originale
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 15:08   #15
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980






























bastava che dichiaravo l'handle fuori dalla funzione
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 15:45   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da kk3z
bastava che dichiaravo l'handle fuori dalla funzione
Non so se stai programmando ad oggetti o no... Nel caso che tu stia programmando ad oggetti è una pratica piuttosto brutta...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 15:57   #17
ri
Senior Member
 
L'Avatar di ri
 
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
mi spieghi la difficoltà di sta roba?
Allegati
File Type: zip timer.zip (11.0 KB, 29 visite)
ri è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 16:02   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mi sa che non usa MFC
Comunque anche io avrei fatto come te...anche se avrei messo il timer a 1/10 di secondo...per evitare errori... Non c'è garanzia che la procedura del timer venga eseguita entro un certo lasso di tempo...e ad un certo punto potrebbe capitare che il contatore salti di due secondi...

Ultima modifica di cionci : 28-06-2004 alle 16:06.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 16:44   #19
ri
Senior Member
 
L'Avatar di ri
 
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
si hai ragione, ma basta cambiare appunto i millisecondi di passaggio e il codice è già apposto
quello che non capisco invece è perchè si sta complicando la vita coi thread... o meglio, con i thread fatti a mano
ri è offline   Rispondi citando il messaggio o parte di esso
Old 28-06-2004, 19:10   #20
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
NON sto usando MFC e soprattutto NON ho visual c++
vedi un altro modo di farlo con le API? il loop nella funzione della dialogbox non posso farla...
anche quello che mi aveva proposto cionci
Quote:
Memorizza la data di sistema in secondi all'inzio del conteggio...
Usa SetTimer per settare un altro timer ogni decimo di secondo...
Controlla la data di sistema attuale e fai la differenza da quella precedente... A questo punto metti il risultato nella editbox...
ha bisogno di un loop, quindi nulla...

non vedo altri modi
kk3z è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
In Italia crescono gli investimenti nell...
Samsung combina IA e quantum computing p...
Anthropic ammette: Claude Code usa un ap...
L'IA costa sempre di più: AWS aum...
Google prepara il blocco delle app non v...
Amazfit aggiorna il Cheetah 2 Ultra: ric...
L'FAA apre ai voli commerciali supersoni...
Amazon ha già abbastanza satelliti per a...
A2A ed Equinix uniscono le forze per rec...
Apple ha creato la crisi delle memorie? ...
GPU subito in cambio di una quota dei ri...
Firefly Aerospace potrà lanciare ...
Intesa Sanpaolo sposta i sistemi IT core...
Visa, Mastercard e Coinbase lanciano Ope...
PS Plus Essential: nei giochi 'gratis' d...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v