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

 


Dernière réponse
Sujet : [Delphi] 2 - 3 trucs
JWhy les limitations des .ini remontent a Win3.1, je crois...
il me semblait pourtant que Delphi dans ses dernieres versions contournait ce pb... je vais vérifier, tien !

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
JWhy les limitations des .ini remontent a Win3.1, je crois...
il me semblait pourtant que Delphi dans ses dernieres versions contournait ce pb... je vais vérifier, tien !
antp C'est gros quand même 64 Ko...
C'est pas par hasard une limite de win9x, comme le TMemo qui est limité à 65536 caractères en win9x, mais illimité en NT/2k...
taureau au fait un petit truc à savoir les fichiers ini sont limités sous windows à 64ko maxi, et je crois aussi que les fonctions pour lire les sections d'un coup sont limitées à 8ko (mais la je suis moins sur...)
 
comme tinifile se base sur les api windows, il a aussi les meme limites, sur torry.net vous trouverez une implémentation Tinifile32 qui n'est pas basée sur les apis et qui n'a donc aucune limitation de taille...
juju_le_barbare ah et pour delphi.fr.fm, j'ai downloadé toutes les sources, le exemples, et les softs... Encore merci
Maintenant je vais lire les tuts ...
juju_le_barbare

SteF_DOBERMANN a écrit a écrit :

ta vu JUJU ta signature est limité :(
 
a oui c avec ce site que j'ai appris à programmer en DELPHI  :D  




 
oui elle est coupée, ... dommage.
 
Pour le guide c'eut été mieux qu'il fusse en Français. Mais po grave, hein ! Je sais qu'il faut connaître l'anglais quand on fait de l'informatique, et c'est mon cas. Je dis juste que j'aurais été plus à l'aise si c'était en français. En tout cas je pourrais aller sur Reverso.net pour le traduire, mais le sens serait détruit. Donc po grave et merci beaucoup !
 
@+

stef_dobermann ta vu JUJU ta signature est limité :(
 
a oui c avec ce site que j'ai appris à programmer en DELPHI  :D
antp tiens un truc utile:
http://community.borland.com/artic [...] 80,00.html
c'est un guide sur le style à utiliser quand on code en Pascal (Delphi donc). Vaut mieux prendre de bonnes habitudes dès le début.
juju_le_barbare

antp a écrit a écrit :

je sais, d'habitude je fais comme ce que tu as dit, mais je me suis dit que c'était plus clair de le laisser, car juju (sans vouloir le vexer) semble débuter.  




 
En effet ça doit faire 3 semaines que j'ai débuté en Delphi. En plus je n'ai pas énormément de temps pour apprendre, j'ai des cours la journée (et oui je suis un petit jeunot ;-), je suis obligé de programmer la nuit (ouh là là 4 heures de sommeil par nuit ...).
Bref c'est pour ça que je pose beaucoup de questions, je pense que si j'avais plus de temps je pourrais être un peu plus dépendant. En tout cas merci de m'aider (au fait pour begin et end ça va j'ai quand même compris ;-)
 
Doberman, merci pour le site je vais y aller voir tout de suite !!!
 
@+

 

[edtdd]--Message édité par juju_le_barbare--[/edtdd]

stef_dobermann :jap:  
va voir sur ce site http://perso.wanadoo.fr/bardou/michel/delphi.htm
tu trouvera un exemple (ficini.zip) il va te montrer comment utiliser tinifile
antp je sais, d'habitude je fais comme ce que tu as dit, mais je me suis dit que c'était plus clair de le laisser, car juju (sans vouloir le vexer) semble débuter.
JWhy antp> tu peux gagner n * 2 lignes de code dans tes programmes en virant le begin...end qui encadre le try...finally...end (puisque c'est 1 seule instruction):

Code :
  1. with TIniFile.Create(...) do
  2. try
  3. finally
  4.   Free;
  5. end;


 
;)

antp

juju_le_barbare a écrit a écrit :

 
 
OK Je vais modifier ma signature, mais dis moi antp, que fait ton code delphi ? J'arrive pas à comprendre à quoi sert de stocker des strings dans la variable Result. Elle sera affichée ?




 
alors, la variable result comme tu dis c'est une variable spéciale qui existe dans les fonctions (pas dans les procédures) et qui sert à renvoyer la valeur.
 
tu peux faire:
function mafonction: boolean
begin
 mafonction := true;
end;
 
ou bien:
function mafonction: boolean
begin
 result := true;
end;
 
c'est pareil.
Sauf que dans le second cas, tu ne dois pas changer plusieurs fois le nom de la fonction si tu le changes, et que dans bcp de cas result est plus court que le nom de la fonction.
 
 

juju_le_barbare a écrit a écrit :

 
Donc pour sauver la config de mes softs, en effet je créé des fichiers ini, mais pas avec TIniFile ... Avec la méthode traditionnelle du pascal : Assignfile, rewrite, closefile, etc ...
 
Comment s'utilise Tinifile ? (ja vais regarder dans l'aide, mais l'aide sur hardware est plus *vivante*) Quels sont ses avantages ?
 




 
pour les TIniFile, franchement c'est facile:
 

Code :
  1. with TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini')) do
  2. begin
  3.   try
  4.     unevariable := ReadString('Nom section', 'Nom element', 'valeur par defaut');
  5.     uneautre := ReadInteger......
  6.   finally
  7.     Free;
  8.   end;
  9. end;


 
y a aussi ReadBool, WriteString, WriteInteger, WriteBool.

 

[edtdd]--Message édité par antp--[/edtdd]

juju_le_barbare

antp a écrit a écrit :

et tant qu'on y est:

Code :
  1. If juju_le_barbare.Barbare = False Then
  2.   showmessage ('Erreur !')
  3. Else
  4.   showmessage ('Parfait !!!');


 
devrait être

Code :
  1. function Test: string;
  2. begin
  3.   if Juju_le_barbare.Barbare then
  4.     Result := 'Parfait !!!'
  5.   else
  6.     Result := 'Erreur !';
  7. end;

 
 
 




 
OK Je vais modifier ma signature, mais dis moi antp, que fait ton code delphi ? J'arrive pas à comprendre à quoi sert de stocker des strings dans la variable Result. Elle sera affichée ?
 
Sinon stef_dobermann, ya pas d'problème ;-)
 
Donc pour sauver la config de mes softs, en effet je créé des fichiers ini, mais pas avec TIniFile ... Avec la méthode traditionnelle du pascal : Assignfile, rewrite, closefile, etc ...
 
Comment s'utilise Tinifile ? (ja vais regarder dans l'aide, mais l'aide sur hardware est plus *vivante*) Quels sont ses avantages ?
 
@+ :hello:

antp et tant qu'on y est:

Code :
  1. If juju_le_barbare.Barbare = False Then
  2.   showmessage ('Erreur !')
  3. Else
  4.   showmessage ('Parfait !!!');


 
devrait être

Code :
  1. function Test: string;
  2. begin
  3.   if Juju_le_barbare.Barbare then
  4.     Result := 'Parfait !!!'
  5.   else
  6.     Result := 'Erreur !';
  7. end;

 

[edtdd]--Message édité par antp--[/edtdd]

stef_dobermann pour le 1 pareil que les 2 autres,
pour le 2 aucune idée
pour le 3 par contre essai de gerer les touche du clavier (avec l'évenement onkeypress ou un truc dans ce style )
 
autre chose

Citation :


Perl :
 
function test {
return "Parfait";
if "juju_le_barbare".Barbare
return "Erreur"
}


 
j'ai fait une enorme erreur c pas function mais Sub  :jap: desolé la fatigue ou je ne sais pas :cry: :jap:  
 
par contre pour koi tu as mis un retour à la ligne aprés "parfait"  :??:  :??:  tu m'as saboter le script (il retournera toujours "Parfait"  :D )
donc ce devient :
 
sub test {
return "Parfait";if "juju_le_barbare".Barbare
return "Erreur"
}
ou ca  
sub test {
 if ("juju_le_barbare".Barbare) { return "Parfait";}
 else {return "Erreur"}
}
 :jap: encore desolé pour cette erreur :jap:

JWhy pour le 1, pareil que antp,  hein, TRegistry c'est nécessaire quand tu veux lire/écrire/bidouiller dans le registre mais si c'est pour gérer les options de config. de ton programme, rien ne vaut le TINIFile
antp pour le 1: oui TRegistry. Mais si c'est juste pour sauver les options de ton programme TRegIniFile est plus facile (tant qu'à faire, personnellement je trouve ça mieux de sauver les options dans un fichier .ini, donc TIniFile)
pour le 2 et 3: aucune idée
JWhy - TRegistry c'est bien... y'a mieux, mais c'est plus cher ;) (ou plutot je ne connais pas vu que je peux faire tout ce que je veux avec le TRegistry)
 
exemple tiré de l'aide delphi:

Code :
  1. procedure TForm1.WMEndSession(var Message: TWMEndSession);
  2. var
  3.   Reg: TRegistry;
  4. begin
  5.   Reg := TRegistry.Create;
  6.   try
  7.     Reg.RootKey := HKEY_CURRENT_USER;
  8.     if Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\RunOnce', True) then
  9.    begin
  10.       Reg.WriteString('MyApp','"' + ParamStr(0) + '"');
  11.       Reg.CloseKey;
  12.     end;
  13.   finally
  14.     Reg.Free;
  15.     inherited;
  16.   end;
  17. end;


ca dit a windows de relancer ton appli une fois au redémarrage de ta machine.
 1) Tu crées un TRegistry dans le mode que tu veux  
 2) Tu choisis la clé que tu veux utiliser HKLM/HKCU/etc...
 3) Tu ouvres le chemin que tu veux modifier
 4) tu fais les lectures/écritures de valeurs qui t'intéressent.
 5) tu fermes la clé.
 
 
- Je ne connais pas.
 
- [Mode "A Confirmer": On]  
sous 9x, tout ce que tu peux faire est désactiver le Ctrl+Alt+Suppr
sous NT/2K, tu ne peux rien faire en ce qui concerne le Ctrl+Alt+Suppr!
[Mode "A Confirmer": Off]

 

[edtdd]--Message édité par JWhy--[/edtdd]

juju_le_barbare Hello World ( ;-) )
 
Alors SVP, j'aimerais savoir comment :
 
- écrire dans le registre. TRegisty est bien ou ya mieux ?
  Et comment l'utiliser ?
 
- Sous NT, gérer les droits d'écriture sur un disque (local ou non).
 
- Lorsqu'on appuie sur Ctrl + Alt + Suppr, afficher un méssage au choix...
 
Voilà merci d'avance

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