est ce ke kk un pourrait me filer un bout de code où l'on lit ds un fichier (ini ici), ou les donnees serait du genre
port=COM1
vitesse=9600
ect...
merci c tres urgent
est ce ke kk un pourrait me filer un bout de code où l'on lit ds un fichier (ini ici), ou les donnees serait du genre
port=COM1
vitesse=9600
ect...
merci c tres urgent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 TIniFile *pIniFile ; pIniFile = new TFileConfig( "Chemin du fichier") ; pIniFile->ReadString("COM", "Vitesse", 19200) ; delete pIniFile ;
Regarde l'aide TIniFile est est tres bien faite
Regarde aussi l'aide TRegIniFile (TRegIniFile permet de lire et d'erire dans le registre)
ou bien utilise TRegIniFile qui fonctionne pareil, mais utilise la base de registres ce qui est plus conforme aux spécifications de Win 32
Je pense qu'il faut lire :
et non
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TIniFile *pIniFile ; pIniFile = new TIniFile( "Chemin du fichier") ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TIniFile *pIniFile ; pIniFile = new TFileConfig( "Chemin du fichier") ;
au passage, il faut inclure le IniFiles.hpp ... mais ça c'est un détail
Je pense qu'il faut lire :
Code:
TIniFile *pIniFile ;
pIniFile = new TIniFile( "Chemin du fichier") ;
et non
Code:
TIniFile *pIniFile ;
pIniFile = new TFileConfig( "Chemin du fichier") ;
Tu as raison ChMerlier j'avais pas fait gaffe au code que j'ai repris.
Désolé
pour TRegIniFile c'est pas plus compliqué :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TRegIniFile *pRegIniFile ; pRegIniFile = new TRegIniFile("nom de l'application (unique de préférence !)") ;
dites moi si j'ai raison:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TIniFile *pIniFile ; pIniFile = new TFileConfig( "Chemin du fichier") ; pIniFile->ReadString("COM", "Vitesse", 19200) ; delete pIniFile ;
dans le fichier ini
[COM]
vitesse=19200
Bonjour,
Ton code ne fait rien
Si tu veux lire :
Si tu veux ecrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TIniFile *pIniFile ; int iiVitesse; pIniFile = new TIniFile( "Chemin du fichier") ; iiVitesse = pIniFile->ReadInteger("COM", "Vitesse", 19200) ; // 19200 etant ici la valeur par défaut delete pIniFile ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TIniFile *pIniFile ; int iiVitesse; pIniFile = new TIniFile( "Chemin du fichier") ; pIniFile->WriteInteger("COM", "Vitesse", VariableVitesse) ; // VariableVitesse etant ici la valeur dans la code delete pIniFile ;
Si tu veux tout en string, il faudra ensuite convertir à la lecture et à l'ecriture. La fonction menbre sera alors ReadString/WriteString.
voici mon code
mon fichier ini:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 TIniFile *pIniFile ; pIniFile = new TIniFile( "config.ini") ; iniport = pIniFile->ReadString("Server", "Port", "1040") ; iniport = pIniFile->ReadString("Client", "Port", "1040") ; inihost = pIniFile->ReadString("Client", "Host", "127.1.1.1") ; delete pIniFile ; port->Text = iniport; portc->Text = iniport; ad->Text = inihost;
[server]
Port=1400
[Client]
Port=1400
Host=127.0.0.1
Mais il ne me lis les données je comprends pas
pourtant le compilateur n'a pas de prob
Bonjour,
Voila mon idées :
Dans ton exemple, tu lis iniport dans la même variable, donc quand tu l'ecris tu ecris la même chose.
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 TIniFile *pIniFile ; pIniFile = new TIniFile( "config.ini") ; int iiIniPortServeur; int iiIniPortClient; AnsiString asIpClient; iiIniPortServeur = pIniFile->ReadInteger("Server", "Port", 1040) ; iiIniPortClient = pIniFile->ReadInteger("Client", "Port", 1040) ; asIpClient = pIniFile->ReadString("Client", "Host", "127.1.1.1") ; delete pIniFile ; port->Text = IntToStr(iiIniPortServeur); portc->Text = IntToStr(iiIniPortClient); ad->Text = asIpClient;
Maintenant, il faut faire attention c'est que la classe TIniFile cherche le fichier dans c:\windows quand tu ne spécifies pas de répertoire.
Par conséquent, si tu veux lire les datas dans le repertoire de ton applis, il faut spécifier le nom du chemin complet ... sinon tu auras tout le temps les valeurs par défaut.
soit :
voila ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 pIniFile = new TIniFile( "c:\\mon_repertoire_appli\\config.ini") ;
ca y est j'ai trouvé l'erreur, en fait c pas une erreur et justement je comprends pas pkoi sa marche :
avant j'avais:
pIniFile = new TIniFile( "config.ini") ;
et maintenant j'ai mis:
pIniFile = new TIniFile( ChangeFileExt(Application->ExeName,".ini")) ;
pkoi est ce que maintenant sa marche et avant pas
Bonjour,
C'est simplement parce que Application->ExeName contient le nom et le répertoire de ton application.
Cf ma derniere suggestion.
super je te remercie c pke je mettais pas deux backslash dans l'adresse
Partager