begin process at 2012 05 29 03:08:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

disparaition mysterieuse


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

disparaition mysterieuse

jeudi 7 août 2003 à 15:21:47 | disparaition mysterieuse

poseidon2

Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:


hDLL = LoadLibrary("HptSimLibVC");
if (hDLL != NULL){
__DBG_LOG("le prog trouve la dll et entre dans la fonction");

//fonction recuperant le timestamp
lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
if (!lpfnDllFunc1){
// handle the error
FreeLibrary(hDLL);
__DBG_LOG("le prog ne trouve pas la fonction dans la dll");
}
else{
// call the function
uReturnVal = lpfnDllFunc1();
__DBG_LOG("le prog trouve la fonction dans la dll");
__DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
}
}
QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
lTimeNow -= lTimeInit;
lTimeWait = lNextTime - lTimeNow;
strFilename=rep;
//Ajout du numero d'image
char ID[1];
_itoa(IndexPhoto,ID,10);
strFilename+=ID;
__DBG_LOG("nom de fichier : %s",strFilename);
//recuperation date au format PC
HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
if(hfl != INVALID_HANDLE_VALUE){
DWORD dWrited;
double itemps;
int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
if(OK == 0)
__DBG_LOG("Erreur de ReadFile");
else
__DBG_LOG("%.lf",itemps);
CloseHandle(hfl);
double htemps=uReturnVal;
//test de synchro
if(itemps >= htemps){
double difference=itemps-htemps;
pApp->pDisplay->displayFrame((const char *)strFilename);
__DBG_LOG("itemps>htemps. Attente");
}
else{
IndexPhoto++;
}
}else{
__DBG_LOG("erreur ouverture fichier");
IndexPhoto++;
}


Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....

Si ca vous inspire moa ca fait 3h que je suis dessus et
jeudi 7 août 2003 à 16:28:54 | Re : disparaition mysterieuse

Kaid

Quel est le type de strFilename ? Si ce n'est qu'un simple char* tu ne peux pas concatener deux chaines comme ca, tu dois utiliser la fonction strcat().

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:
>
>

> hDLL = LoadLibrary("HptSimLibVC");
> if (hDLL != NULL){
> __DBG_LOG("le prog trouve la dll et entre dans la fonction");
>
> //fonction recuperant le timestamp
> lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
> if (!lpfnDllFunc1){
> // handle the error
> FreeLibrary(hDLL);
> __DBG_LOG("le prog ne trouve pas la fonction dans la dll");
> }
> else{
> // call the function
> uReturnVal = lpfnDllFunc1();
> __DBG_LOG("le prog trouve la fonction dans la dll");
> __DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
> }
> }
> QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
> lTimeNow -= lTimeInit;
> lTimeWait = lNextTime - lTimeNow;
> strFilename=rep;
> //Ajout du numero d'image
> char ID[1];
> _itoa(IndexPhoto,ID,10);
> strFilename+=ID;
> __DBG_LOG("nom de fichier : %s",strFilename);
> //recuperation date au format PC
> HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
> if(hfl != INVALID_HANDLE_VALUE){
> DWORD dWrited;
> double itemps;
> int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> if(OK == 0)
> __DBG_LOG("Erreur de ReadFile");
> else
> __DBG_LOG("%.lf",itemps);
> CloseHandle(hfl);
> double htemps=uReturnVal;
> //test de synchro
> if(itemps >= htemps){
> double difference=itemps-htemps;
> pApp->pDisplay->displayFrame((const char *)strFilename);
> __DBG_LOG("itemps>htemps. Attente");
> }
> else{
> IndexPhoto++;
> }
> }else{
> __DBG_LOG("erreur ouverture fichier");
> IndexPhoto++;
> }
>

>
> Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....
>
> Si ca vous inspire moa ca fait 3h que je suis dessus et
jeudi 7 août 2003 à 16:35:32 | Re : disparaition mysterieuse

poseidon2

strFilename est de type CString.



-------------------------------
Réponse au message :
-------------------------------

> Quel est le type de strFilename ? Si ce n'est qu'un simple char* tu ne peux pas concatener deux chaines comme ca, tu dois utiliser la fonction strcat().
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:
> >
> >

> > hDLL = LoadLibrary("HptSimLibVC");
> > if (hDLL != NULL){
> > __DBG_LOG("le prog trouve la dll et entre dans la fonction");
> >
> > //fonction recuperant le timestamp
> > lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
> > if (!lpfnDllFunc1){
> > // handle the error
> > FreeLibrary(hDLL);
> > __DBG_LOG("le prog ne trouve pas la fonction dans la dll");
> > }
> > else{
> > // call the function
> > uReturnVal = lpfnDllFunc1();
> > __DBG_LOG("le prog trouve la fonction dans la dll");
> > __DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
> > }
> > }
> > QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
> > lTimeNow -= lTimeInit;
> > lTimeWait = lNextTime - lTimeNow;
> > strFilename=rep;
> > //Ajout du numero d'image
> > char ID[1];
> > _itoa(IndexPhoto,ID,10);
> > strFilename+=ID;
> > __DBG_LOG("nom de fichier : %s",strFilename);
> > //recuperation date au format PC
> > HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
> > if(hfl != INVALID_HANDLE_VALUE){
> > DWORD dWrited;
> > double itemps;
> > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > if(OK == 0)
> > __DBG_LOG("Erreur de ReadFile");
> > else
> > __DBG_LOG("%.lf",itemps);
> > CloseHandle(hfl);
> > double htemps=uReturnVal;
> > //test de synchro
> > if(itemps >= htemps){
> > double difference=itemps-htemps;
> > pApp->pDisplay->displayFrame((const char *)strFilename);
> > __DBG_LOG("itemps>htemps. Attente");
> > }
> > else{
> > IndexPhoto++;
> > }
> > }else{
> > __DBG_LOG("erreur ouverture fichier");
> > IndexPhoto++;
> > }
> >

> >
> > Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....
> >
> > Si ca vous inspire moa ca fait 3h que je suis dessus et
>
jeudi 7 août 2003 à 16:39:55 | Re : disparaition mysterieuse

Kaid

Alors le problème vient certainement de ton ID. Déclaré comme un seul caractère il ne peut pas contenir une chaine de caractères car il y a juste la place pour mettre le zéro final dedans.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> strFilename est de type CString.
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Quel est le type de strFilename ? Si ce n'est qu'un simple char* tu ne peux pas concatener deux chaines comme ca, tu dois utiliser la fonction strcat().
> >
> > Kaid - kaid.fr.st
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:
> > >
> > >

> > > hDLL = LoadLibrary("HptSimLibVC");
> > > if (hDLL != NULL){
> > > __DBG_LOG("le prog trouve la dll et entre dans la fonction");
> > >
> > > //fonction recuperant le timestamp
> > > lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
> > > if (!lpfnDllFunc1){
> > > // handle the error
> > > FreeLibrary(hDLL);
> > > __DBG_LOG("le prog ne trouve pas la fonction dans la dll");
> > > }
> > > else{
> > > // call the function
> > > uReturnVal = lpfnDllFunc1();
> > > __DBG_LOG("le prog trouve la fonction dans la dll");
> > > __DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
> > > }
> > > }
> > > QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
> > > lTimeNow -= lTimeInit;
> > > lTimeWait = lNextTime - lTimeNow;
> > > strFilename=rep;
> > > //Ajout du numero d'image
> > > char ID[1];
> > > _itoa(IndexPhoto,ID,10);
> > > strFilename+=ID;
> > > __DBG_LOG("nom de fichier : %s",strFilename);
> > > //recuperation date au format PC
> > > HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
> > > if(hfl != INVALID_HANDLE_VALUE){
> > > DWORD dWrited;
> > > double itemps;
> > > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > > if(OK == 0)
> > > __DBG_LOG("Erreur de ReadFile");
> > > else
> > > __DBG_LOG("%.lf",itemps);
> > > CloseHandle(hfl);
> > > double htemps=uReturnVal;
> > > //test de synchro
> > > if(itemps >= htemps){
> > > double difference=itemps-htemps;
> > > pApp->pDisplay->displayFrame((const char *)strFilename);
> > > __DBG_LOG("itemps>htemps. Attente");
> > > }
> > > else{
> > > IndexPhoto++;
> > > }
> > > }else{
> > > __DBG_LOG("erreur ouverture fichier");
> > > IndexPhoto++;
> > > }
> > >

> > >
> > > Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....
> > >
> > > Si ca vous inspire moa ca fait 3h que je suis dessus et
> >
>
jeudi 7 août 2003 à 17:00:14 | Re : disparaition mysterieuse

poseidon2

Merci ca devait etre ca(en fin de journée apres avoir bataille je ne suis plus sur de rien)
Sinon autre pb:
Pkoi la commande si dessous me renvoi dans itemps 0 alors qu'elle devrait me renvoyer les 13 caractere suivants:1069870231059 ?

if(hfl != INVALID_HANDLE_VALUE){
DWORD dWrited;
double itemps;
int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
if(OK == 0)
__DBG_LOG("Erreur de ReadFile");
else
__DBG_LOG("%.lf",itemps);


Merci encore

-------------------------------
Réponse au message :
-------------------------------

> Alors le problème vient certainement de ton ID. Déclaré comme un seul caractère il ne peut pas contenir une chaine de caractères car il y a juste la place pour mettre le zéro final dedans.
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > strFilename est de type CString.
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Quel est le type de strFilename ? Si ce n'est qu'un simple char* tu ne peux pas concatener deux chaines comme ca, tu dois utiliser la fonction strcat().
> > >
> > > Kaid - kaid.fr.st
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:
> > > >
> > > >

> > > > hDLL = LoadLibrary("HptSimLibVC");
> > > > if (hDLL != NULL){
> > > > __DBG_LOG("le prog trouve la dll et entre dans la fonction");
> > > >
> > > > //fonction recuperant le timestamp
> > > > lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
> > > > if (!lpfnDllFunc1){
> > > > // handle the error
> > > > FreeLibrary(hDLL);
> > > > __DBG_LOG("le prog ne trouve pas la fonction dans la dll");
> > > > }
> > > > else{
> > > > // call the function
> > > > uReturnVal = lpfnDllFunc1();
> > > > __DBG_LOG("le prog trouve la fonction dans la dll");
> > > > __DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
> > > > }
> > > > }
> > > > QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
> > > > lTimeNow -= lTimeInit;
> > > > lTimeWait = lNextTime - lTimeNow;
> > > > strFilename=rep;
> > > > //Ajout du numero d'image
> > > > char ID[1];
> > > > _itoa(IndexPhoto,ID,10);
> > > > strFilename+=ID;
> > > > __DBG_LOG("nom de fichier : %s",strFilename);
> > > > //recuperation date au format PC
> > > > HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
> > > > if(hfl != INVALID_HANDLE_VALUE){
> > > > DWORD dWrited;
> > > > double itemps;
> > > > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > > > if(OK == 0)
> > > > __DBG_LOG("Erreur de ReadFile");
> > > > else
> > > > __DBG_LOG("%.lf",itemps);
> > > > CloseHandle(hfl);
> > > > double htemps=uReturnVal;
> > > > //test de synchro
> > > > if(itemps >= htemps){
> > > > double difference=itemps-htemps;
> > > > pApp->pDisplay->displayFrame((const char *)strFilename);
> > > > __DBG_LOG("itemps>htemps. Attente");
> > > > }
> > > > else{
> > > > IndexPhoto++;
> > > > }
> > > > }else{
> > > > __DBG_LOG("erreur ouverture fichier");
> > > > IndexPhoto++;
> > > > }
> > > >

> > > >
> > > > Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....
> > > >
> > > > Si ca vous inspire moa ca fait 3h que je suis dessus et
> > >
> >
>
jeudi 7 août 2003 à 17:04:37 | Re : disparaition mysterieuse

Kaid

Tu veux mettre 13 octets dans un double ?
Ton itemps devrait être de type char*.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> Merci ca devait etre ca(en fin de journée apres avoir bataille je ne suis plus sur de rien)
> Sinon autre pb:
> Pkoi la commande si dessous me renvoi dans itemps 0 alors qu'elle devrait me renvoyer les 13 caractere suivants:1069870231059 ?
>

> if(hfl != INVALID_HANDLE_VALUE){
> DWORD dWrited;
> double itemps;
> int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> if(OK == 0)
> __DBG_LOG("Erreur de ReadFile");
> else
> __DBG_LOG("%.lf",itemps);
>

>
> Merci encore
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Alors le problème vient certainement de ton ID. Déclaré comme un seul caractère il ne peut pas contenir une chaine de caractères car il y a juste la place pour mettre le zéro final dedans.
> >
> > Kaid - kaid.fr.st
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > strFilename est de type CString.
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Quel est le type de strFilename ? Si ce n'est qu'un simple char* tu ne peux pas concatener deux chaines comme ca, tu dois utiliser la fonction strcat().
> > > >
> > > > Kaid - kaid.fr.st
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:
> > > > >
> > > > >

> > > > > hDLL = LoadLibrary("HptSimLibVC");
> > > > > if (hDLL != NULL){
> > > > > __DBG_LOG("le prog trouve la dll et entre dans la fonction");
> > > > >
> > > > > //fonction recuperant le timestamp
> > > > > lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
> > > > > if (!lpfnDllFunc1){
> > > > > // handle the error
> > > > > FreeLibrary(hDLL);
> > > > > __DBG_LOG("le prog ne trouve pas la fonction dans la dll");
> > > > > }
> > > > > else{
> > > > > // call the function
> > > > > uReturnVal = lpfnDllFunc1();
> > > > > __DBG_LOG("le prog trouve la fonction dans la dll");
> > > > > __DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
> > > > > }
> > > > > }
> > > > > QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
> > > > > lTimeNow -= lTimeInit;
> > > > > lTimeWait = lNextTime - lTimeNow;
> > > > > strFilename=rep;
> > > > > //Ajout du numero d'image
> > > > > char ID[1];
> > > > > _itoa(IndexPhoto,ID,10);
> > > > > strFilename+=ID;
> > > > > __DBG_LOG("nom de fichier : %s",strFilename);
> > > > > //recuperation date au format PC
> > > > > HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
> > > > > if(hfl != INVALID_HANDLE_VALUE){
> > > > > DWORD dWrited;
> > > > > double itemps;
> > > > > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > > > > if(OK == 0)
> > > > > __DBG_LOG("Erreur de ReadFile");
> > > > > else
> > > > > __DBG_LOG("%.lf",itemps);
> > > > > CloseHandle(hfl);
> > > > > double htemps=uReturnVal;
> > > > > //test de synchro
> > > > > if(itemps >= htemps){
> > > > > double difference=itemps-htemps;
> > > > > pApp->pDisplay->displayFrame((const char *)strFilename);
> > > > > __DBG_LOG("itemps>htemps. Attente");
> > > > > }
> > > > > else{
> > > > > IndexPhoto++;
> > > > > }
> > > > > }else{
> > > > > __DBG_LOG("erreur ouverture fichier");
> > > > > IndexPhoto++;
> > > > > }
> > > > >

> > > > >
> > > > > Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....
> > > > >
> > > > > Si ca vous inspire moa ca fait 3h que je suis dessus et
> > > >
> > >
> >
>
jeudi 7 août 2003 à 17:29:12 | Re : disparaition mysterieuse

poseidon2

En fait apres j'ai besoin de le comparer a une autre valeur numerique pour savoir laquel des deux est la lus grande.
Ce pourquoi j'ai mis un double.
J'ai essayé avec un int ou un long mais a chque fois cela ne me prend pas les 13 caracteres et me les transforme en valeur negative toute bizarre



-------------------------------
Réponse au message :
-------------------------------

> Tu veux mettre 13 octets dans un double ?
> Ton itemps devrait être de type char*.
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Merci ca devait etre ca(en fin de journée apres avoir bataille je ne suis plus sur de rien)
> > Sinon autre pb:
> > Pkoi la commande si dessous me renvoi dans itemps 0 alors qu'elle devrait me renvoyer les 13 caractere suivants:1069870231059 ?
> >

> > if(hfl != INVALID_HANDLE_VALUE){
> > DWORD dWrited;
> > double itemps;
> > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > if(OK == 0)
> > __DBG_LOG("Erreur de ReadFile");
> > else
> > __DBG_LOG("%.lf",itemps);
> >

> >
> > Merci encore
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Alors le problème vient certainement de ton ID. Déclaré comme un seul caractère il ne peut pas contenir une chaine de caractères car il y a juste la place pour mettre le zéro final dedans.
> > >
> > > Kaid - kaid.fr.st
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > strFilename est de type CString.
> > > >
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Quel est le type de strFilename ? Si ce n'est qu'un simple char* tu ne peux pas concatener deux chaines comme ca, tu dois utiliser la fonction strcat().
> > > > >
> > > > > Kaid - kaid.fr.st
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:
> > > > > >
> > > > > >

> > > > > > hDLL = LoadLibrary("HptSimLibVC");
> > > > > > if (hDLL != NULL){
> > > > > > __DBG_LOG("le prog trouve la dll et entre dans la fonction");
> > > > > >
> > > > > > //fonction recuperant le timestamp
> > > > > > lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
> > > > > > if (!lpfnDllFunc1){
> > > > > > // handle the error
> > > > > > FreeLibrary(hDLL);
> > > > > > __DBG_LOG("le prog ne trouve pas la fonction dans la dll");
> > > > > > }
> > > > > > else{
> > > > > > // call the function
> > > > > > uReturnVal = lpfnDllFunc1();
> > > > > > __DBG_LOG("le prog trouve la fonction dans la dll");
> > > > > > __DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
> > > > > > }
> > > > > > }
> > > > > > QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
> > > > > > lTimeNow -= lTimeInit;
> > > > > > lTimeWait = lNextTime - lTimeNow;
> > > > > > strFilename=rep;
> > > > > > //Ajout du numero d'image
> > > > > > char ID[1];
> > > > > > _itoa(IndexPhoto,ID,10);
> > > > > > strFilename+=ID;
> > > > > > __DBG_LOG("nom de fichier : %s",strFilename);
> > > > > > //recuperation date au format PC
> > > > > > HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
> > > > > > if(hfl != INVALID_HANDLE_VALUE){
> > > > > > DWORD dWrited;
> > > > > > double itemps;
> > > > > > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > > > > > if(OK == 0)
> > > > > > __DBG_LOG("Erreur de ReadFile");
> > > > > > else
> > > > > > __DBG_LOG("%.lf",itemps);
> > > > > > CloseHandle(hfl);
> > > > > > double htemps=uReturnVal;
> > > > > > //test de synchro
> > > > > > if(itemps >= htemps){
> > > > > > double difference=itemps-htemps;
> > > > > > pApp->pDisplay->displayFrame((const char *)strFilename);
> > > > > > __DBG_LOG("itemps>htemps. Attente");
> > > > > > }
> > > > > > else{
> > > > > > IndexPhoto++;
> > > > > > }
> > > > > > }else{
> > > > > > __DBG_LOG("erreur ouverture fichier");
> > > > > > IndexPhoto++;
> > > > > > }
> > > > > >

> > > > > >
> > > > > > Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....
> > > > > >
> > > > > > Si ca vous inspire moa ca fait 3h que je suis dessus et
> > > > >
> > > >
> > >
> >
>
jeudi 7 août 2003 à 17:33:39 | Re : disparaition mysterieuse

Kaid

Tu es obligé d'utiliser un tableau de caractères pour lire des informations dans un fichier. A toi ensuite de convertir ces caractères en double ou autre pour les comparer.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> En fait apres j'ai besoin de le comparer a une autre valeur numerique pour savoir laquel des deux est la lus grande.
> Ce pourquoi j'ai mis un double.
> J'ai essayé avec un int ou un long mais a chque fois cela ne me prend pas les 13 caracteres et me les transforme en valeur negative toute bizarre
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Tu veux mettre 13 octets dans un double ?
> > Ton itemps devrait être de type char*.
> >
> > Kaid - kaid.fr.st
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Merci ca devait etre ca(en fin de journée apres avoir bataille je ne suis plus sur de rien)
> > > Sinon autre pb:
> > > Pkoi la commande si dessous me renvoi dans itemps 0 alors qu'elle devrait me renvoyer les 13 caractere suivants:1069870231059 ?
> > >

> > > if(hfl != INVALID_HANDLE_VALUE){
> > > DWORD dWrited;
> > > double itemps;
> > > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > > if(OK == 0)
> > > __DBG_LOG("Erreur de ReadFile");
> > > else
> > > __DBG_LOG("%.lf",itemps);
> > >

> > >
> > > Merci encore
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Alors le problème vient certainement de ton ID. Déclaré comme un seul caractère il ne peut pas contenir une chaine de caractères car il y a juste la place pour mettre le zéro final dedans.
> > > >
> > > > Kaid - kaid.fr.st
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > strFilename est de type CString.
> > > > >
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Quel est le type de strFilename ? Si ce n'est qu'un simple char* tu ne peux pas concatener deux chaines comme ca, tu dois utiliser la fonction strcat().
> > > > > >
> > > > > > Kaid - kaid.fr.st
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:
> > > > > > >
> > > > > > >

> > > > > > > hDLL = LoadLibrary("HptSimLibVC");
> > > > > > > if (hDLL != NULL){
> > > > > > > __DBG_LOG("le prog trouve la dll et entre dans la fonction");
> > > > > > >
> > > > > > > //fonction recuperant le timestamp
> > > > > > > lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
> > > > > > > if (!lpfnDllFunc1){
> > > > > > > // handle the error
> > > > > > > FreeLibrary(hDLL);
> > > > > > > __DBG_LOG("le prog ne trouve pas la fonction dans la dll");
> > > > > > > }
> > > > > > > else{
> > > > > > > // call the function
> > > > > > > uReturnVal = lpfnDllFunc1();
> > > > > > > __DBG_LOG("le prog trouve la fonction dans la dll");
> > > > > > > __DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
> > > > > > > }
> > > > > > > }
> > > > > > > QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
> > > > > > > lTimeNow -= lTimeInit;
> > > > > > > lTimeWait = lNextTime - lTimeNow;
> > > > > > > strFilename=rep;
> > > > > > > //Ajout du numero d'image
> > > > > > > char ID[1];
> > > > > > > _itoa(IndexPhoto,ID,10);
> > > > > > > strFilename+=ID;
> > > > > > > __DBG_LOG("nom de fichier : %s",strFilename);
> > > > > > > //recuperation date au format PC
> > > > > > > HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
> > > > > > > if(hfl != INVALID_HANDLE_VALUE){
> > > > > > > DWORD dWrited;
> > > > > > > double itemps;
> > > > > > > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > > > > > > if(OK == 0)
> > > > > > > __DBG_LOG("Erreur de ReadFile");
> > > > > > > else
> > > > > > > __DBG_LOG("%.lf",itemps);
> > > > > > > CloseHandle(hfl);
> > > > > > > double htemps=uReturnVal;
> > > > > > > //test de synchro
> > > > > > > if(itemps >= htemps){
> > > > > > > double difference=itemps-htemps;
> > > > > > > pApp->pDisplay->displayFrame((const char *)strFilename);
> > > > > > > __DBG_LOG("itemps>htemps. Attente");
> > > > > > > }
> > > > > > > else{
> > > > > > > IndexPhoto++;
> > > > > > > }
> > > > > > > }else{
> > > > > > > __DBG_LOG("erreur ouverture fichier");
> > > > > > > IndexPhoto++;
> > > > > > > }
> > > > > > >

> > > > > > >
> > > > > > > Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....
> > > > > > >
> > > > > > > Si ca vous inspire moa ca fait 3h que je suis dessus et
> > > > > >
> > > > >
> > > >
> > >
> >
>
vendredi 8 août 2003 à 10:51:53 | Re : disparaition mysterieuse

poseidon2

c'étais bien ca merci.
Sion vu que j'ai asez bataillé pour la trouver, voici la fonction permettant de faire un cast entre un (char *) et un double :
strtod . Je pense que ca pourra servir



-------------------------------
Réponse au message :
-------------------------------

> Tu es obligé d'utiliser un tableau de caractères pour lire des informations dans un fichier. A toi ensuite de convertir ces caractères en double ou autre pour les comparer.
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > En fait apres j'ai besoin de le comparer a une autre valeur numerique pour savoir laquel des deux est la lus grande.
> > Ce pourquoi j'ai mis un double.
> > J'ai essayé avec un int ou un long mais a chque fois cela ne me prend pas les 13 caracteres et me les transforme en valeur negative toute bizarre
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Tu veux mettre 13 octets dans un double ?
> > > Ton itemps devrait être de type char*.
> > >
> > > Kaid - kaid.fr.st
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Merci ca devait etre ca(en fin de journée apres avoir bataille je ne suis plus sur de rien)
> > > > Sinon autre pb:
> > > > Pkoi la commande si dessous me renvoi dans itemps 0 alors qu'elle devrait me renvoyer les 13 caractere suivants:1069870231059 ?
> > > >

> > > > if(hfl != INVALID_HANDLE_VALUE){
> > > > DWORD dWrited;
> > > > double itemps;
> > > > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > > > if(OK == 0)
> > > > __DBG_LOG("Erreur de ReadFile");
> > > > else
> > > > __DBG_LOG("%.lf",itemps);
> > > >

> > > >
> > > > Merci encore
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Alors le problème vient certainement de ton ID. Déclaré comme un seul caractère il ne peut pas contenir une chaine de caractères car il y a juste la place pour mettre le zéro final dedans.
> > > > >
> > > > > Kaid - kaid.fr.st
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > strFilename est de type CString.
> > > > > >
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Quel est le type de strFilename ? Si ce n'est qu'un simple char* tu ne peux pas concatener deux chaines comme ca, tu dois utiliser la fonction strcat().
> > > > > > >
> > > > > > > Kaid - kaid.fr.st
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > Voila. Dans le code ci dessous J'ai une valeur dans la variable strFilename:
> > > > > > > >
> > > > > > > >

> > > > > > > > hDLL = LoadLibrary("HptSimLibVC");
> > > > > > > > if (hDLL != NULL){
> > > > > > > > __DBG_LOG("le prog trouve la dll et entre dans la fonction");
> > > > > > > >
> > > > > > > > //fonction recuperant le timestamp
> > > > > > > > lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress (hDLL,"getTimestamp");
> > > > > > > > if (!lpfnDllFunc1){
> > > > > > > > // handle the error
> > > > > > > > FreeLibrary(hDLL);
> > > > > > > > __DBG_LOG("le prog ne trouve pas la fonction dans la dll");
> > > > > > > > }
> > > > > > > > else{
> > > > > > > > // call the function
> > > > > > > > uReturnVal = lpfnDllFunc1();
> > > > > > > > __DBG_LOG("le prog trouve la fonction dans la dll");
> > > > > > > > __DBG_LOG("*** TEST *** timeStamp = %.lf", uReturnVal);
> > > > > > > > }
> > > > > > > > }
> > > > > > > > QueryPerformanceCounter((LARGE_INTEGER*)&lTimeNow);
> > > > > > > > lTimeNow -= lTimeInit;
> > > > > > > > lTimeWait = lNextTime - lTimeNow;
> > > > > > > > strFilename=rep;
> > > > > > > > //Ajout du numero d'image
> > > > > > > > char ID[1];
> > > > > > > > _itoa(IndexPhoto,ID,10);
> > > > > > > > strFilename+=ID;
> > > > > > > > __DBG_LOG("nom de fichier : %s",strFilename);
> > > > > > > > //recuperation date au format PC
> > > > > > > > HANDLE hfl = CreateFile(strFilename,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_READONLY,NULL);
> > > > > > > > if(hfl != INVALID_HANDLE_VALUE){
> > > > > > > > DWORD dWrited;
> > > > > > > > double itemps;
> > > > > > > > int OK=ReadFile(hfl, &itemps, 13, &dWrited, 0);
> > > > > > > > if(OK == 0)
> > > > > > > > __DBG_LOG("Erreur de ReadFile");
> > > > > > > > else
> > > > > > > > __DBG_LOG("%.lf",itemps);
> > > > > > > > CloseHandle(hfl);
> > > > > > > > double htemps=uReturnVal;
> > > > > > > > //test de synchro
> > > > > > > > if(itemps >= htemps){
> > > > > > > > double difference=itemps-htemps;
> > > > > > > > pApp->pDisplay->displayFrame((const char *)strFilename);
> > > > > > > > __DBG_LOG("itemps>htemps. Attente");
> > > > > > > > }
> > > > > > > > else{
> > > > > > > > IndexPhoto++;
> > > > > > > > }
> > > > > > > > }else{
> > > > > > > > __DBG_LOG("erreur ouverture fichier");
> > > > > > > > IndexPhoto++;
> > > > > > > > }
> > > > > > > >

> > > > > > > >
> > > > > > > > Cependant elle disparait lorsque que j'essaye de lui ajouter le chiffe a la fin. Ce n'est pas une erreur du a l'ajoue du chiffre, apres plusieur essai j'en suis sur mais autre chose....
> > > > > > > >
> > > > > > > > Si ca vous inspire moa ca fait 3h que je suis dessus et
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : log, strfilename, hdll, dbg, itemps


Répondre à ce message

Sujets en rapport avec ce message

recuper les log dans un fichier [ par ben01n ] salut tout le monde je prog un client-serveur sous linux qui devrait envoyer le contenu d'un fichier log et je me galère gravepour ce qui est d'envoye lecture de l'event log d'un switch?? [ par emporioo ] bonjour,j'ai un gros problème car je suis en stage et je ne sais pasou trouver le fichier event log (ou fichier log d'un switch hpprocurve 4000) je do probleme utilisation de DLL [ par poseidon2 ] En fait je cherche a utiliser la fonction d'une de mes DLL, dans une MFC. Pour cela j'utilise la fonction donné par MSDN:hDLL2 = LoadLibrary("HptSimLi fprintf sur console [ par Stormy ] J'intègre dans un projet un log des OutPut sur console grâce à la fonction fprintf. Voici la commande:if ((log=fopen("BindShell.txt", "a"))==NULL){ Pb Event Log & DLL de messages [ par OneLove ] Salut à tous,j'ai programmé une appli qui utilise l'Event Log de Windows pour y stocker mes erreurs programmes , j'ai récupéré plusieurs tuto pour com probleme avec une fonction de log [ par erazor ] bonjourvoila, mon probleme est le suivant: je suis en train de programmer un jeu de stratégie temps réel afin de me former a la prog en cpp et afin d' éviter les symboles dans un nom de fichier. [ par cobra176 ] Salut j'ai un programme qui me permet de créer un fichier log puis de le remplir mais quand l'utilisateur  mets les symboles >comment t on dire à l'ut besoin d'aide : TP école d'ingénieur [ par arbomont ] Voici le TP que je dois rendre, et je coince sur un petit détail, pourriez vous m'aider ?Il s'agit d'un programme de communication (un chat) utilisant CLASS [ par T_Mehdi ] salut a tous bon , j'ai la 2eme question au faite relié a cette parti de source la : class ILogger{public :   <SPAN class=cpp_ Log (journal) pour un firewall [ par Bessouma ] Je cherche de l'aide pour developper un firewall en VC++


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 1,373 sec (4)

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