je cherche à générer un GUID, mais rien à faire, je n'arrive à obtenir
le même résultat qu'avec le code équivalent en VB...
GUID est une structure
Guid1 est un entier //Type C : DWORD
Guid2 est un entier sur 2 octets //Type C : WORD
Guid3 est un entier sur 2 octets //Type C : WORD
Guid4 est une chaîne fixe sur 8 //Type C : BYTE
FIN
udtGUID est un GUID
sGUID est une chaîne
lResult est un entier
lResult=API("OLE32.DLL","CoCreateGuid",&udtGUID)
SI lResult ALORS
sGUID = ""
SINON
sGUID = Répète("0",38)
API("OLE32.DLL","StringFromGUID2",&udtGUID,&sGUID,39)
FIN
//A partir d'ici, la chaine contient bien un GUID mais incomplet et
//formatté bizarre :
Ex : {<0>3<0>3<0>7<0>1<0>0<0>9<0>0<0>6<0>-<0>7<0>B<0>3<0>6<0>-<0>4<0>E
<0>B<0>B<0>
Ce qui une fois les "<0>" enlevés donne
{33710906-7B36-4EBB
Ce qui ressemble bien au début d'un GUID, mais impossible de le créer...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Romain PETIT
Gilles G. a émis l'idée suivante :
Bonjour,
je cherche à générer un GUID, mais rien à faire, je n'arrive à obtenir le même résultat qu'avec le code équivalent en VB...
http://minilien.com/?JFLpq9h61u ou http://groups.google.fr/groups?hl=fr&lr=&threadmyvRc.7793%24Xc5.189563%40weber.videotron.net&rnum=1&prev=/groups%3Fq%3Dmn.438e7d484daf43c8.2191%40Signature.fin%26hl%3Dfr%26btnG%3DRecherche%2BGoogle
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Gilles G. a émis l'idée suivante :
Bonjour,
je cherche à générer un GUID, mais rien à faire, je n'arrive à obtenir
le même résultat qu'avec le code équivalent en VB...
http://minilien.com/?JFLpq9h61u
ou
http://groups.google.fr/groups?hl=fr&lr=&threadmyvRc.7793%24Xc5.189563%40weber.videotron.net&rnum=1&prev=/groups%3Fq%3Dmn.438e7d484daf43c8.2191%40Signature.fin%26hl%3Dfr%26btnG%3DRecherche%2BGoogle
A+
--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
je cherche à générer un GUID, mais rien à faire, je n'arrive à obtenir le même résultat qu'avec le code équivalent en VB...
http://minilien.com/?JFLpq9h61u ou http://groups.google.fr/groups?hl=fr&lr=&threadmyvRc.7793%24Xc5.189563%40weber.videotron.net&rnum=1&prev=/groups%3Fq%3Dmn.438e7d484daf43c8.2191%40Signature.fin%26hl%3Dfr%26btnG%3DRecherche%2BGoogle
A+
-- Romain PETIT http://cerbermail.com/?IJmancZl88 (cliquez sur le lien ci-dessus pour me contacter en privé)
Gégé
Gilles G. a écrit :
Quelqu'un a t il une idée ?
C'est pas DonneIdentifiant qui encapsule cette fonction ?
Gilles G. a écrit :
Quelqu'un a t il une idée ?
C'est pas DonneIdentifiant qui encapsule cette fonction ?
Alors là, BINGO ! et bravo Romain. Cela fait une éternité que je recherche ce bout de code. J'ai contourné la difficulté en créant une sp qui demande à SQL Server de me générer ce bon GuID et de ma le retourner. Mais cela implique un trafic sur le réseau juste pour avoir un GuID garantie et correct. Ton bout de code permet de le faire directement du coté client, et donc de pouvoir exécuter tous les traitements qu'on veut avec la clé de base et d'envoyer tous ceux-ci en même temps. Encore bravo. Elle est pas belle la vie ? digging !
> > je cherche à générer un GUID, mais rien à faire, je n'arrive à obtenir
> le même résultat qu'avec le code équivalent en VB...
Alors là, BINGO ! et bravo Romain. Cela fait une éternité que je recherche
ce bout de code. J'ai contourné la difficulté en créant une sp qui demande à
SQL Server de me générer ce bon GuID et de ma le retourner. Mais cela
implique un trafic sur le réseau juste pour avoir un GuID garantie et
correct.
Ton bout de code permet de le faire directement du coté client, et donc de
pouvoir exécuter tous les traitements qu'on veut avec la clé de base et
d'envoyer tous ceux-ci en même temps. Encore bravo. Elle est pas belle la
vie ?
digging !
Alors là, BINGO ! et bravo Romain. Cela fait une éternité que je recherche ce bout de code. J'ai contourné la difficulté en créant une sp qui demande à SQL Server de me générer ce bon GuID et de ma le retourner. Mais cela implique un trafic sur le réseau juste pour avoir un GuID garantie et correct. Ton bout de code permet de le faire directement du coté client, et donc de pouvoir exécuter tous les traitements qu'on veut avec la clé de base et d'envoyer tous ceux-ci en même temps. Encore bravo. Elle est pas belle la vie ? digging !
Gégé
Gilles G. a écrit :
Non, DonneIdentifiant c'est juste un bête entier incrémenté.
As-tu résolu ton problème ? De mémoire, j'avais eu des soucis en 7.0 avec cette API.
Gilles G. a écrit :
Non, DonneIdentifiant c'est juste un bête entier incrémenté.
As-tu résolu ton problème ?
De mémoire, j'avais eu des soucis en 7.0 avec cette API.
Gilles G. a écrit : > Non, DonneIdentifiant c'est juste un bête entier incrémenté.
As-tu résolu ton problème ? De mémoire, j'avais eu des soucis en 7.0 avec cette API.
Non, j'ai abandonné pour l'instant, je génère mes GUID en VB...
Gilles G.
In article <cl00km$jdk$, says...
Gilles G. a écrit : >>>Quelqu'un a t il une idée ? POUR i = 0 A 259 AppelDLL32("kernel32", "RtlMoveMemory", &Car, &sGUID+i,1) SI Asc(Car) <> 0 Ch += Car FIN
Cool ca marche.
Ta valeur de 260 caractères de chaine est arbitraire ou ça correspond à quelque chose de précis?
Je ne connaissais pas RTLMoveMemory, c'est pareil qu'un "Transfert" ?
In article <cl00km$jdk$1@apollon.grec.isp.9tel.net>,
gerard.menvussa@ifrance.com says...
Gilles G. a écrit :
>>>Quelqu'un a t il une idée ?
POUR i = 0 A 259
AppelDLL32("kernel32", "RtlMoveMemory", &Car, &sGUID+i,1)
SI Asc(Car) <> 0 Ch += Car
FIN
Cool ca marche.
Ta valeur de 260 caractères de chaine est arbitraire ou ça correspond à
quelque chose de précis?
Je ne connaissais pas RTLMoveMemory, c'est pareil qu'un "Transfert" ?
Gilles G. a écrit : >>>Quelqu'un a t il une idée ? POUR i = 0 A 259 AppelDLL32("kernel32", "RtlMoveMemory", &Car, &sGUID+i,1) SI Asc(Car) <> 0 Ch += Car FIN
Cool ca marche.
Ta valeur de 260 caractères de chaine est arbitraire ou ça correspond à quelque chose de précis?
Je ne connaissais pas RTLMoveMemory, c'est pareil qu'un "Transfert" ?
Gégé
Gilles G. a écrit :
Ta valeur de 260 caractères de chaine est arbitraire ou ça correspond à quelque chose de précis?
Je prends large. De toute façon, la chaîne est retaillée après.
Je ne connaissais pas RTLMoveMemory, c'est pareil qu'un "Transfert" ?
Oui
Gilles G. a écrit :
Ta valeur de 260 caractères de chaine est arbitraire ou ça correspond à
quelque chose de précis?
Je prends large. De toute façon, la chaîne est retaillée après.
Je ne connaissais pas RTLMoveMemory, c'est pareil qu'un "Transfert" ?