A partir de builder je cré une colonne dans ma base de données.
Je veut ajouter le titre de ma colonne dans une ListBox, mais je sais pas comment faire.
A partir de builder je cré une colonne dans ma base de données.
Je veut ajouter le titre de ma colonne dans une ListBox, mais je sais pas comment faire.
//EDIT :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TaTable->Fields->Fields[0]->DisplayName;
//EDIT 2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TonListBox->Items->Add(TaTable->Fields->Fields[0]->DisplayName);
remplacer bien évidemment 0 par l'index de colonne correspondant a celle venant d'être crée
J'aurais dis plutot ca pour ajouter le nom dans la listeBox non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ListBox1->Items->Strings[0]= "LeNomDeLaColonne";
Je crois que tout est dis bien jouéEnvoyé par Cantrelle
![]()
Merci, ca marche:
Mais comment je fait pour que quand je relance mon application ma listbox contienne toujours la valeur que j'ai inséré.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ListBox1->Items->Strings[0]= "LeNomDeLaColonne";
Non, il le garde pas.
Tu sait pas si on peut sauvegarder les index de la listbox dans un fichier ini.
Bonjour,
tu y met ce que tu veux dans ton fichier iniEnvoyé par scorpion37
![]()
lanonyme
A vrai dire j'y connais pas grand chose (meme rien pour dire) sur les fichiers ini, désolé
![]()
Et je pensais qu'il gardé en mémoire les données.
Mais normalement si ta ligne de code est dans le programme il te le créera à chaque fois
Sinon tu le fais manuellement avant la compilation en editant la propriété Items de ta listBox![]()
Envoyé par Furlaz
![]()
Si tu execute ton programme et que tu marque 'ToTo' dans un Edit, tu arrete le programme et que tu le relance ... y'a plus ToTo... sauf si tu sauvegarde le contenu de ton Edit.
lanonyme
et comment tu fais ça?
sauf si tu sauvegarde le contenu de ton Edit.
Tu sauvegarde tes données dans un fichier de n'importe quel extention, il faut aller voir la classe fstream, cett eclasse gérre tout ce qui est fichier
Le problème c'est qu'il faut que cela se fasse automatiquement.Furlaz a dit:
Sinon tu le fais manuellement avant la compilation en editant la propriété Items de ta listBox
j'y comprend rien donc si tu peut m'expliquer quelques trucs, ça m'arrangerait bien.pottiez a dit:
il faut aller voir la classe fstream, cett eclasse gérre tout ce qui est fichier
tu as plusieurs fonction dans cette classe, d'abord tu as la fonction open(), avec pour parametre le fichier a ouvrir qui est de type char *, et en deuxieme parametre le mode d'ouverture :
ios::out pour ecriture (attention se mode remplace le fichier existant)
ios::in pour lecture
ios ::ate pour ecriture en fin de fichier
apres tu as les fonction de lecture est d'ecriture :
write() prend deux parametre les texte a ecrire en char * puis le nombre de caractère a ecrire
read() prend un int qui est le nombre de caractere a lire, et retour un char * qui est le texte lus
get()
getline() (lit seulement une ligne du fichier)
put()
putline() (je suis pas sur de celle ci)
et enfin la fonction close() pour fermer le fichier
ensuite il y a des subtilitées, mais je ne pourrait pas les expliqué ici, sinon j'ai repris cette classe pour en faire une moi meme qui est plus simple à gérer, et qui est plus basic (lecture ecriture(ecrasement et fin de fichier) et connaissance de la taille du fichier)
Salut,
Si la nouvelle colonne est belle et bien validée, il te suffit de mettre le code que je t'avais indiqué dans l'évènement OnActivate() de la TForm contenant le TTable et le TListBox.
(a condition que la propriété Active du TTable soit a true)
Maintenant, tu peut très bien sauvegarder les noms de colonne de la table dans un .ini effectivement.
Une exemple:
Lecture des noms de colonne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 TIniFile* pInif; pInif = new TIniFile("CheminDuFichierIni"); pInif->WriteInteger("Section NomChamp", "NombreChamps", TaTable->Fields->Count); for (int i = 0; i < TaTable->Fields->Count; i ++) { pInif->WriteString("Section NomChamp", AnsiString("Champ") + i, TaTable->Fields->Fields[i]->DisplayName); }
En espérant t'aider,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TonListBox->Items->Clear(); for (int i = 0; i < pInif->ReadInteger("Section NomChamp", "NombreChamps", 0); i ++) { TonListBox->Items->Add(pInif->ReadString("Section NomChamp", AnsiString("Champ") + i, "Valeur manquante")); }
@ +![]()
C'est bon la solution de Cantrelle marche impeccable.
Merci a tous.
Envoyé par scorpion37
Un petit tagalors ??
![]()
![]()
Dsl javé oublié
Partager