Paramètres d'une checkbox

Bonjour,

je veux connaitre comment modifier les paramètres d'une checkbox

27 réponses

Résumé de la discussion

Modification des paramètres d'une checkbox et de son comportement est discutée, avec des références à Delphi et Pascal et à l'influence de l'état CheckBox1.Checked sur les conditions de test. Différentes propositions évoquent des méthodes simples comme CheckBox1.Checked := true; et soulignent que le choix de langage (Delphi, Pascal) détermine les syntaxes et les tests conditionnels. D'autres échanges présentent des exemples d'impression et de calculs, ou des questions sur l'intégration dans des tableaux dimensionnels, montrant que la discussion couvre aussi des aspects pratiques hors de la programmation directe. D'autres éléments mentionnent des cas d'utilisation variés, comme l'écriture dans un fichier ou l'envoi d'instructions à l'imprimante, élargissant la portée des exemples sans conclure.

Bobot (l’IA à votre service)
  1. un tableau avec des lignes et des colonnes , et les données seront saisir dedans
    1. Ah bon! Oui tout est possible, c'est juste plus long et compliqué à programmer.

      Il faut connaitre les codes ASCII et la fonction Ord(), la fonction ReadChar() et la commande GotoXY(). Avec ça on peut déplacer le curseur sur l'ecran (ou le tableau) avec les fleches et controler les touches que l'on frappe.

      Il y a aussi des fonctions qui controlent la souris, mais chaque chose en son temps.
      Documentes-toi déjà sur les fonctions que je t'ai indiqué.

      Y.
  2. merci
    ça marcher bien, et comment le faire dans un tableau dimensionner comme on le fait en excel .
    1. Désolé, je ne comprends pas.
      Reformule ta question.

      Y.
  3. Ton programme avec des tableaux dimensionnés pour 10 notes maxi.

    Par contre la sortie sur imprimante ne marche pas chez moi, je ne sais pas pourquoi, je vais chercher, si je trouve je te dirais.

    en attendant l'impression se fera dans le fichier c:\fich1.txt que tu peux ouvrir et imprimer le manière classique.

    Si tu veux voir l'autre méthode sans tableaux dis le moi.

    A+

    program calcule_moyenne; 
    uses crt; 
    var
    	i,Nbmod,note,cof,p,s,scof :integer;
    	Tab_Module : array [1..10,0..20] of char;
    	Tab_Note, Tab_coef : array [1..10] of integer;
    	moy :real; 
    	M :char; 
    	f: text; 
    
    begin 
    	clrscr; 
    	textcolor(12); 
    	gotoxy(20,4);writeln('Bien Venue dans Notre Programme'); 
    	writeln(''); 
    	textcolor(15); 
    	writeln('entrer le nombre de module'); 
    	writeln(''); 
    	write('Nembre de module:'); 
    	readln(Nbmod); 
    	i:=1; 
    	p:=1; 
    	s:=0; 
    	scof:=0;
    {Saisie des données}	
    	for i:=1 to NBmod do 
    	begin 
    		writeln(''); 
    		textcolor(10); 
    		writeln('Nom du module:'); 
    		writeln(''); 
    		{readln(M);}
    		readln (Tab_Module[i]);
    		writeln(''); 
    		textcolor(15); 
    		write(' note:='); 
    		{readln(note); }
    		readln (Tab_Note[i]);
    		write(' coef:='); 
    		{readln(cof); }
    		readln (Tab_coef[i]);
    	end;
    {Calcul de la moyenne}
    	for i:=1 to NBmod do 
    	begin 
    		{p:=note*cof; }
    		p:=Tab_Note[i]*Tab_coef[i];
    		s:=s+p; 
    		{scof:=scof+cof; }
    		scof:=scof+Tab_coef[i];
    		moy:=s/scof; 
    	end;
    {Impression des resultats}
    	writeln(''); 
    	textcolor(3); 
    	writeln('la moyenne est:',moy:0:2); 
    	writeln(''); 
    	if (moy>=10) then 
    		write('eleve admet')
    	else
    	begin 
    		if (moy<10) and (moy >5) then 
    			write('eleve doit passer par rattrapage') else 
    			if moy<5 then 
    			write('eleve exclus');
    	end;
    {Impression sur Imprimante}
            writeln('');
    	write ('Voulez-vous une impression sur l''imprimante (O/N) :');
    	readln (M);
    	if (M='O') or (M='o') then
    	begin
    		{assign(f,'prn:');}
                    assign(f,'c:\fich1.txt');
    		rewrite(f); 
    		writeln(f,'Bien Venue dans Notre Programme');
    		writeln(f,'');
    		writeln(f,'Nombre de module:',Nbmod);
    		writeln(f,'');
    		for i:=1 to NBmod do
    		begin
    			writeln(f,'Nom du module:',Tab_Module[i]);
    			writeln (f,'Note:',Tab_Note[i]);
    			writeln (f,'Coef:',Tab_coef[i]);
    			writeln(f,'');
    		end;
    		writeln(f,'La moyenne est:',moy:0:2);
    		writeln(f,''); 
    		if (moy>=10) then 
    			writeln(f,'eleve admis') 
    		else 
    		begin 
    			if (moy<10) and (moy >5) then 
    			writeln(f,'eleve doit passer par rattrapage') else 
    			if moy<5 then 
    			writeln(f,'eleve exclus'); 
    		end;
    		close(f);
    	end;
    	writeln('Fin du Programme');
    
    end. 
    1. j'ai pas encore appris ça ,
      et votre deuxième proposition sincèrement j'ai pas arriver de le faire
      il me faut un départ avec un exemple préalablement fait et a partir de la je me développe, même pour les tableaux je sais comment faire déclarer un tableaux t: array [1..100] of integer;

      et comment faire la somme de deux tableau ...ect , mais je sais pas comment tracer un tableau dans pascal je veux bien le savoir,
      et a part ça comme tu veut m'aider je vais vous expliquer ma situation , cette formation je le fait sous forme cours de soir , je suis fonctionnaire dans une société prive, je vous contacte de mon bureau ,j'ai pas le temps pour assister tous les heurs c'est pourquoi je compte et- je cherche sur le forum pour l'aide,
      le proverbe dit deux n'apprend jamais l'arrogant et le timide.
      1. Bonjour,

        En lisant le programme, on peut le decomposer en 3 parties
        - Saisie des données
        - Calcul de la moyenne
        - Impression des resultats

        Tu as déjà les deux premières, il manque la troisième qui va réutiliser les données saisies et le resultat de la moyenne.
        Pour cela tu dois mémoriser les données saisies dans des tableaux différents pour chaque données: Tab_Module; Tab_Note; Tab_Coef.

        Est-ce tu à déja appris les tableaux? Si oui, tu peux bien structurer le programme.

        Sinon, tu dois poser la question 'Voulez-vous une Impresion? Oui/Non:' avant de commencer la saisie et faire les impressions ecran et imprimante en même temps.

        A+
        1. bonjour,
          voila un exp, ça c'est mon propre programme
          comme vous voyez le programme calcule la moyenne ,
          j'ai utiliser la boucle pour que le programme sera pas limiter pour un sel utilisateur

          program calcule_moyenne;
          uses crt;
          var i,Nbmod,note,cof,p,s,scof :integer;
          moy :real;
          M :char;
          begin
          clrscr;
          textcolor(12);
          gotoxy(20,4);writeln('Bien Venue dans Notre Programme');
          writeln('');
          textcolor(15);
          writeln('entrer le nombre de module');
          writeln('');
          write('Nembre de module:');
          readln(Nbmod);
          i:=1;
          p:=1;
          s:=0;
          scof:=0;
          for i:=1 to NBmod do
          begin
          writeln('');
          textcolor(10);
          writeln('Nom du module:');
          writeln('');
          readln(M);
          writeln('');
          textcolor(15);
          write(' note:=');
          readln(note);
          write(' cof:=');
          readln(cof);
          p:=note*cof;
          s:=s+p;
          scof:=scof+cof;
          moy:=s/scof;
          end;
          writeln('');
          textcolor(3);
          writeln('la moyenne est:',moy:0:2);
          writeln('');
          if (moy>=10) then
          write('eleve admet')
          else
          begin
          if (moy<10) and (moy >5) then
          write('eleve doit passer par rattrapage') else
          if moy<5 then
          write('eleve exclus');
          end;
          end.

          après exécution on obtient ça

          Bien Venue dans Notre Programme

          entrer le nombre de module

          Nembre de module:3

          Nom du module:
          FICHIER
          note:=13
          cof:=2

          Nom du module:
          note:=15
          cof:=5

          Nom du module:
          PASCAL
          note:=14
          cof:=5

          la moyenne est:14.25

          élève admet

          donc moi je veut imprimer ce statut ..
          1. est ce qu'il l'imprime directement ou il nous donne le choix .
            exp oui ou non
            l'essentiel je vais l'appliquer et je vous rendre le compte .
            1. Je crois que ce n'est pas tres clair dans ta tête.

              Le programme ne décide rien tout seul, il est bête, il fait aveuglément tout ce qu'on lui dit de faire, à condition qu'il comprenne ce qu'on lui demande.

              Donc si tu veux avoir le choix d'imprimer ou pas, il faut dire au programme de poser la question et d'agir suivant la réponse.
              Avant de commencer à ecrire des lignes de code, tu dois faire un ordinogramme pour definir toutes les fonctionnalités du programme, definir tous les branchements logiques.
              C'est la partie analyse qui est la plus importante. Après quand on sait comment ça s'articule, c'est facile d'ecrire les procédures et les fonctions.

              Je t'ai montré une manière d'imprimer du texte, à toi de voir comment l'intégrer dans ton programme, parce que moi je ne sais pas ce que t'as fait.

              Y.
          2. je m'excuse de retard ..... interruption de net ..

            j'ai un programme qui calcule une facture, après l'entrée des données il me donne le résultat .... donc a la fin comment peut-on imprimer cette cette facture.
            1. Dans la section de déclaration des variables tu dois rajouter:
                 f: text; 

              ça veut dire que tu déclares une variable de type fichier texte.

              Ensuite dans le corps du programme (après begin) tu rajoutes:
                  assign(f,'prn:');  
                  rewrite(f); 

              ça veut dire que tu affectes le fichier logique prn: (imprimante) à la variable f, et tu ouvres le fichier.

              Ensuite tu répètes les même instructions write et writeln du programme qui doivent etre imprimées en ajoutant le fichier logique désigné par la variable f. Par exemple
              writeln('Hello world!'); {cette ligne est imprimée à l'écran} 
              writeln(f,'Hello world!'); {cette ligne est imprimée sur f, c'est à dire l'imprimante}


              Enfin tu termines en fermant le fichier logique f, avant de sortir du programme.
                close(f); 


              Y.
          3. j'écris ça a la fin du programme ?
            1. C'est juste un exemple. Tu dois adapter à ton cas.

              Qu'est-ce tu veux faire exactement?
          4. bonjour,
            est ce que on peut faire une commande d'impression dans un programme pascal
            1. Bonjour,

              Oui, on peut. Voici un exemple

                program myprog; 
                var 
                  f: text; 
                begin 
                  assign(f,'prn:'); 
                  rewrite(f); 
                  writeln(f,'Hello world!'); {ce texte ira à l'imprimante par défaut}
                  close(f); 
                end. 
          5. j'ai compris, ces ajouts mon bien aider .. tu sait il y a beaucoup des questions et des aider dans ma tête , certain institut ne donnent peu, c'est pour ça je cherche des améliorations
            1. bonjour les amis

              merci beaucoup, c'est l'affichage qui je cherche,

              est ce que vous pouvez m'expliquer la syntaxe write(i:4)

              et a quoi sert les {}
              1. Bonjour

                La syntaxe write(i:4) veut dire qu'il faut ecrire la valeur i sur quatre caractères
                Si i=5 on écrira
                '   5'
                de cette façon toutes les impressions sont alignées.

                Les { } premettent de mettre une partie du code en commentaire
                tout texte compris entre { } n'est pas traité.

                A+
            2. pour moi la commande GOTOXY l'enseignant nous a dit que vous allez l'apprendre a partir ce moi de mars donc c'est nécessaire de la connaitre,
              je vais appliquer d'abord cette dernière et je revient .. salut .
              1. après l'exécution j'ai obtenu ça

                1 2 3 4 5 6 7 8 9 10
                1 1 2 3 4 5 6 7 8 9 10
                2 2 4 6 8 10 12 14 16 18 20
                3 3 6 9 12 15 18 21 24 27 30
                4 4 8 12 16 20 24 28 32 36 40
                5 5 10 15 20 25 30 35 40 45 50
                6 6 12 18 24 30 36 42 48 54 60
                7 7 14 21 28 35 42 49 56 63 70
                8 8 16 24 32 40 48 56 64 72 80
                9 9 18 27 36 45 54 63 72 81 90
                10 10 20 30 40 50 60 70 80 90 100

                est ce que on peut obtenir l'affichage suivant

                1*1=1 2*1=2 ............ ect ....
                1*2=2 .........
                1*3=3 .........
                ..........
                1. Sur la console, l'affichage doit etre bien aligné, mais c'est bien la table de mutiplication comme on nous l'a enseigné en primaire.
                  Pour faire plus présentable on peut tracer des traits horizontaux et verticaux, mais je te laisse faire.

                  L'autre affichage se fait de la même façon, en inversant i et j, pas besoin de GOTOXY mais ça dépasse les 80 colonnes de la console. Pour éviter ça on va de 1 à 9.

                  uses crt;
                  var i,p,j :integer;
                  begin
                  clrscr;
                  p:=1;
                  i:=1;
                  j:=1;

                  {write(' ');
                  for i:=1 to 10 do
                  begin
                  write(i:4);
                  end;
                  writeln;}

                  for i:=1 to 10 do
                  begin
                  {write(i:4);}
                  for j:=1 to 9 do
                  begin
                  p:=i*j;
                  write(j:2,'*',i:2,'=',p:2,' ');
                  {write(p:4);}
                  end;
                  writeln;
                  end;
                  readln(p);
                  end.
              2. donc comment on va le faire ?
                1. Tiens, voila un exemple

                  uses crt;
                  var i,p,j :integer;
                  begin
                  clrscr;
                  p:=1;
                  i:=1;
                  j:=1;
                  write(' ');
                  for i:=1 to 10 do
                  begin
                  write(i:4);
                  end;
                  writeln;
                  for i:=1 to 10 do
                  begin
                  write(i:4);
                  for j:=1 to 10 do
                  begin
                  p:=i*j;
                  {write(i:2,'*',j:2,'=',p:4,' ');}
                  write(p:4);
                  end;
                  writeln;
                  end;
                  readln(p);
                  end.
              3. regarder la boucle suivante
                program table_multiplication;
                uses crt;
                var i,p,j :integer;
                begin
                clrscr;
                p:=1;
                i:=1;
                j:=1;
                for i:=1 to 10 do
                for j:=1 to 10 do
                begin
                p:=i*j;
                writeln(i,'*',j,'=',p);
                end;
                readln(p);
                end.

                ce programme nous donne les tables de multiplications de 1 à 10

                le programme affiche le résultat verticalement

                est ce que on peut l'afficher chaque table prêt de l'autre avec des espaces
                horizontalement bien reparti
                1. Oui on peut, il faut utiliser la commande gotoxy pour positionner le curseur au bon endroit, mais c'est pas si simple.
                  On peut aussi afficher la table de multiplication sous forme d'une matrice à deux entrée, c'est plus simple.
                     !  1!  2!  3!
                  ---+---+---+---+
                    1!  1!  2!  3!
                  ---+---+---+---+
                    2!  2!  4!  6!


                  A+
              4. oui vous avez raison ,je me suis tremper dans une autre chose

                voila l'execution

                Turbo Pascal Version 7.0 Copyright (c) 1983,92 Borland International
                donner le nombre de la suite3
                -5
                8
                -10
                le resultat est:-7.0000000000E+00

                juste que writeln('le résultat est:',s:0:2);
                1. j'ai rectifier mais

                  ce n'est pas le problème
                  1. Je vois pas ou est l'erreur ça me semble juste, c'est quoi le résultat de la somme : -5 8 -10
                  2. Resultat : -7
                  3. alors ci juste ton programme fonctionne
                2. je suis étudiant informatique option base de données première année......

                  c'est vous permettez :

                  comment faire ce programme en pascal

                  le programme fait la somme des nombre real suivants

                  exp: (-5) + 8 + (-10) le nombre des chiffre entrer non diterminer

                  c'est a dire en va travailler avec une boucle

                  voici ma proposition

                  program somme;

                  var i,n :integer;

                  s,x,r:real;

                  begin

                  write('entrer le nombre de la suite');
                  read(n);
                  i:=1;
                  s:=0;
                  for i:=1 to n do
                  begin
                  read(x);
                  s:=s+x;
                  end;
                  writeln('le resultat est:',s);
                  read(r);
                  end.

                  mes le résultat est faux
                  1. Bonjour,

                    writeln('le resultat est:',s);

                    A+.
                • 1
                • 2