[Delphi] 2 - 3 trucs

2 - 3 trucs [Delphi] - Programmation

Marsh Posté le 17-12-2001 à 17:16:11    

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


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 17-12-2001 à 17:16:11   

Reply

Marsh Posté le 17-12-2001 à 17:30:06    

- 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]


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 17-12-2001 à 17:30:12    

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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 17-12-2001 à 17:35:00    

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


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 17-12-2001 à 21:59:00    

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:


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 18-12-2001 à 08:59:12    

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]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-12-2001 à 14:24:51    

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:


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 19-12-2001 à 15:24:04    

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]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-12-2001 à 16:01:09    

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;


 
;)


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 19-12-2001 à 16:10:01    

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-12-2001 à 16:10:01   

Reply

Marsh Posté le 19-12-2001 à 16:33:23    

: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


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 19-12-2001 à 16:41:06    

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]


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 19-12-2001 à 16:43:53    

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-12-2001 à 16:47:10    

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


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 19-12-2001 à 17:04:40    

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 !
 
@+


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 19-12-2001 à 17:06:34    

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 ...


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 19-12-2001 à 20:57:14    

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...

Reply

Marsh Posté le 19-12-2001 à 21:45:18    

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...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-12-2001 à 21:51:47    

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 !


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed