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

hackeur13 56 Messages postés vendredi 1 décembre 2006Date d'inscription 20 octobre 2007 Dernière intervention - 19 oct. 2007 à 16:26 - Dernière réponse : Guillemouze 1015 Messages postés samedi 25 octobre 2003Date d'inscription 29 août 2013 Dernière intervention
- 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
japee 1792 Messages postés vendredi 27 décembre 2002Date d'inscription 12 novembre 2016 Dernière intervention - 19 oct. 2007 à 17:18
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'

Merci japee 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

Commenter la réponse de japee
hackeur13 56 Messages postés vendredi 1 décembre 2006Date d'inscription 20 octobre 2007 Dernière intervention - 19 oct. 2007 à 17:22
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
hackeur13 56 Messages postés vendredi 1 décembre 2006Date d'inscription 20 octobre 2007 Dernière intervention - 19 oct. 2007 à 18:34
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
Guillemouze 1015 Messages postés samedi 25 octobre 2003Date d'inscription 29 août 2013 Dernière intervention - 19 oct. 2007 à 20:38
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
hackeur13 56 Messages postés vendredi 1 décembre 2006Date d'inscription 20 octobre 2007 Dernière intervention - 19 oct. 2007 à 21:42
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
Guillemouze 1015 Messages postés samedi 25 octobre 2003Date d'inscription 29 août 2013 Dernière intervention - 19 oct. 2007 à 22:36
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.