Donner une action d'une item de combobox [Résolu]

Messages postés
56
Date d'inscription
vendredi 1 décembre 2006
Dernière intervention
20 octobre 2007
- - Dernière réponse : Guillemouze
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Dernière intervention
29 août 2013
- 19 oct. 2007 à 22:36
Bonjour a tous et a toutes,

je continue a travailler sur le fonctionnement du patch alors j'aimerais savoir si il est possible de recuperer 'l'item' que j'ai selectionnais dans le combobox pour lui faire effectuer une action,par exemple:

Combobox1.Items.Text := 'example' +#13+
                                         '0tester'+#1+
                                         '1cool';

si je selectionne par exemple 'cool' j'aimerais que l'action que je lui donne soit:

var FB : File Of Byte;
      b : Byte;

begin
     assignfile(FB , label1.caption);   //Il recupere se qu'il y a dans le label
      Reset(FB);        b : $90;                         //90 nop a l'offset 00066C37!
       seek(FB,$00066C37);        //offset ou il modifie le bit c'est  dire 90
   Write(FB,b);                   // Puis il écrit et
closefile(FB);                //il ferme

voila je sais pas si c'est possible,mais je prefere vous demandez votre avis

merci pour tout,

bonne journee.

('Le nombre de touches frappées pour fairemarcher un programme mal écrit peut être supérieur à celui nécessairepour le réécrire proprement.
 Mais on ne va pas jeter ce qu'on a déjà écrit...');
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
1799
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
19 juillet 2018
3
Merci
Salut,

Plusieurs possibilités (au moins...) :

if ComboBox1.Text = 'cool' then
begin
  //... le code correspondant à "cool"
end;

ou bien :

if ComboBox1.Items[ComboBox1.ItemIndex] = 'cool' then
begin
  //... le code correspondant à "cool"
end;

encore mieux :

case ComboBox1.ItemIndex of
  0:
  begin
    //... le code correspondant à "exemple" ici
  end;
  1:
  begin
    //... le code correspondant à "tester" ici
  end;
  2:
  begin
    //... le code correspondant à "cool" ici
  end;
end;

et le code retour chariot c'est  #13#10

Bonne prog'

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de japee
Messages postés
56
Date d'inscription
vendredi 1 décembre 2006
Dernière intervention
20 octobre 2007
0
Merci
Merci 1000 fois pour ton aide

la 2 eme solution que tu ma donne est la meilleur pour moi!

alors merci encore japee.

('Le nombre de touches frappées pour fairemarcher un programme mal écrit peut être supérieur à celui nécessairepour le réécrire proprement.
 Mais on ne va pas jeter ce qu'on a déjà écrit...');
Commenter la réponse de hackeur13
Messages postés
56
Date d'inscription
vendredi 1 décembre 2006
Dernière intervention
20 octobre 2007
0
Merci
j'aurais une derniere question qui a pas de rapport avec le combobox

enfaite j'ai essayer de changer
b:$90
par
b:$75c0
mais sa ne marcher pas alors j'ai essayer avec la valeur w : word
w:$75c0
le programme se compile mais sa ne marche toujours pas
es qu'il y aurais une autre maniere japee?

merci d'avance.

('Le nombre de touches frappées pour fairemarcher un programme mal écrit peut être supérieur à celui nécessairepour le réécrire proprement.
 Mais on ne va pas jeter ce qu'on a déjà écrit...');
Commenter la réponse de hackeur13
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Dernière intervention
29 août 2013
6
0
Merci
essaye de passer par 2 bytes :

begin
     assignfile(FB , label1.caption);   //Il recupere se qu'il y a dans le label
      Reset(FB);
       seek(FB,$00066C37);        //offset ou il modifie le bit c'est  dire 90
   Write(FB,$75);                   // Puis il écrit et
    Write(FB,$00);
closefile(FB);

attention, verifie bien que tu veux ecrire $7500 ou jusqu'al'offset en question
Commenter la réponse de Guillemouze
Messages postés
56
Date d'inscription
vendredi 1 décembre 2006
Dernière intervention
20 octobre 2007
0
Merci
il me fait une erreur
"Variable required"
es que tu aurais une autre idees?car j'ai essayer plusieur maniere mais sa ne abouti pas.

('Le nombre de touches frappées pour fairemarcher un programme mal écrit peut être supérieur à celui nécessairepour le réécrire proprement.
 Mais on ne va pas jeter ce qu'on a déjà écrit...');
Commenter la réponse de hackeur13
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Dernière intervention
29 août 2013
6
0
Merci
"le programme se compile mais sa ne marche toujours pas"
"

il me fait une erreur "Variable required" "
qu'est ce qui ne marche pas?
ou il te met l'erreur?

je trouve que tu n'est vraiment pas explicite et precis hackeur !!! ca donne pas vraiment envie de t'aider
... mais bon, j'vais le faire quand meme

2 possibilites:
<li>passer en word</li>var
    FB : File Of Word;
    w : Word;
begin
    assignfile(FB , label1.caption);  
    Reset(FB);
    seek(FB,$00066C37);
    w := $c075; //il faut inverser l'ordre (je sais pas pourquoi)      
    Write(FB, w ); 
    closefile(FB);
end;

<li>faire des ecritures successives</li>var

    FB : File Of Byte;

    b : Byte;
begin

    assignfile(FB , label1.caption);  

    Reset(FB);

    seek(FB,$00066C37);

    b : = $75;

    Write(FB,b);                

    b := $c0;

    Write(FB,b);

    closefile(FB);

end;
Commenter la réponse de Guillemouze

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.