[API]envoyer l'heure dans ma fenetre

Résolu
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 7 déc. 2005 à 12:50
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 7 déc. 2005 à 16:14
Bonjour,



on m'a donné la fonction afin d'avoir l'heure systeme, je la met dans
un tampon et j'aimerai pouvoir l'afficher dans la fenetre du bloc notes
que j'ai crée cette semaine, le probleme est que quand je met
setwindowtext() cela efface le tecte déja tapé, et que je voudrai que
l'heure se mettre la ou le pointeur est. (désolé j'ai un peu du mal a
expliquer j'espere que c'est clair...





voici le code:

SYSTEMTIME time;

GetSystemTime(&time);

lenbloc = GetWindowTextLength(hEdit);

tampon = (LPSTR)GlobalAlloc(LMEM_FIXED, lenbloc + 11);

sprintf(tampon, "%d::%d::%d", time.wHour, time.wMinute, time.wSecond);

//et la le miracle pour afficher l'heure dans la fenetre hEdit la ou est le pointeur :D



GlobalFree(tampon);


.

14 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 déc. 2005 à 15:33
Mais où c'est galère ????

void __stdcall OnDateDoc(HWND hedit)
{
SYSTEMTIME st;
char buf[12];
GetLocalTime(&st);
GetDateFormat(0, 0, &st, "dd/MM/yyyy ", buf, 12);
SendMessage(hedit, EM_REPLACESEL, 1, (LPARAM) buf);
}

tout de même pas la lune, suffit de regarder MSDN suivant infos qu'on te donne.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 déc. 2005 à 15:49
ah oui et avec l'heure:


void __stdcall OnDateDoc(HWND hedit)
{
SYSTEMTIME st;
char buf[24];
GetLocalTime(&st);
GetDateFormat(0, 0, &st, "dd/MM/yyyy ", buf, 12);
GetTimeFormat(0, 0, &st, "HH:mm:ss", buf + 11, 10);
SendMessage(hedit, EM_REPLACESEL, 1, (LPARAM) buf);
}


Compliqué, hein...

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
3
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
7 déc. 2005 à 12:51
ah ouai et si qqn connaissait la fonction pour recuperer la date
par l'API comme je fais pour l'heure merci de me le dire (dsl j'en
demande un peu beaucoup peut etre)
.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
7 déc. 2005 à 13:32
Ton GlobalAlloc est faux (alloue 0 si ton edit est vide) Déclare un buffer local de 20 octets, ca suffira bien.
Pour insérer la ou est le pointeur, vois le message EM_REPLACESEL
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
7 déc. 2005 à 13:33
SI ton edit est vide, 11 octets seront alloués c'est vrai, mais quand même ce GetWindowTextLength n'a rien a faire la
0
niketou Messages postés 295 Date d'inscription dimanche 4 mai 2003 Statut Membre Dernière intervention 6 décembre 2010
7 déc. 2005 à 13:41
#include <time.h>

time_t t;
time(&t); /* t contient maintenant l'heure et la date courante */
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
7 déc. 2005 à 14:08
ouai désolé j'ai pris une mauvaise portion de code que j'avai fait
avant, mais BruNews m'avais dis sa sauf que y a pas grand chose qui
l'explique sur msdn :s je n'arrive pas a comprendre comment envoyer le
texte a la fenetre déja :D



voici le code :



SYSTEMTIME time;

GetSystemTime(&time);

tampon = (LPSTR)GlobalAlloc(LMEM_FIXED, 20);

sprintf(tampon, "%d::%d::%d", time.wHour, time.wMinute, time.wSecond);

//le code



GlobalFree(tampon);
.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 déc. 2005 à 14:09
time.h n'a rien à faire dans du code Windows.

Remplace sprintf par GetDateFormat et tu pourras aussi virer stdio.h

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
7 déc. 2005 à 14:31
ok merci déja, mais pour envoyer l'heure a la fenetre de mon bloc notes ...?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 déc. 2005 à 15:05
SetWindowText
EM_REPLACESEL

à toi de voir ce qui convient à ton prog.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
7 déc. 2005 à 15:07
o pis laissez tombé c'est trop galère pis ca me gave trop cette fonction de mettre l'heure, le gars il a qu'a la rentrer lui meme

.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
7 déc. 2005 à 15:54
Pour le coup, je pense que GetDateFormat ne doit pas être bien meilleure que sprintf, surement pire.
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
7 déc. 2005 à 16:05
désolé ca m'a gavé tout a l'heure car j'avais un bug, j'arrivai bien a afficher date et heure mais ca affichait 22/94/1474 dans la date donc ca me gavais mais merci :)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 déc. 2005 à 16:14
sur vecchio, juste pour éviter stdio.h et rester cohérent en terme de prog.
Pour vitesse il y a la fonction dans mes sources je pense sinon la demander.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
Rejoignez-nous