IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Tableau TStringGrid


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Par défaut Tableau TStringGrid
    bonjour!
    j'ai construit des TStringGrid sur mon interface
    Est ce que je dois les déclarer ensuite dans mes variables?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    type
      TForm1 = class(TForm)
        Tlistes: TStringGrid;
        Tscrutin: TStringGrid;
        Tresultats: TStringGrid;
        Listes: TLabel;
        Scrutin: TLabel;
        Resultats: TLabel;
        meilleur: TEdit;
        Label1: TLabel;
        calculer: TButton;
        quitter: TButton;
     
    Merci pour vos réponses
    ;)

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    Non tes variables sont TListes,Tscrutin, etc. Tu y accèdes directement
    Par contre, évite les variables avec un TMachin parce que normalement, sous Delphi, un nom commençant par T est une classe...
    Mais bon ça marche aussi
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Par défaut
    merci pour l'info!

    une autre petite question:

    qd je compile mon programme et que je rentre mes valeurs dans mes tableau puis que j'execute mon programme, un message d'erreure s'affiche:

    "le projet election.exe a provoqué une classe d'exception EconvertError avec le message "n'est pas une valeur entière correcte'. Processus stoppé."

    j'ai regardé dans l'aide mais je ne comprend pas

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    C'est que tu as tenté de convertir une chaine vide en entier (surement avec IntToStr)... Vérifie donc avec des breakpoints les valeurs avant de convertir
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Par défaut
    comment tu fais les breakpoints?

    je te mets mon programme tu comprend peut etre mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    var
      Form1: TForm1;
      total: integer;
      i: integer;
      j: integer;
      e: integer;
      Lemeilleur: integer;
      rangmeilleur: integer;
    implementation
     
    {$R *.dfm}
     
     
     
    procedure TForm1.calculerClick(Sender: TObject);
    begin
     
    Lemeilleur := 0;
    total := 0;
    i := 0;
    j := 0;
    e := 0;
     
     
    repeat
     
            for j := 0 to 2 do
     
            begin
            resultats.Cells[i,0] := resultats.Cells[i,0] + scrutin.Cells[i,j]
            end;
     
            i:= i+1;
    until i <=3;
    i := 0;
    repeat
            for e:= 0 to 3 do
     
            begin
            total := total + (strtoint(resultats.Cells[e,0]))
            end;
            resultats.Cells[i,1] := FloatToStr(strtoint(resultats.Cells[i,0])/total*100);
            i := i+1;
                    if(strtoint(resultats.Cells[i,0])> Lemeilleur)then
                    begin
                    meilleur.Text := resultats.Cells[i,0];
                    rangmeilleur := i;
                    end;
    until i <=3;
    meilleur.Text := listes.Cells[rangmeilleur,0];
    end;
    procedure TForm1.quitterClick(Sender: TObject);
    begin
    application.Terminate
    end;
     
    end.
    si tu pouvais m'eclairer ca me rendrait un gd service

  6. #6
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    La problème peut se produire à chauq efois que tu utilises StrToInt... Visiblement, si une cellule de ton TStringGird est vide et que tu essaies de convertir, tu as bien ton message d'erreur...
    Pour faire un breakpoint: tu te mets sur la ligne à laquelle tu veux que le debugger s'arrête, tu cliques dans la gouttière (ou tu fais F5) et tu éxécutes... Normalement, le traitement va s'arrêter dès qu'il passe sur un breeakpoint... Enuiste c'est au choix: soit tu laisses le curseur sur une variable et le hint te donne son contenu soit tu fais des watches (Ctrl+F5) qui te permettent d'avoir une liste de variables que tu veux contrôler à ton breakpoint
    Si tu veux corriger tes erreurs, il t'est indispensable de maitriser ces fonctions Apprend à les utiliser et tu t'en sortira plus facilement
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Par défaut
    pourtant quand je compile et que j'entre les valeurs dans les cellules elles ne devrainet donc plus etre vide

  8. #8
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Si tu saisis des valeurs à la main, est-ce que tu valides à chaque fois?
    Essaie tout de même de contrôler avec des points d'arrêt (breakpoints)
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 5
    Par défaut
    tu dois penser que jn'y connais rien
    je suis en 1 ere année de bts info ds je débute
    comment fais tu pour valider les saisies?
    a tout hasard il n'est pas possible que je t'envoi mon programme?

  10. #10
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Ben tu appuies sur entrée
    En fait, ce qu'il y a en cours d'édition n'est pas encore intégré au tableau. Il l'est lorsque tu valides ta saisie
    Dans ton code, au lieu d'utiliser des repeat/until, utilise des for! c'est plus clair comme ça Même si ça marche aussi mais tu utilises un for et un repeat until pour la même chose (un décompte)...
    Ca ne me dérange pas que tu m'envoies ton programme mais le but de ce forum est l'entraide, donc la solution à ton problème pourrait intéresser les autres
    A la limite, ce que tu pourrais faire: remplacer tous tes StrToInt(Val) par des StrToIntDef(Val,0). Ce qui aura pour effet de mattre la valeur par défaut (ici 0) lorsqu'il ne peut pas convertir
    Mais bon pour moi le problème est simple: contrôle tes données avant de convertir pour savoir où ça plante et ce sera ok
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  11. #11
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 493
    Par défaut
    salut


    c'est un stringgrid pas un dbgrid l'enregistrement des donnée n'est pas automatique

    @ Phil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Caractère dans un tableau TStringGrid
    Par cre3000 dans le forum Langage
    Réponses: 4
    Dernier message: 30/01/2008, 18h59
  2. Comment afficher un tableau dans TStringGrid ?
    Par doubledj dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/09/2005, 02h21
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo