Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3069 connectés 

 


Dernière réponse
Sujet : comment lire un fichier avec delphi
AGA Pour l'instant j'ai delphi4 ;(
 
Mais ça marche nickel!
 
Faut que je pense bien a mon algorithme maintenant
et ça devrait marcher!
 
J'aurais surement d'autres galeres mais pour l'instant C ok!!
Merci ;)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
AGA Pour l'instant j'ai delphi4 ;(
 
Mais ça marche nickel!
 
Faut que je pense bien a mon algorithme maintenant
et ça devrait marcher!
 
J'aurais surement d'autres galeres mais pour l'instant C ok!!
Merci ;)
JWhy ouaip, ca a l'air d'etre ca ;)
 
a la place de :
 sIni:=Schemin+'config.ini';  
fait peut-etre (si tu as Delphi 5, cette fonction n'existe pas en D4, je crois):
 sIni:= IncludeTrailingBackslash(sChemin) + 'config.ini';  
 
IncludeTrailingBackslash rajoute le caractere '\' a la fin de la chaine passée en parametre si il n'y en a pas deja un!
c'est pratique car je ne sais pas si ExtractFilePath te renvoie le chemin avec ou sans le '\' de fin !
AGA bon j suis pas trés bon ;)
mais j'ai utilisé ExtractFilePath(Application.ExeName)
que j'ai mit ds une variable string (sChemin)
puis j'ai créer une deuxieme variable sIni
qui se voit affecté comme ça  
sIni:=Schemin+'config.ini';
Comme ça j'ai dedans C:\monchemin\config.ini
donc c'est ok, je pense qu'on pourrait faire ça tout d'un bloc
je vais potasser ça ce soir...
MERCI !!
pour la base c'est pas clair.... mais je vais matter l'exemple
j'aime mieux les ini
 
 
Juste une question comment il fait pour s'arreter? et prendre uniquement la bonne chaine? ds le *.ini
JWhy Application.ExeName te donne le chemin complet de ton application (repertoire + nom.exe)
par exemple si tu as ton appli.exe dans le repertoire C:\delphi\appli, Application.ExeName va te rendre 'c:\delphi\appli\appli.exe'
 
donc, tu as juste a faire un ExtractFilePath(Application.ExeName) pour recuperer 'c:\delphi\appli' (uses SysUtils)
 
Perso, je prefere utiliser les fichier au format INI pasque c'est quand meme super simple et ca evite de charger la base de registre...  
Mais sinon pour le TRegistry (uses Registry) , c'est (en gros) le meme principe, sauf que tu as en plus une arborescence de cles: tu n'es plus limite a faire section/item=value, tu peux maintenant avoir section/section/..../section/item=value (pas sur d'avoir ete tres clair ;) )  
Pour son utilisation, regarde dans l'aide Delphi , y'a un exemple tout simple

 

--Message édité par JWhy--

AGA t'es un chef viiz!
 
Maintenant comment faire pour lire le *.ini
en relatif (repertoire courant)
WinExec(PChar(sCalc), SW_ShowDefault);
AGA encore un autre truc
j'ai voulu acceder au ini en relatif
pour qu'il aille le chercher ds le repertoire d'ou on lance l'appli et ça marche po!
 
begin  
  with TIniFile.Create('config.ini' ) do
AGA J'ai voulu ensuite faire
WinExec(sCalc, SW_ShowDefault);
Mais ça marche pas! cause en premier parametres il veut un Pchar et pas un string...comment on peut faire???
AGA PUT*** ça MARCHE!!
Il faut juste virer deux paranthese en trop
(merci pour le use inifiles, je sais jamais ce qui faurt mettre ici)
 
Il dise que c'est pour la comptatibilité avec Wiin3.11  
mais un fichier ini pour une mini appli c'est valable?
 
Sinon avec Tregistre on fait comment?
AGA JE vais essayer ça tout de SUITE!!!!
MERCI
JWhy le plus simple est peut etre d'utiliser l'objet TINIFile (unit inifiles) qui te permet d'acceder au fichier au format .INI :
 

Citation :


[section]
item=value


 
donc par exemple si tu as un fichier config.txt :

Citation :


[Chemin]
Calc=c:\windows\calc.exe
Notepad=c:\windows\notepad.exe


 
tu pourras y acceder par le code :

Citation :


var
  sCalc : string;
  sNotepad: string;
begin
  with TIniFile.Create('c:\chemin\config.txt' ) do
  try
   sCalc := ReadString('Chemin', 'Calc', '' ));
   sNotepad := ReadString('Chemin', 'Notepad', '' ));
  finally
    Free;
  end;
end;


 
et tu recupereras dans sCalc: 'c:\windows\calc.exe' et dans  
sNotepad: 'c:\windows\notepad.exe'
 
HTH!

 

--Message édité par JWhy--

AGA Je ne sais pas comment acceder a un fichier *.txt
 
je voudrais faire un menu qui lance des soft externes
mais il faudrait qu'il y ait un fichier de config (les chemins des progs change d'une machine à l'autre)
comment faire ce fichier de config, qui donnerait le chemin du soft a lancer avec WinExec??
 
merci

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)