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

C++Builder Discussion :

Soucis avec une BDD paradox...


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut Soucis avec une BDD paradox...
    Boujour à tous...

    J'ai un petit soucis avec une base de données PARADOX...

    Voilà, je souhaiterais modifier le programme que j'avais fait avec une stringgrid concernant l'édition d'une liste de vocabulaire... je préfère désormais gérer ça avec une base de données.

    Lors de l'éxécution de mon programme, j'ai une petite form qui me réclame le nom de ma base de donnée (bein voui, l'utilisateur a peut-être envie de créer plusieurs listes de voca...), puis lorsque je clique sur le boutton Valider ma base de données est créée dans le répertoire d'exécution avec les caractéritiques que je veux.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      FormPrincipale->Table->Active = false;
      FormPrincipale->Table->DatabaseName = "";
      FormPrincipale->Table->TableType = ttParadox;
      FormPrincipale->Table->TableName = NomBase;
      FormPrincipale->Table->FieldDefs->Clear();
     
      if (!FormPrincipale->Table->Exists) // Ne remplace pas une table existante
      {
        FormPrincipale->Table->FieldDefs->Add("Ligne",ftAutoInc,0,false);
        FormPrincipale->Table->FieldDefs->Add("Mot Français",ftString,180,false);
        FormPrincipale->Table->FieldDefs->Add("Mot Anglais",ftString,180,false);
        FormPrincipale->Table->CreateTable();
    Le problème viens lors de l'exécution de la seconde form, la form d'édition de la table ! En effet, il faut que je lui dise d'utiliser la table que j'ai créée précédement mais je ne sais trop comment faire :s

    J'utilise une DBGrid pour voir les modifications de la table en temps réel. Sur ma seconde form j'ai donc mis un composant TTable avec un DataSource mais le pb c'est que je ne sais trop comment dire au composant TTable de pointer sur la table créée précedement et surtout de l'activer pour qu'elle soit prise en compte dans la fenêtre et affiché dans la DBGrid...

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormPrincipale->Table->Active = true;
    mais il me sors une erreur de paramètre...
    Si vous avez une idée... help me please ^^

    D'autre part si vous avez aussi une idée pour fermer une base de données et la recharger ultérieurement dans un DBGird...

    Merci pour vos réponses

  2. #2
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonjour,
    La première chose qui m'interpelle, c'est ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FormPrincipale->Table->DatabaseName = "";
    Je vais peut être dire une bêtise mais comment fais tu pour spécifier un chemin illustrant le repertoire ou est stocker la table créée ?
    Perso, j'ai fais des Alias et donc je renseigne cette prppriété mais bon....
    tes soucis ne sont peut être pas forcement de la.

    @ +

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Re Salut

    Euhhh sauf cas contraire, si ce champ n'est pas renseigné, le programme cherche la base de données dans le répertoire en cours d'utilisation... Or là, la base de données créée est dans le répertoire ou mon prog est exécuté...

    sinon comment remplirais tu ce champ ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FormPrincipale->Table->DatabaseName= "mapremierebase.db";
    comme ceci ?

    merci...

  4. #4
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Généralement, je renseigne cette propriété a la conception avec l'inspecteur d'objet (mais cela tiens surement a des 'déviances' personnelles ).
    Bon je ne dis pas que cela soit le vrai motif de l'erreur.
    Que dis exactement le message d'erreur ?

  5. #5
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Donc si tu veux, la base de données est belle et bien créer puisque le fichier apparait dans le répertoire, j'accède a la form pour l'édition de la base et quand je clique sur nouveau (pour ajouter un enregistrement), j'ai droit a un joli msg d'erreur : Table : Cannot perform this operation on a closed dataset

    l'exécutable a créer une erreur dans EDatabaseError avec le msg ci dessus... voila ce que j'ai :s

    et le code est le meme que celui que j'ai mis plus haut...

    nifnif

  6. #6
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Il y a t il bien un objet TDatabase et TTable - avec respectivement 'connected=true' et 'active=true' - pointant vers cette table ?

  7. #7
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Alors c'est bisare parce que je n'ai pas de propriété "connected" dans l'inspecteur d'objet concernant la database, mais oui il pointe bien vers la table de la première form et deusio le active du TTable je le met a true dans le code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FormPrincipale->Table->Active = true;

  8. #8
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Bon finalement j'ai résolu mon problème ti seul comme un grand :d ^^
    Merci à toi cantrelle pour ton aide, bref il s'agissait tout simplement d'un problème de pointage... le programme pointait sur une table inexistante :s


    Bref du temps que j'y suis, si quelqu'un pouvais me donner deux trois idées de façon à charger une base de données à partir d'une combobox par exemple... En gros ce que je voudrais faire mnt c'est pouvoir afficher toutes les listes (base de données) disponible dans une combobox, l'utilisateur choisi celle qu'il veut et en cliquant, admettant sur ok, la base de données se charge dans une DBGrid par exemple... je cherche de mon coté mais si quelqu'un à la solution ...

    Pour fermer une base de donnée je pense avoir trouvé la solution, suffit de la désactiver nan ?

    bref merci pour vos réponses ^^

  9. #9
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonsoir,
    Bien content pour toi, j'avoue n'avoir pas eu beaucoup d'idée a te donner

    Un exemple d'un petit truc que j'ai fait :
    Dans une table, le premier champs contiens la liste des catégories de produits (issu d'une mercuriale d'un service achat); ces catégories apparaissent dans le Combobox (ou la zone de liste).
    Le deuxième champs contient les noms de table réels, le troisième les chemins d'accès a ces tables.
    Je filtre la table sur le premier champs en fonction de la valeur selectionnée dans le Combobox et j'utilise alors les valeurs des champs suivants pour indiquer les paramètres de la connexion a faire (c'est un peu résumé).
    (les valeurs des derniers champs pouvant alors être renseignés 'en amont' par qqu'un ayant les droits nécéssaires pour définir les chemins d'accés aux infos, etc...)
    Pour le coup, j'utilisais un TADODataset mais on peut envisager la même chose pour les paramètres TableName et autre d'un TTable...

    En espérant t'aider
    @ +

  10. #10
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Euh c'est sans vouloir te vexr mais j'ai rien compris...

    sinon j'ai trouvé quelque chose qui à l'air de marcher... lorsque je rentre le nom de ma base de donné, je le sauvagarde dans un fichier texte qui contient le nom de toute les autres base de données. Lors de la création de la seonde form, ce fichier est chargé dans dans le combobox, puis je choisi la base que je veux, je fait ok, ce qui a pour but de remplacer le nom de la base dernièrement prise en compt par le programme, puis je l'active... y'a certainement plus simple et plus élégant mais bon ça marche :p

    voici le code, pour la création et la sauvegarde :

    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
     
    NomBase=Edit1->Text;
     
    // on peut créer la base
    FormPrincipale->Table->Active = false; // Le composant Table ne doit pas être actif
    FormPrincipale->Table->DatabaseName = ""; // laisser vide cherche la base dans le repertoire actuel
    FormPrincipale->Table->TableType = ttParadox;
    FormPrincipale->Table->TableName = NomBase;
     
    FormPrincipale->Table->FieldDefs->Clear();
     
    if (!FormPrincipale->Table->Exists) // Ne remplace pas une table existante
    {
            FormPrincipale->Table->FieldDefs->Add("Ligne",ftAutoInc,0,false); // ERREUR
            FormPrincipale->Table->FieldDefs->Add("Mot Français",ftString,180,false);
            FormPrincipale->Table->FieldDefs->Add("Mot Anglais",ftString,180,false);
     
            // Maintenant que vous avez spécifié votre choix, création de la table
            FormPrincipale->Table->CreateTable();
    };
     
    listes=fopen("liste.txt","a+");
    fprintf(listes,"%s\n",Edit1->Text);
    fclose(listes);
     
    Form1 = new TForm1(Application);
    Form1->ShowModal();
    delete Form1;
    et pour l'ouverture et le chargement en combobox :

    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
     
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
    char CHN[100];
    listes=fopen("liste.txt","r");
    fscanf(listes,"%s",CHN);
    while(!feof(listes))
    {
            ComboBox1->Items->Add(CHN);
            fscanf(listes,"%s",CHN);
    }
    fclose(listes);
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Button5Click(TObject *Sender)
    {
    FormPrincipale->Table->Active=true; 
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Button8Click(TObject *Sender)
    {
    FormPrincipale->Table->TableName = ComboBox1->Text;  //remplace NomBase par la base choisi dans la combo      
    }
    voila, dites moi ce que vous en pensez et si il y a moyen de faire plus simple et/ou plus élégant...

  11. #11
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Euh c'est sans vouloir te vexr mais j'ai rien compris...

    Non, non c'est plutôt a moi de m'excuser, je n'ai cas refléchir afin de formuler un peu mieux mes réponses...

    Toi tu stockes le nom des tables dans un fichier .txt.
    Moi je les stockais dans une autre table (.db), destinée rien qu'a cet effet.
    L'intérêt pour moi, c'est que les autres champs de la table me permettaient de stocker d'autres infos que le nom de la table.

    @ +

  12. #12
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Bonjour, boujour,

    Me revoilà pour de nouvelles aventures... hum

    Bref donc mes petits soucis d'édition et de recherche de table sont maintenant réglés ! un peu grâce aux tutos, au forum de developpez.com et à l'aide de Cantrelle...

    En ce moment mon problème serait plutot comment récupérer le nombre de lignes dans une table et ensuite faire pointer le curseur sur une ligne tirée au hazard à l'aide de random()...

    En gros j'ai une table avec deux colonnes, une de mots français et l'autre de mot anglais. Je pointe sur le champ "Mot Français", enfin la colonne mot français quoi,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Edit1->Text=test->Table->FieldByName("Mot Français")->AsString;  //Ca sa marche nickel !
    mais après comment tirer une ligne au hasard ??? Ceci dans le simple but de tirer aléatoirement un mot de cette colonne et d'en demander la traduction à l'utilisateur qui sera par la suite vérifié au mot correspondant.
    J'ai essayé plusieurs trucs mais sans grand succès :s...

    Si jamais quelqu'un peut éclairer ma lanterne ^^

  13. #13
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Bonjour,

    Peut être qqchose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Table1->RecNo = random(Table1->RecordCount);
    ShowMessage(Table1->FieldByName("NomDeChamps")->AsString);
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <stdlib.h>
    @ +

  14. #14
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Ro la vache ! Ca marcheeeeeeeeeeeeeeeee, énorme !

    Merci bcp, bon par contre random() c'est pas au point, il tire plusieurs fois le même numéro d'afilé... à mon avis c'est p-ê parce que je n'ai pas assez d'enregistrements

    Mnt me reste à faire la vérification... Je sais pas trop si il vaut mieux vérifier la trad au fur et a mesure ou bien stocker les trad de l'utilisateur dans une grille ou une base et ensuite le programme fait une vérif automatique et affiche les erreurs :s...

  15. #15
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Tu pourrais effectivement utiliser une TStringList pour stocker les réponses de l'utilisateur en fonction des mots proposé. En effet, la TStringList peut stocker les 'Clefs/Valeurs' et te permettera de parcourir toutes les valeurs stockées dans une simple boucle (par ex) et de vérifier si la réponse était bonne...
    Voir la propriété Values de TStrings, accéssible donc depuis un TStringList.
    //EDIT
    Si l'on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    void __fastcall TForm1::ButtonClick(TObject *Sender)
    {
    int i;
    TestR = Table1->FieldByName("Texture")->AsString;
    do
    {
    randomize();
            i = random(Table1->RecordCount);
            Table1->RecNo = i;
    }while (Table1->FieldByName("Texture")->AsString.operator ==(TestR) || TestR.IsEmpty());
    ShowMessage(Table1->FieldByName("Texture")->AsString);
    }
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private:    // Déclarations de l'utilisateur
            String TestR;
    cela ne règle t il pas le soucis de la répétition...?

  16. #16
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Hey ! you're the best !!!

    La répétition est effectivement supprimé mais bon, pour le moment je me suis contenté de faire un copié coller en adaptenat les noms de variables, jai essayé de comprendre ce que tu m'a pondu mais en vain...

    c'est surtout cette ligne la

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (Table1->FieldByName("Texture")->AsString.operator ==(TestR) || TestR.IsEmpty())
    que je ne comprends pas :s (excuse je suis encore un petit débutant :$)

    et sinon pour la string list je vois ce que tu veux faire mais, cette string list il faut la déclarer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TStringList *Liste=new TStringList;
    Mais une fois qu'elle est créée, plus la peine d'y revenir dessus ? y'a juste à mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Liste->Add(Edit2->Text);
    pour ajouter des éléments... mais bon, le truc c'est que l'ajout d'éléments se fait soit par un clique sur un boutton, soit par la réinitialisation d'un timer :s
    Bouuhhhhhh chu un boulet :s j'ai un peu de mal nif nif

  17. #17
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Hey ! you're the best !!!
    Arrêtes, arrêtes...je vais te demander en mariage !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while (Table1->FieldByName("Texture")->AsString.operator ==(TestR) || TestR.IsEmpty())
    Et bien, tant que random repositionne l'enregistrement actif sur une valeur semblable a celle contenu par la variable 'TestR', et bien re-random ...(je ne suis pas sur que tester si TestR est vide soit bien utile)
    Si l'ajout se fait par un click, au moment de la validation de la réponse par l'utilisateur, il faudra alors entrer (a mon avis) dans la TStringList :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Liste->Add(Table1->FieldByName("Texture")->AsString + AnsiString("=") + ReponseSaisie);
    ou 'ReponseSaisie' est la réponse donnée par l'utilisateur, de type String, qui peut provenir (en fonction de ce que tu as prévu) de la valeur saisie dans un TEdit (?).
    Ainsi, on a un couple Clé/valeur.
    Après, pour la vérification, tu peut parcourir la TStringList dans une boucle; utiliser un TDataSource pointant sur ta table et filtrer celle ci avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DataSource->DataSet->Filter = AnsiString("NomdeChamp1 = '") + Liste->Names[int] + ("'");
    après, vu que tu est positionné sur un enregistrement concerné par le test, tu peut faire une vérif du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (Liste->Values[int].operator==(Table1->FieldByName("NomDeChamp2")->AsString)
    Bon, c'est une proposition comme une autre, y a peut être beaucoup mieux...


    //EDIT
    soit par la réinitialisation d'un timer
    ...précisions... ?

  18. #18
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Mmmmm oui y'a p-ê mieux mais bon, tout ce que je sais c'est que cela fonctionne et euhhh c'est le principal

    Sinon, en ce qui concerne le Timer, c'est simple, l'utilisateur à la perssion :p, au bout de X secondes on passe au mot suivant ! et miraculeusement j'ai réussi à faire fonctionner le timer


    J'ai pas encore tester la comparaison, mais bon, la liste est à mon avis créée...

    Arrêtes, arrêtes...je vais te demander en mariage !
    on va attendre un petit peu nan tu crois pas ?

  19. #19
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    on va attendre un petit peu nan tu crois pas ?
    Bon, bon...d'accord je m'emballe un peu vite.

    Au moins, as - tu résolu ton souci ?

  20. #20
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    arf, nan, il me reste un dernier petit soucis, sorry

    le voici mon pb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int j;
    TStringList *Liste=new TStringList;
    for(i=0;i<=4;i++)
    {
    test->DataSource1->DataSet->Filter = AnsiString("Mot Français = '") + Liste->Names[i] + ("'");
    if (Liste->Values[i].operator==(test->Table->FieldByName("Mot Anglais")->AsString))
            j++;
    };
    c'est tout simplement pour la vérification... soit je suis un boulet et y'a un truc qui m'échappe, soit j'ai pas assez réfléchi :s

    //EDIT
    Euhhhh, petite précision tout de même :s
    Il me dis que Liste n'est pas déclaré et au moment d'effectuer une vérif, il me sors une big erreur du genre "List index out of bounds(0)"
    voili voilou ^^

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. souci avec une comparaison de date
    Par Ludo75 dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 20/02/2006, 16h59
  2. [VB] faire un update avec une bdd en xml
    Par ekmule dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 01/02/2006, 23h41
  3. [MySQL] Soucis avec une insertion dans une base
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 27/01/2006, 15h03
  4. Dialoguer avec une BDD MySQL en language C
    Par veridik dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2005, 12h58
  5. SOucis avec une reequete imbriquee
    Par Ni4k dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/03/2004, 09h56

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