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
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
PhilLu
Bonjour,
Les fichiers ini sont souvent remplacés par des bases SQLite : ne serait-ce pas possible ?
Delphi 5 Pro - Delphi 10.4 Rio Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
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 : 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
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 dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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\
un
Code : Sélectionner tout - Visualiser dans une fenêtre à part IniFileName := 'config.ini';
ne fonctionne pas, vu que application.exename n'est pas reconnu...
Code : Sélectionner tout - Visualiser dans une fenêtre à part ini := Tinifile.Create(extractFilePath(application.exename)+'config.ini');
Merci pour votre aide
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager