[Delphi]Un probleme tout bête à resoudre.

Un probleme tout bête à resoudre. [Delphi] - Delphi/Pascal - Programmation

Marsh Posté le 22-12-2005 à 17:26:31    

Dans mes etudes je travail principalement sur du C.
 
Je me suis mit cet apres midi sur le delphi.
 
J'ai mis un boutton, dans mon boutton il fait des calcules et le resultat je le met dans la variable double H.
 
J'ai envie d'afficher ce resultat. J'ai fait une boite EDIT. Je ne comprend pas ce que je dois mettre dans le code de la procedure de l'EDIT pour afficher ma lettre H.
 
C'est tout facile aidez moi.

Reply

Marsh Posté le 22-12-2005 à 17:26:31   

Reply

Marsh Posté le 22-12-2005 à 17:52:30    

C est pas tres clair...
 
est un truc genre Convert.ToString(H) que tu cherche?

Reply

Marsh Posté le 22-12-2005 à 17:57:25    

Mon programme est celui ci :  
 
 
 
unit travian1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Math;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
 
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
 
var
  Form1: TForm1;
  A:integer=(-60);
  B:integer=(-15);
  C:integer=(-10);
  D:integer=10;
  E:integer=6;
  F,G,H: Double;
 
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 
F:=(B-D)/E;
G:= (A-C)/E ;
if (F<0) then
F:=(-F);
 
if (G<0) then
G:=(-G);
 
H:=G+F;VOICI "H"
 
 
 
 
end;
 
 
 
procedure TForm1.Edit1Change(Sender: TObject);
begin
QU'EST CE QUE JE MET LA DEDANS POUR AFFICHER H
end;
 
end.
 
 
 
 
 
 
Lorsque j'appuie sur Button1, dans la fenetre EDIT1 je veux voir apparaitre la valeur de H.
Comme un printf("%f",H) en C.

Reply

Marsh Posté le 22-12-2005 à 17:58:44    

Edit1.Text := FloatToStr(H);

Reply

Marsh Posté le 22-12-2005 à 17:59:06    

de rien :)

Reply

Marsh Posté le 22-12-2005 à 18:11:36    

Merci, ça a l'air de compiler comme il faut. Maintenant il me reste a comprendre pourquoi il affiche rien dans la fenetre EDIT1 et pourquoi il m'affiche toujours "Edit1". Mais ça doit pas etre sorcier.
 
Sinon, je devrais avoir d'autres questions plus ou moins facile a poser par la suite.

Reply

Marsh Posté le 22-12-2005 à 18:13:28    

bon je vais t'expliquer  
 
ton événement Edit1Change ne sert strictement a rien
 
la ligne de code que je t'ai proposée etait a mettre dans l'événement TForm1.Button1Click

Reply

Marsh Posté le 22-12-2005 à 18:19:22    

VICTOIRE.
 
Merci, j'ai compris comment ça marchait.

Reply

Marsh Posté le 22-12-2005 à 18:33:52    

Comment je pourrais enlever la partie decimale d'une variable et ensuite la mettre dans une autre?
 
Ensuite, quelle est la commande pour associer un chiffre que l'on entre dans une fenetre EDIT à une variable dans notre programme?
 
Exemple : Je tape 12 dans ma fenetre EDIT, j'appuie sur mon boutton1, et ce chiffre 12 se retrouve dans la variable I.

Reply

Marsh Posté le 22-12-2005 à 18:37:41    

I := StrToInt(Edit1.Text);
 
ou
 
I := StrToIntDef(Edit1.Text, -1);
 
-1 étant une valeur par défaut dans le cas où Edit1.Text ne serait pas un nombre entier la fonction normale StrToInt provoquant une exception dans ce cas de figure (Exception qu'il est possible de "rattraper" biensur)
 
Il y a aussi StrToFloat pour les nombres rééls.


Message édité par copper_fr le 22-12-2005 à 18:38:51
Reply

Marsh Posté le 22-12-2005 à 18:37:41   

Reply

Marsh Posté le 22-12-2005 à 18:47:12    

Merci.
 
Je vais réexpliquer le debut de mon message precédent car j'ai dit n'importe quoi.
 
Ce serait pour savoir si je peux prendre la partie flottante d'un nombre reel pour le mettre dans une variable.
 
 
Exemple : H = 12.5
 
Je voudrais avoir H = 12 et une autre variable I = 0.5

Reply

Marsh Posté le 22-12-2005 à 18:56:51    

Alors très simple :
 
I := Frac(H);
H := H - I; ou bien H := Int(H);

Reply

Marsh Posté le 22-12-2005 à 19:16:55    

Mouahahah vous allez pas vous en tirer comme ça :
 
Alors cette fois ci, je dois cocher sur une case pour qu'il me fasse une autre action que celle de depart. Donc en gros, je coche et il change la variable H. (toujours cette variable H, et bah dis donc)
 
Je pensais faire un IF.
 
if (....=1) then
H:=12.5;
 
Mais que mettre à la place des ...? J'utiliserais un RadioButton1.

Reply

Marsh Posté le 22-12-2005 à 20:33:40    

if radiobutton1.checked ?
Faire un tour dans la doc ça aide à avoir des idées :p


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 22-12-2005 à 20:52:21    

Je me perds dans la doc. Et vu la vitesse à laquelle on me repond ici, j'ai plus vite fait de demander.
 
Merci a vous. J'avance carrément vite.

Reply

Marsh Posté le 27-12-2005 à 22:35:14    

Je reviens vous embeter apres 1 semaine de vacances.
 
J'ai deux rangés de "RadioButton" dans mon logiciel mais j'aimerais que chaque rangée soit indépendante l'une de l'autre.
Par exemple : 1ere rangée = Prix >50€
                                       Prix = 50€
                                       Prix <50€
2eme rangée = <500 pièces
                     >500 pièces
 
-------------------------------------------------
Deuxième question :  
Comment mettre dès le début un "RadioButton" sur ON?
J'ai pas encore chercher, j'aurais peut etre trouvé avant que vous me donniez la reponse.
 
Par contre la premiere question me pose des problemes.

Reply

Marsh Posté le 28-12-2005 à 12:12:07    

1e question :
 
plusieurs solutions :
- utiliser des radiogroupbox au lieu des radio boutons
- mettre les groupes de radio boutons dans un groupbox, sur un panel ou autre composant similaire
 
2e question :
tu mets Checked à True...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 30-12-2005 à 18:22:49    

Merci à vous tous. J'ai terminé mon programme.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed