Code source d'un programme

baudouinlebelge - 21 août 2013 à 15:31
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 26 août 2013 à 13:58
Bonjour,
J'aimerais savoir si on peut utiliser les résultats trouvés sur une fiche pour une autre fiche? par exemple: sur form1, jè fè 1 calcul x= 1+2 =3; èske je peu utiliser ce résultat x=3 sur une fiche form2? si oui, ke fo t-il faire? merci pour la réponse.j'en ai besoin urgemment.merci pour l'aide

6 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
21 août 2013 à 16:07
Nous ne sommes pas là pour faire vos exercices :
http://www.commentcamarche.net/faq/10925-demander-de-l-aide-pour-vos-exercices-sur-ccm

L'urgence est pour toi, pas pour nous, rien ne sert de mentionner l'urgence, on est des bénévoles on est pas rémunéré pour les réponses données.

Et le français utilisé ne me donne pas envie de répondre.
Tu n'a même pas mis ce que tu as tenté ni si tu as fais des recherches sur le sujet (pourtant très souvent demandé et donc réponses faciles d'accès).
0
baudouinlebelge
21 août 2013 à 16:52
bjr Mr Nhenry...ma question nétè ke vs mèdié a résoudr mè problème.si tu avè bien lu, tu sora ken fèt, jè donné cet exemple pour pouvoir expliké la kestion ke je pose a tou le monde.on è tous là pour s'entrèdé dc je pense ke ns devon comprendr le sens des phrase des gens avan de répondr aux gens...la loi demande dètr explicite dan les kestion et cè ce ke j'essayè de fèr en donnan cet exempl.ne vs en fète pa, cè san rancune et kelkun vient de me donné la réponse en tchat.merci et à bientô..merci pour vos aides.
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
22 août 2013 à 09:30
Je ne sais pas comment Solilog et Korgis ont pu avoir envie de te donner une réponse avec cette écriture... moi ça m'écorche les yeux !

-> Prends le temps d'écrire dans un français correct s'il te plait, c'est une marque de respect pour tes interlocuteurs ! On n'envoie pas de SMS ici...
0
solilog Messages postés 273 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 18 avril 2015 10
21 août 2013 à 19:20
Salut,
Toutes les variables déclarées dans la partie "interface" de l'unité unit1 (donc form1, toutes ses propriétés, également tous les types, constantes, variables, proc et fonctions de la partie interface de unit1) sont accessibles depuis l'unité unit2, si elle contient "uses unit1".
Exemple:

soit form1 déclarée dans unit1, form2 dans unit2. Je veux que unit2 puisse avoir accès à form1.
si dans unit2
- soit tu ajoutes unit1 dans la 1ere clause uses :
uses Windows, Messages, SysUtils, Classes, ..., unit1;
- soit tu mets une clause uses dans la partie implementation de
unit2:
implementation
uses unit1;

Ainsi toutes les classes, types, variables, constantes, procedures et fonctions de unit1 seront accessibles (modifiables, executables, ...) depuis unit2.
if form1.label1.caption = 'Y' then ...
form2.label1.caption := 'N';
en fait toute l'interface sera accessible.

C'est lourd comme explication mais ça devrait être clair pour toi.
Bon boulot.

solilog
0
baudouinlebelge
22 août 2013 à 12:08
Bonjour chère ami Solilog.
J'ai bien compris votre démonstration et je suis très reconnaissant de votre part.je vais de ce pas l'appliquer et eje vous donnerai la suite après.Je vous remercie tous pour vos aides et vos conseils.Grand merci et à très bientôt.
0
sp40 Messages postés 1276 Date d'inscription mardi 28 octobre 2003 Statut Contributeur Dernière intervention 3 juillet 2015 15
22 août 2013 à 15:05
Hé bien voilà... avec un petit effort, c'est de suite mieux... Ah... Si tout le monde pouvait prendre exemple sur ta prose... ;-)
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
21 août 2013 à 20:09
Salut,
Tu peux aussi déclarer la variable dans la partie "interface" de Form2. Il faut alors la déclarer dans les "uses" de Form1.
Voici un exemple avec 2 Forms, et 1 bouton sur chaque :

Form1 :
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
  X := 1 + 2;
  Form2.ShowModal;
end;

end.


Form2 :
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  X: Integer;

var
  Form2: TForm2;

implementation

{$R *.DFM}

procedure TForm2.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(X));
end;

end.


Bon courage pour tes débuts en Delphi.
(et si tu pouvais soigner un peu ton français, ça fait mal à la tête ; bon, si ça n'est pas ta langue maternelle, tu es pardonné)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
21 août 2013 à 20:13
Heu... sur Form2, dans la partie "interface" tu pouvais regrouper les variables, ainsi :
var
  Form2: TForm2;
  X: Integer;

C'est pareil, bien sûr, mais c'est sans doute plus clair.
0
baudouinlebelge
22 août 2013 à 12:11
Bonjour chère ami Korgis
J'ai bien compris votre démonstration et je suis très reconnaissant de votre part.je vais de ce pas l'appliquer et je vous donnerai la suite après.Je vous remercie pour vos aides et vos conseils.Grand merci et à très bientôt.
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
26 août 2013 à 13:58
Salut l'ami,

Déjà, comme l'on dit les autres, fait attention à ton orthographe, quelques fautes ne sont pas grave, tout le monde en fait, mais l'écriture SMS est proscrite (interdite) ici. Tu n'est pas limité en caractère et la bonne écriture permet une meilleure compréhension de ton problème et futurs problèmes. Le cerveau ne peux pas se concentrer à la fois sur la traduction SMS->Français et dans le même temps se concentrer à la compréhension et résolution d'un problème de programmation.

pour utiliser des données entre plusieurs fiches, ou encore entre plusieurs unités il y a pleins de solutions.

#1 : les variables globales déclarées dans l'interface de la fiche principale est l'une d'elle. Mais attention cette solution n'est pas très propre si l'on a beaucoup de données à faire transiter. Les variables doivent être nommées de façon précise (sumOfX, sumOfY, indexOfList) et non avoir des noms trop génériques (X, Y, N ...).

#2 : Une unité spécialisé pour ces données (data pack), maintenues dans des objets auto-créés/libérés (record ou class) :
Unit dataPack;

interface

uses Types, Windows, SysUtils;

type
  TDatas = record
    X,Y,I : integer;
  end;

var 
  Datas : TDatas = (X:0; Y:0; I:0);
  
implementation
end.


Il suffira de déclarer dataPack dans les uses des unités utilisant les données, avantage, il suffit d'écrire "Datas." et l'auto-complétion de l'IDE te listera les données utilisables.

0
Rejoignez-nous