Se connecter / S'enregistrer
Votre question

programmation delphi, chaines de caractères.

Tags :
  • string
  • Programmation
Dernière réponse : dans Programmation
7 Novembre 2007 18:19:52

Bonjour, je suis en BTS IG, et j'ai pas mal de soucis avec deux programmes, que je dois faire passer du mode console au mode graphique.

ils consistent à coder de différentes façon des mots de 4 et 3 lettres.

le code console vous aidera:

"
var

mot : string ;

begin

writeln('Traduction de mot de 4 lettres en code secret');
writeln ;
writeln('Saisir le mot a coder') ;
readln(mot) ;

writeln ;
writeln('Le code secret du mot est: ',ord(mot[1]),' ',ord(mot[2]),' ',ord(mot[3]),' ',ord(mot[4]));

readln;
end. "

je voudrais simplement mettre le dernier writeln dans un showmessage., mais il me dit: " Trop de paramètres originaux"

à comprends rien ^^


sinon le deuxieme programme code un mot de trois lettre, en inversant ces trois lettres et en intercalant leur symétrique par numero dans l'alphabet. (clair non?)

j'arrive en mode console, mais a chaque fois ya probleme avec le mode graphique...

je vous mets le code console:

"var

mot : string ;

begin

writeln('Cryptage d''un mot de 3 lettres') ;
writeln ;
writeln('Saisir le mot a crypter') ;
readln(mot) ;

writeln ;
writeln('Le mot crypte est : ',(mot[3]), chr(219-ord(mot[3])),(mot[2]), chr(219-ord(mot[2])), (mot[1]), chr(219-ord(mot[1]))) ;

readln;
end."

pareil, je voudrais faire une showmessage...

si vous avez des solutions de fonctions à utiliser, ou de petits outils pour ce genre de cas...

j'utilise delphi 5.


merci d'avance.



Autres pages sur : programmation delphi chaines caracteres

7 Novembre 2007 19:51:35

à force de creuser j'ai trouvé comment resoudre le probleme du premier exo.
7 Novembre 2007 20:11:33

salut, tu aurais pu mettre comment pour ceux qui ont le même problème, mais si ca m'étonne que tu ais résolu le 1er et non le 2eme vu que tu dis que c'est le même problème....

sinon, pour writeln et showmessage, l'erreur est normale vu qu'il n'attendent pas les même arguments:
  1. procedure ShowMessage ( const Text : string ) ;
  2. procedure WriteLn ( Expression1 {options} {, Expression2 {options} ...} ) ;
7 Novembre 2007 20:18:24

j'ai finalement inscrit dans un Tedit au lieu d'un showmessage pour le 1er;

voici ma solution:

procedure Tex14.btcodageClick(Sender: TObject);

begin

self.motcrypte.text := IntToStr(Ord(Self.mot.Text[1])) +' '+ inttostr(Ord(Self.mot.Text[2]))+' '+ inttostr(Ord(Self.mot.Text[3])) +' '+ inttostr(Ord(Self.mot.Text[4])) ;
end;

end.

J'ai également fini par trouver solution au second...


procedure Tex15.btcryptClick(Sender: TObject);

begin
self.motcrypte.text:= (self.mot.text[3])+ chr(219-ord(self.mot.text[3]))+(self.mot.text[2])+ chr(219-ord(self.mot.text[2]))+ (self.mot.text[1])+ chr(219-ord(self.mot.text[1])) ;
end;

end.






Maintenant j'ai un troisieme programme, pour calculer l'âge à partir d'un date de naissance donnée, et de la date systeme.

voici le programme en mode console, je continue de chercher mais celui là ça fait un bout de temps que je planche dessus pour le mettre en mode graphique....

writeln('Calcul de l''age');
writeln;
write('Saisir votre nom : ');
readln(nom);
write('Saisir votre prenom : ');
readln(prenom);
write('Saisir votre date de naissance: ');
readln(datenaissance);
decodedate(date,annee,mois,jour);

age:=int(((jour+((mois-1)*365.25/12)+annee*365.25) - (strtoint(copy(datenaissance,1,2)) + ((strtoint(copy(datenaissance,4,2))-1)*365.25/12) + strtoint(copy(datenaissance,7,4))*365.25))/ 365.25 );

writeln;
writeln(prenom[1],'. ',nom,' vous avez ',floatToStr(age),' an(s).');
readln;

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS