TEdit

clem68100 - 11 sept. 2015 à 11:18
clem68100 Messages postés 15 Date d'inscription vendredi 11 septembre 2015 Statut Membre Dernière intervention 14 décembre 2016 - 12 sept. 2015 à 12:21
Bonjour,
ma procedure SiComm1.SiS_OpMode; me renvoie un chiffre 5 qui correspont à un text 'Lecture de puce'.
voila ce que j'ai ecri :

edit8.Text:=SiComm1.SiS_OpMode;

Donc il m'affiche 5 dans le Tedit et je ne sais plus comment le convertir en text 'Lecture de puce'



Merci pour vos réponce

4 réponses

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
11 sept. 2015 à 16:22
Bonjour,

essaye d'être un peu plus précis. s.t.p.

dans ton code :
comment est déclaré "SiS_OpMode" quel type et sa déclaration ...
et idem ... comment est déclaré "'Lecture de puce'"


on est pas devin ... il faut nous en dire plus ... le mieux étant un bout de code ;)
0
pbazin47 Messages postés 16 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 15 septembre 2015
Modifié par pbazin47 le 11/09/2015 à 20:33
Bonsoir clem68100,

Comme l'a dit fort justement Cirec, un exemple de code serait le bienvenu...

Mais il y a moyen de contourner le problème ( enfin je pense ).

A première vue :
1) SiS_OpMode ( qui est une fonction, et non une procédure ) te renvoie soit une String, soit un Char ( sinon je me doute que le Edit8.Text:=SiComm1.SiS_OpMode;. va déclencher tout un patacaisse )
2) Tu connais ce qu'elle doit te retourner ( '5' = 'Lecture de puce' ), donc tu dois avoir la liste des valeurs de retour...et leur type...

Tu peux créer une fonction convertissant le code de SiS_OpMode en texte, afin de l'attribuer au TEdit.Text.
function get_SiS_OpMode_text(SiS_OpMode : ???) : string;

J'espère t'avoir mis sur la voie.

Cordialement
0
clem68100 Messages postés 15 Date d'inscription vendredi 11 septembre 2015 Statut Membre Dernière intervention 14 décembre 2016
11 sept. 2015 à 22:45
enfaite il y a plusieurs numéro que sicomm1.OpMode divulgue.
C'est un boitier electronique de chez sportident.

Avec la procedure SiComm1.OpMode il affiche soit :
ex 1 = mode spéciaux
2 = poste
3 = départ
4 = arrivée
5 = lecture de puce


j'espaire que j'ai été un peux plus claire sur le sujet

merci pour votre aide et votre participation
je suis novice en delphi
0
pbazin47 Messages postés 16 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 15 septembre 2015
12 sept. 2015 à 12:15
Bonjour Clem68100,

Si c'est juste pour convertir le code en texte, tu peux faire ainsi ( je pars sur l'hypothèse que SiComm1.SiS_OpMode te renvoie un char/string, si c'est un integer, tu peux enlever le StrToInt dans l'appel de la fonction )


Edit8.Text:=get_SiS_OpMode_text(StrToInt(SiComm1.SiS_OpMode));


Petites remarques :

-Si le edit8.Text ne te sert qu'a afficher, je te conseille de le remplacer par un Label, pour qu'il ne soit pas modifié/effacé suite a une erreur de manipulation pendant l'execution.

Labelxxx.Caption:=get_SiS_OpMode_text(StrToInt(SiComm1.SiS_OpMode));

-Je n'ai pas rattaché la fonction a la fiche, ainsi tu peux l'ajouter dès que tu en as besoin

-J'ai reçu des caisses de begin...end, donc j'en met partout...Dans ce cas, ça ne sert à rien, mais c'est utile quand on doit rajouter du code ( enfin, c'est mon point de vue )

unité routines.pas
unit routines ;

interface

uses
  Classes , SysUtils ;

function get_SiS_OpMode_text ( SiS_OpMode  :integer )  :string;

implementation

function get_SiS_OpMode_text ( SiS_OpMode  :integer )  :string;
begin
  case SiS_OpMode of
    1:
    begin
      Result := 'mode spéciaux ';
    end;
    2:
    begin
      Result := 'poste ';
    end;
    3:
    begin
      Result := 'départ ';
    end;
    4:
    begin
      Result := 'arrivée ';
    end;
    5:
    begin
      Result := 'lecture de puce ';
    end;
    else
    begin
      Result := 'Je ne connais pas ce mode...';
    end;
  end;
end;
end.



unité form1.pas
implementation

uses routines; // A ajouter aux uses existants


J'espère que c'est ce que tu cherchais, et rappelle toi qu'on a tous été novice aussi, donc n'hésites pas a demander si tu as besoin ( en donnant le maximum d'infos sur le code... )

En te souhaitant une bonne journée
0
clem68100 Messages postés 15 Date d'inscription vendredi 11 septembre 2015 Statut Membre Dernière intervention 14 décembre 2016
12 sept. 2015 à 12:21
C'est super sympas de ta réponse, je testerais ton codes demain soir je ne suis pas sur mon ordi

Donc au besoin je pourrais toujours vous demander de l'aide avec un max d'info

Merci bon week end et bonne prog.
0
Rejoignez-nous