HELP ! :'(

Signaler
Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005
-
Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005
-
Salut j'ai un probleme: voici mon code, il fonctionne correctement, activer le programme vous verres qu'a la fin i laffiche un MessageBox avec marqué "Hello My Na", j'aimerais cependant afficher "Hello David" par exemple, en fait j'ai une "variable" avec "Hello " a l'interieur le prog demande ensutie d'entrer un nom et j'aimerais qu'il affiche "Hello" + le nom qui a été entré, mais j'arrive aps a l'afficher, voila si qqun peut lm'aider ca serait sympa ! voici le code:

.386
.model flat, stdcall
option casemap: none

include \masm32\Include\Irvine32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\Irvine32.lib
.data
var3 BYTE "My name's David",0
var2 BYTE "Hello World",0
var1 BYTE 13,10,"Entrer un nom: ",0
buffer DWORD 128 DUP(0),0
buffer2 DWORD 128 DUP(0),0
hdesk DWORD ?

.code
main proc
;********* Récupération du Handle du desktop
call GetDesktopWindow
mov hdesk,eax
call WriteDec ;ecrit le handle qu iest dans eax
;invoke MessageBoxA,NULL,addr hdesk, offset var2,NULL
;*********** Récupération d'un nom tapé et stockage dans edx
mov edx,offset var1
Call WriteString
mov ecx,128
Call ReadString
;************* Boucle pour transférer le nom et Salut dnas le tableau
mov esi,0
mov ecx,6
Call Concatenation

mov buffer2,edx
mov esi,0
mov ecx,5
Boucle2:
movzx eax,var3[esi]
mov buffer[esi+6],eax
inc esi
loop Boucle2

invoke MessageBoxA,NULL, offset buffer, buffer2,NULL
call ExitProcess
main endp
;************Concatenation
Concatenation Proc
pushad
Boucle:
movzx eax,var2[esi]
mov buffer[esi],eax
inc esi
loop Boucle
popad
ret
Concatenation endp
end main
*********
******
**********
TheHacker :-p

6 réponses

Messages postés
570
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
18 janvier 2021
2
salut,
masm32 fornit GetTextInput pour récupérer une chaine sans se casser la tete.szcatstr dans la même librairie ,concatene des chaines.
Pour couper la phrase,rajouter un zero a l'endroit de la coupure voulue et faire la concaténation de la chaine obtenue au clavier .
ToutEnMasm
Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005

ok merci j'vias voir cke j'peux faire avec ca, encor euen question.

quelle est la différence entre la section
<.data> et <.data ?> ?
TheHacker :-p
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
dans la section .data, tu dois initialiser tes variables, alors ke .data?, non. Je crois ke c ca, j'en suis kasiment sur...
Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005

ok merci c bien cke j'avais constaté dans les exemples,mais j'en etait pa ssur nn plus, cela dit, je crois que meme en "mélangeant" les 2 sections ca marche .

voila merci @+
TheHacker :-p
Messages postés
570
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
18 janvier 2021
2
Salut,
Sur les data (?) ce sont des datas non initialisés a la compilation, alors que les autres doivent avoir un contenu déclaré.
Les datas non initialisés doivent être utilisés avec beaucoup de méfiance.Le déroulement d'un programme rencontrant une data non initialisé (dans la section data ou en pile) donne des résultats incertains.
On peut remplacer tous les points d'interrogations par des zéros et suprimer la section data? sans problème.Celle ci n'est fourni que pour compatibilité avec un vieux truc obscur.
ToutEnMasm
Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005

ok merci pour ce petit eclaircicement !

@+
TheHacker :-p