1 | |||||
Auteur | Messages | ||||
---|---|---|---|---|---|
pinky | #1 Posté le 7/12/2024 à 10:04:45 | ||||
Bonjour, Je poursuis lentement mon application (Voir ce post). Je suis bloqué depuis pas mal de jours. Je n'arrive pas à trouver la solution pour copier les données contenues dans ma TableView1 afin de les déplacer vers ma TableView2 et de les traiter dans la TableView2. Je n'ai pas trouvé d'exemples de codes sur le forum ou sur le net. Mon but serait par exemple de récupérer les données de la 1ère colonne de ma TableView1 afin de les copier dans la première colonne de ma TableView2. Je pensais pouvoir le faire avec le code suivant, mais ça ne m'affiche rien dans ma 1ère colonne de ma TableView2 :
Je n'ai pourtant pas de message d'erreur. Ensuite, à l'aide d'un Button1, je souhaiterai aussi récupérer les valeurs de la 2ème colonne de ma TableView1 et les déplacer dans la 2ème colonne de ma TableView2 en les multipliant par 2.75. Je n'arrive pas à trouver le bon code pour sélectionner/copier uniquement la 1ère colonne, puis la 2ème colonne afin de pouvoir multiplier les valeurs par 2.75. Mon code actuel pour la création de ma TableView1 est celui-ci :
Si quelqu'un peut m'aiguiller un peu car je fais du surplace depuis pas mal de jours. Merci d'avance. Dolmen (table pierre) : Caillou préféré des Bretons (un dolmen de prédilection). | |||||
vuott | #2 Posté le 7/12/2024 à 12:13:42 | ||||
Ne cedere ineluctabili possimus | Dans la routine 'Button1', je proposerais ce code:
« Vita non suavis esse potest, nec Mors amara. » | ||||
pinky | #3 Posté le 7/12/2024 à 14:01:51 | ||||
Encore merci vuott, Ca fonctionne parfaitement. Je vais essayer de comprendre ton code et surtout cette partie :
Je vais regarder dans la documentation Gambas à quoi sert CSingle. C'est une expression totalement inconnue pour moi. Je vais aussi essayer de trouver seul comment limiter le résultat de la multiplication à 3 chiffres après la virgule. Bon week-end. Dolmen (table pierre) : Caillou préféré des Bretons (un dolmen de prédilection). | |||||
linuxos | #4 Posté le 7/12/2024 à 14:20:31 | ||||
Un peu de sel, de poivre et la crevette sera... | Bonjour pinky, Sans vouloir bouleverser ton projet, il me semble que si les données de base étaient stockées dans une variable ou un tableau, plutot que directement dans un TableView, cela serait plus facile. En effet un Objet TableView, comme son nom l'indique sert a Visualiser les données d'un Table de données. Généralement cette table vient souvent d'une base de données. Je ne pense pas qu'utiliser une base de données soit pertinant dans votre projet (bien que je ne connaisses pas votre projet). Donc si les données étaient dans une Variable ou une Variable Tableau cela serait plus facile d'aller chercher les données a la base, et de juste l'afficher dans le TableView. Lire les donnéees --> les stocker dans une Variable Tableau --> Afficher les données dans un TableView --> Afficher les données *2.75 dans le TableView Pas de soucis pour aider a faire cela si besoin. Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||||
pinky | #5 Posté le 7/12/2024 à 15:47:09 | ||||
Bonjour Olivier, Au tout début de mon application, les données que je récupère proviennent d'un logiciels n'ayant rien à voir avec Gambas. Je copie/colle ces données dans la TextArea de mon application Gambas. Ensuite, à l'aide d'un Button, les données dans la TextArea sont mises en forme sur deux colonnes dans ma TableView1. J'ai choisi un TableView uniquement pour l'esthétique de la TableView. J'ai aussi fait des tests avec une Gridview qui peut aussi m'aller. Mes données dans le TableView1 ne sont pas stockées dans une table de base de données. Par contre, par la suite, il est possible que je sauvegarde les données dans une petite base de données ou un fichier texte car il n'y aura pas beaucoup de données à conserver. Pour l'instant, je suis en pleine phase de découverte du code, donc je ne vais pas compliquer mon application avec un système de stockage des données. J'ai déjà assez de mal comme ça. Je n'ai jamais eu de formation en informatique, donc c'est la pure découverte et de l'amusement pour mon cerveau. Donc si les données étaient dans une Variable ou une Variable Tableau cela serait plus facile d'aller chercher les données a la base, et de juste l'afficher dans le TableView. Je ne suis pas certain de bien comprendre cette phrase. Je pensais que mes données étaient dans la variable nommée sData (Voir mon 1er message dans ce sujet). Si tu as un exemple plus simple, n'hésite pas à le mettre et je testerai. Dolmen (table pierre) : Caillou préféré des Bretons (un dolmen de prédilection). | |||||
linuxos | #6 Posté le 7/12/2024 à 17:15:42 | ||||
Un peu de sel, de poivre et la crevette sera... | IL y a un moyen assez simple de faire un genre de mini base de données (evidement il ya des limitation par rapport a une vrai base de données comme SQLite, MySQL, PostGreSQL). L'idée c'est d'utiliser une Class dans Gambas + une Collection La Classe va servir a definir l'equivalent de la Structure de la base de données et la Collection sera l'équivalent de la Table de la base de données. Exemple: Voici ce que je te propose, laisse moi savoir si c'est trop compliqué a comprendre, je rajouterai plus s'explications/commentaires: ## Créer une Classe: ClassStructure
## Dans le module Main
Je peux te fournir aussi le petit projet dans une archive. Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||||
vuott | #7 Posté le 7/12/2024 à 17:20:58 | ||||
Ne cedere ineluctabili possimus | Je vais regarder dans la documentation Gambas à quoi sert CSingle. C'est une expression totalement inconnue pour moi. J'avais l'intention de transformer la représentation du nombre d'une chaîne de caractères en une valeur numérique à l'aide de la fonction « Val() », mais cette fonction native suit les conventions spécifiées dans la localisation. J'ai dû opter pour « CSingle ». Cependant, vous pouvez également utiliser cette affectation directement, Gambas se chargera de l'adaptation dans la multiplication entre la représentation de caractères et la valeur numérique.
Je vais aussi essayer de trouver seul comment limiter le résultat de la multiplication à 3 chiffres après la virgule. Vous pouvez utiliser la fonction « Format() »:
« Vita non suavis esse potest, nec Mors amara. » | ||||
pinky | #8 Posté le 8/12/2024 à 08:33:28 | ||||
Je peux te fournir aussi le petit projet dans une archive. Bonjour Olivier, Je veux bien ton archive. Ca me permettra probablement de mieux comprendre ton code et de voir visuellement ce que ça donne. Vous pouvez utiliser la fonction « Format() »: Bonjour vuott, Je viens de tester et c'est adopté. En plus, avec Format, ton code me parle plus. J'avais commencé à fouiner dans la documentation pour trouver comment limiter le nombre de chiffres après la virgule et j'étais arrivé sur la fonction "Round". Ca fonctionnait bien avec la console Gambas :
Par contre, je n'ai pas eu le temps de tester "Round" dans mon application. Je ne sais pas si "Round" était ce qui convenait le mieux. Dolmen (table pierre) : Caillou préféré des Bretons (un dolmen de prédilection). | |||||
1 |