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.
Version imprimable
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:
1
2 TaTable->Fields->Fields[0]->DisplayName;
//EDIT 2 :Code:
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:
1
2 ListBox1->Items->Strings[0]= "LeNomDeLaColonne";
Je crois que tout est dis bien joué ;)Citation:
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:
1
2 ListBox1->Items->Strings[0]= "LeNomDeLaColonne";
Normalement il le garde non?
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 ini ;)Citation:
Envoyé par scorpion37
lanonyme
:? A vrai dire j'y connais pas grand chose (meme rien pour dire) sur les fichiers ini, désolé :cry:
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 ;)
:koi:Citation:
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?
Citation:
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.Citation:
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.Citation:
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:
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:
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.
Citation:
Envoyé par scorpion37
Un petit tag :resolu: alors ?? :D
;)
Dsl javé oublié