Bonjour,
Je possède la version 12 d'Intraweb.
Comment récupérer des données de configuration au démarrage?
(l'utilisation d'un fichier ini ne semble pas possible)
Merci pour votre aide :ccool:
PhilLu
Bonjour,
Je possède la version 12 d'Intraweb.
Comment récupérer des données de configuration au démarrage?
(l'utilisation d'un fichier ini ne semble pas possible)
Merci pour votre aide :ccool:
PhilLu
Bonjour,
Les fichiers ini sont souvent remplacés par des bases SQLite : ne serait-ce pas possible ?
IntraWeb est un programme qui s'exécute en tant que serveur. C'est du Delphi compilé. Tu peux donc utiliser System.IniFile comme tu le ferais dans n'importe quel programme sous Windows (ou ailleurs).
(par contre méfiance si tu écris dedans car il y a du multi threading : chaque utilisateur d'un site IntraWeb peut faire des actions en même temps qu'un autre, pas forcément compatible avec de l'écriture dans un fichier texte ni même une base de données de type SQLite si on ne fait pa les choses proprement avec par exemple des verrous logiciels pour limiter les accès concurrents)
Voilà
Mais ne va pas chercher les infos dont j'ai besoin...
Voici le code (dans unit1.pas)
et le config.ini suivant:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 var ini: Tinifile; IniFileName, Exe_Path: string; Images_Path: String; procedure TIWForm1.IWAppFormCreate(Sender: TObject); var ini: Tinifile; IniFileName: string; begin IniFileName := 'config.ini'; IWLabel5.Caption:=IniFileName; ini := TIniFile.Create(IniFileName); Images_Path:=ini.readstring('Main','Images_Path', Images_Path); Exe_Path:=ini.readstring('Main','Exe_Path',Exe_Path); ini.free; IWLabel5.Caption:=Images_Path; IWLabel6.Caption:=Exe_Path; end;
Quel chemin donner dansCode:
1
2
3 [Main] Exe_Path=D:\Documents\RAD Studio\Projets\VisionViewer\Win32\Debug\ Images_Path=D:\Documents\RAD Studio\Projets\OCD Traitement images Vision V2\Win32\Debug\ImageDest\
unCode:IniFileName := 'config.ini';
ne fonctionne pas, vu que application.exename n'est pas reconnu...Code:ini := Tinifile.Create(extractFilePath(application.exename)+'config.ini');
Merci pour votre aide :ccool:
PhilLu
normalement paramstr(0) contient le chemin vers l'exécutable, donc même si tu n'as pas application.exename, tu devrais pouvoir le trouver par là
Yessssss
De fait ceci
marche super :ccool:Code:
1
2
3
4
5
6
7
8
9
10
11
12 procedure TIWForm1.IWAppFormCreate(Sender: TObject); var ini: Tinifile; IniFileName: string; begin ini := Tinifile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini'); Images_Path:=ini.readstring('Main','Images_Path', Images_Path); Exe_Path:=ini.readstring('Main','Exe_Path',Exe_Path); ini.free; IWLabel5.Caption:=Images_Path; IWLabel6.Caption:=Exe_Path; end;
Super merci pprem :merci: