Declarer un Objet comme une variable? Aidez moi svpl. [Résolu]

Signaler
Messages postés
2
Date d'inscription
samedi 7 janvier 2006
Statut
Membre
Dernière intervention
6 septembre 2008
-
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
-
Mon programme comporte 8 StringGrids situes sur 8 Forms differentes.
Je ne sais pas comment faire pour declarer les StringGrids et Forms comme variables.
Car ce que je veux faire: quand le StringGrid1 est plein je saute sur StringGrid2 qui se trouve sur la Form2. C.a.d je voudrais incrementer le sg et la form.. mais comment?

svpl. aidez-moi. merci

9 réponses

Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
13
bonjour ricoh20,

Car ce que je veux faire: quand le StringGrid1 est plein je saute sur StringGrid2 qui se trouve sur la Form2. C.a.d je voudrais incrementer le sg et la form..

C'est pas compliqué à réaliser mais la méthode est plutôt curieuse..

Déjà au lieu d'utiliser 8 formes, tu pourrais prendre un TPageControl et créer 8 onglets (plus léger)

cantador
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Pour vérifier si le stringgrid est plein :

function IsStringGridFull(MyStringGrid: TStringGrid): Boolean;
var
I, J: Integer;
begin
for I := 0 to MyStringGrid.RowCount - 1 do
for J := 0 to MyStringGrid.ColCount - 1 do
if MyStringGrid.Cells[I, J] = '' then
begin
Result := False;
Exit;
end;
Result := True;
end;

Cordialement, Bacterius !
Messages postés
2
Date d'inscription
samedi 7 janvier 2006
Statut
Membre
Dernière intervention
6 septembre 2008

D'accord.. c'est une idee, mais j'aimerais savoir comment declarer un objet et une forme comme variable. Ce que je voudrais faire:

 for j:=1 to Totalplayers do
 begin
 if {j = "1/8 de Totalplayers}
 then
    //incrementer la table
 end;

ce code est repeter 8fois, et c'est pour ca que je veux incrementer la table.
Deplus mes Tables sont declares comme suit: frmT1.sgT1

ps: cantador merci de t'avoir penche sur mon probleme!
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Et moi je compte pour du beurre ?
De toute façon tant que tu n'auras pas mieux expliqué peu de gens pourront t'aider.

Cordialement, Bacterius !
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Et ta form est déjà une variable (variable globale : Form1: TForm1).
Et tes objets aussi sont des variables (Button1: TButton1).
Quand tu veux interagir entre les fiches, tu déclares le nom de l'unité avec laquelle tu veux interagir dans une clause "uses" en dessous de "implementation" dans l'unité qui veut interagir avec une autre.

Cordialement, Bacterius !
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Oups désolé : Button1: TButton

Cordialement, Bacterius !
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
13
ce code est repeter 8fois, et c'est pour ca que je veux incrementer la table.
Deplus mes Tables sont declares comme suit: frmT1.sgT1



Toute l'ambiguïté vient du fait que tu considères un stringgrid comme une table.
Certes ça y ressemble un peu mais jette un oeil sur une gestion d'une vraie table et cela t'ouvriras d'autres horizons je pense..

cantador 
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Lol pas facile le lycée, mais je m'en sors de justesse ...
J'espère ne pas passer ma vie devant la feuille polycopiée ... et me réserver un peu de temps pour delphifr :)

Cordialement, Bacterius !
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Oui tu as tout à fait raison Cantador, il faut faire attention à ce piège béant ... et moi j'ai même pas d'option informatique ...
Mais j'ai pris des bonnes résolutions ! pas d'ordinateur en semaine (sauf mercredi, samedi et dimanche), et pas avant d'avoir fini mon travail ;)
Au fait c'est normal que je soit sur une page complètement différente ? La version next-gen de CS est déjà là ??

Cordialement, Bacterius !