begin process at 2010 02 10 05:06:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Problème de temporisation et de faire varier valeur d'un "Edit Field"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de temporisation et de faire varier valeur d'un "Edit Field"

vendredi 13 février 2004 à 10:57:59 | Problème de temporisation et de faire varier valeur d'un "Edit Field"

Natan


Bonjour,
Je n'arrive absolument pas à faire varier suivant une temporisation de 5s environ entre chaque valeur, la valeur qui doit apparaitre dans un " edit field" nommé IDTS. A chaque tentative, la seule valeur qui s'affiche c la dernière valeur de la série à afficher. Le programme é en Visual C avec lcc-win32.


L'instruction qui gére cela est:
case ID_PW1:

valeur = -15;
do
{
affichage_T(1,valeur,hwndDlg);
sleep(5000);
valeur++;
}
while(valeur<60);

//EndDialog(hwndDlg,1);
return 1;


Et le sous-programme associé é:

affichage_T(int choix, int valeur,HWND hwndDlg)
{

int temp1[81]; unsigned char *temp2[81];
short j;


temp1[0]=-15;

for (j=1;j<81;j++)
temp1[j]= temp1[j-1]+1;

temp2[0]="-15"; temp2[1]="-14"; temp2[2]="-13";
temp2[3]="-12"; temp2[4]="-11"; temp2[5]="-10";
temp2[6]="-9"; temp2[7]="-8"; temp2[8]="-7";
temp2[9]="-6"; temp2[10]="-5"; temp2[11]="-4";
temp2[12]="-3"; temp2[13]="-2"; temp2[14]="-1";
temp2[15]="0"; temp2[16]="1"; temp2[17]="2";
temp2[18]="3"; temp2[19]="4"; temp2[20]="5";
temp2[21]="6"; temp2[22]="7"; temp2[23]="8";
temp2[24]="9"; temp2[25]="10"; temp2[26]="11";
temp2[27]="12"; temp2[28]="13"; temp2[29]="14";
temp2[30]="15"; temp2[31]="16"; temp2[32]="17";
temp2[33]="18"; temp2[34]="19"; temp2[35]="20";
temp2[36]="21"; temp2[37]="22"; temp2[38]="23";
temp2[39]="24"; temp2[40]="25"; temp2[41]="26";
temp2[42]="27"; temp2[43]="28"; temp2[44]="29";
temp2[45]="29"; temp2[46]="30"; temp2[47]="36";
temp2[48]="33"; temp2[49]="34"; temp2[50]="35";
temp2[51]="36"; temp2[52]="37"; temp2[53]="38";
temp2[54]="39"; temp2[55]="40"; temp2[56]="41";
temp2[57]="42"; temp2[58]="43"; temp2[59]="44";
temp2[60]="45"; temp2[61]="46"; temp2[62]="47";
temp2[63]="48"; temp2[64]="49"; temp2[65]="50";
temp2[66]="51"; temp2[67]="52"; temp2[68]="53";
temp2[69]="54"; temp2[70]="55"; temp2[71]="56";
temp2[72]="57"; temp2[73]="58"; temp2[74]="59";
temp2[75]="60"; temp2[76]="61"; temp2[77]="62";
temp2[78]="63"; temp2[79]="64"; temp2[80]="65";

switch (choix)
{
case 1:
for (j=0;j<81;j++)
{
if (temp1[j]==valeur
SetDlgItemText(hwndDlg,IDTS,temp2[j]);

}
break;

case 2:
for (j=0;j<81;j++)
{
if (temp1[j]==valeur) SetDlgItemText(hwndDlg,IDTC,temp2[j]); }
break;

}

}



Merci d'avance.
vendredi 13 février 2004 à 11:52:10 | Re : Problème de temporisation et de faire varier valeur d'un

garslouche

Tu sais que tu es un sauvage ? La fonction itoa transforme un entier en char* (tu pouvais aussi utiliser sprintf mais c un peu moins bien). J'ai réécrit ta fonction affichage_T :

void affichage_T(int choix, int valeur,HWND hwndDlg)
{
char buffer[4];
itoa(valeur, buffer, 10);
switch (choix)
{
case 1:
SetDlgItemText(hwndDlg,IDTS,buffer);
break;
case 2:
SetDlgItemText(hwndDlg,IDTC,buffer);
break;
}
}





D'autre part c'est Sleep avev un S majuscule qu'il faut utiliser.
Et ton do...while peut etre avantageusment remplacé par un for:
for (valeur=15; valeur<60; valeur++)
{
affichage_T(1,valeur,hwndDlg);
Sleep(5000);
}



On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
vendredi 13 février 2004 à 11:55:53 | Re : Problème de temporisation et de faire varier valeur d'un

Natan

mdr c vré c un peu sauvage ce que j'ai écris.
Merci beaucoup pour l'info, je ne connéssé pa l'instruction itoa.
Je vé essayé ça je te tiens au courant encore merci.
vendredi 13 février 2004 à 12:28:35 | Re : Problème de temporisation et de faire varier valeur d'un

ymca2003

Il faut éviter de faire des boucles de temporisations à l'intérieur de la DlgProc (sinon le dialogue ne sera jamais redessiné). Il est préférable d'utiliser un Timer :

case ID_PW1 :
valeur = -15;
SetTimer(hwndDlg, 0x1,5000, NULL);
break;

puis gérer le message WM_TIMER :

case WM_TIMER :
affichage(valeur);
valeur++;
if(valeur > 60)
KillTimer(hwndDlg, 0x1);
break;
vendredi 13 février 2004 à 12:51:58 | Re : Problème de temporisation et de faire varier valeur d'un

Natan

Ok je vé testé. Mais j'arrive tj pas à faire afficher chaque valeur les une après les autres seule la dernière valeur s'affiche.
Je vé utilisé le timer peut-etre que ça réglera le problème.

Encore merci pouir vos conseils, c très sympa.


Cette discussion est classée dans : valeur, temporisation, hwnddlg, temp2, temp1


Répondre à ce message

Sujets en rapport avec ce message

time.h [ par coucou747 ] j'aimerais cronométrer le temp de calcul d'un de mes programme...j'ai vu plusieurs sources, mais je n'arrives pas a les coller chez moi...voici mon pr Probleme de valeur [ par pidoumtimo ] Hello.Voila mon enieme probleme sur un meme projet.Je calcul une valeur grace a deux autres données. Jusque la ca fonctionne.Pour un souci d'unité, je Récupération de la valeur de retour d'un .exe dans un prog en C [ par stephanieL ] Salut tout le monde!Je voudrais lancer un exe d'un programme en c, et récupérer la valeur de retour de cet exe dans ce prog en c.Le main de l'exe à la valeur aleatoire [ par pierre_33 ] Bonjour, Je programme en c++ avec devc++ mais seulement en mode console et je voulais savoir comment donner à une variable une valeur aléatoire entre Problème avec les listes chaînées double [ par marik7335 ] Salut,Je comprends le principe des listes chaînées simples mais je n'arrive pas à utiliser les listes chaînées double.Ce que je voudrais faire c'est u Temporisation en win 32 [ par ancat ] Coucou,juste une petite question existe-t-il une fonction equivalente à delay(XX) en win 32?Bye et MerciANCAT[font=Comic Sans MS] Récupérer data fichier TXT entre 3e et dernière ligne (only) [ par MissSixty ] Salut !1ère question :Je cherche présentement un moyen de débuter la lecture de mon fichier à partir de la 3e ligne et d'arrêter la lecture à l'avant (X == E T S) ??? [ par cricri_b34 ] j'ai créer un petit programme qui permet de pratiquer ses math...donc mon programme doit vérifier si le nombre entré par l'utilisateur, ets égal la so [Visual C++]Effacer un edit box [ par goutbouyo ] Salut,Je rentre une valeur dans une edit box et quand je clique sur ajouter elle s'ajoute à une liste.Mais ensuite si je veu rentrer une autre valeur Attribuer à une variable une valeur écrite dans un .txt [ par mage_des_enfers ] Bonjour !Alor déja je tien à préciser que je sui débutant, et que je prog en borland c++. Voila : je cheche à attribuer à une variable une valeur écri


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales