begin process at 2010 02 10 10:22:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > ECRAN DE VEILLE CLUBINSCR V 2.1

ECRAN DE VEILLE CLUBINSCR V 2.1


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :écran, veille, screensaver, clubinscr, éteindre Niveau :Débutant Date de création :06/12/2005 Date de mise à jour :02/08/2006 10:30:10 Vu / téléchargé :11 714 / 808

Auteur : Matt 261

Ecrire un message privé
Site perso
Commentaire sur cette source (39)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour à tous,

ClubinScr est un écran de veille complet qui est du style de Windows avec une image qui se déplace sur une form si on ne change pas les paramètres. Si on l'utilise pleinement, vous avez la possibilité de lire TOUT un dossier d'image et de musique, de changer l'interval du timer, l'image de fond de fiche(qui peut - être celle du bureau ou une choisie par l'utilisateur), la couleur de fond de la fiche, la transparence ainsi que rajouter un texte défilant.
La sauvegarde des paramètres se fait dans la base de registre.
Merci à tous ceux qui laisseront des commentaires et à tous ceux qui m'ont directement ou indirectement donné un p'tit coup de pouce. Merci aussi à Cirec qui à corrigé les erreurs dans le code.
Les premiers commentaires ne sont peut-êtres pas très engagents mais ils concernent la Toute première version de mon écran de veille (donc il y a fort longtemps...).
La nouveauté : Plus de bug ;-) et affichage de l'écran de veille seulement si le handle de la fenêtre de propriété de l'Affichage n'est pas trouvé (enlevez les lignes et vous comprendrez pourquoi cela sert...).
Possibilité de mettre Windows en veille prolongée si l'écran de veille est toujour actif au bout d'un certain temps (jusqu'a 3 heures).


 Conclusion

Delphi compile directement dans le system32 de windows ce qui évite de devoir déplacer le prog à chaque modif.
Pour voir le prog allez dans les propriétés de l'affichage rubrique Ecrans de veille.
Je pense que le projet ClubinScr est fini. J'y ajouterais peut-être quelques fonctionnalités de temps en temps.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Clubin.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 052 octets
  • Clubin.resTélécharger ce fichier [Réservé aux membres club]4 496 octets
  • Unit1.dfmTélécharger ce fichier [Réservé aux membres club]2 504 octets
  • Unit1.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier13 070 octets
  • Unit2.dfmTélécharger ce fichier [Réservé aux membres club]78 735 octets
  • Unit2.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier9 938 octets

Télécharger le zip


 Historique

08 décembre 2005 20:00:34 :
Ca y est enfin... J'ai viré les innombrables timer ainsi que les effets de fermeture qui ne servaient à rien...
11 mars 2006 16:27:22 :
Correction, de quelques bug et possibilité de voir l'écran de veille dans la configuration du bureau
12 mars 2006 10:09:08 :
Voila! L'écran de veille est enfin complet. Sauvegarde des paramètres et possibilité de choisir l'image, la couleur de fond et la transparence.
16 mars 2006 18:19:43 :
Ajout de la musique de fond et correction de quelques bugs (pas méchants) et d'une petite erreur d'inattention de ma part.
20 mars 2006 17:24:24 :
Donc je viens de rajouter un effet de passage de l'image avec le choix de l'animation que l'on veut... Désolé pour la qualité de l'image mais j'ai du compresser avec Paint.
13 avril 2006 18:18:55 :
Il y a eu une correction d'erreurs dans le code (merci à Cirec) et l'ajout d'un effet.
17 avril 2006 12:11:52 :
L'option du texte était parties et l'inscription des paramètres se fait désormée dans la base de registre.
28 avril 2006 18:55:27 :
J'ai corrigé un petit bug qu'il y avait avec le son quand l'écran de veille s'affiche; quand il devait se jouer il ne le faisait pas et quand il ne devait pas se faire entendre on l'entendait (oh le vilain...).
04 juin 2006 15:07:43 :
Plus de bugs au niveau des fichiers audios et affichage de l'écran de veille seulement si le handle de la fenêtre de propriété de l'Affichage n'est pas trouvé pour eviter d'avoir l'écran de veille qui démarre quand vous arrivez sur la fenêtre d'affichage...
05 juin 2006 11:50:17 :
Correction d'un bug de ma part (j'avais enlevé la ligne pour l'ouverture de la clé de la bdr) et ajout d'une fonction pour éteindre Windows si l'écran de veille est toujour actif après un temps donné.
01 août 2006 15:00:15 :
Correction de bug et ajout de fonctions
02 août 2006 10:30:10 :
Tout un dossier d'image et de musique peut être choisi. Possibilité de mettre en veille prolongée le PC et d'avoir l'image du bureau comme image d'arrière plan.

 Sources du même auteur

Source avec Zip Source avec une capture TÉLÉCHARGEMENT DE MISES À JOUR AVEC INDY
Source avec Zip Source avec une capture GÉNÉRATEUR DE CADAVRES EXQUIS
Source avec Zip CONVERTA - CONVERTISSEUR WMA ET WAV ->MP3

 Sources de la même categorie

Source avec Zip Source avec une capture LOGICIEL DE DIAGNOSTIC AUTOMOBILE KWP2000 par Oniria
Source avec Zip Source avec une capture RÉGLE TRANSPARENTE POUR MESURER UN OBJET ECRAN par dubois77
Source avec Zip Source avec une capture LE BOOK DU PAUVRE par dubois77
Source avec Zip Source avec une capture CAHIER 90 PAGES par dubois77
Source avec Zip Source avec une capture TABLEAU DE BOUTONS DYNAMIQUES (AGENDA) par dubois77

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture ÉCRAN DE VEILLE FEU D'ARTIFICE par barbichette
Source avec Zip Source avec une capture BLOODSAVER (LE PLUS GORE DES SCREENSAVERS) par Bacterius
Source avec Zip Source avec une capture LOGISLEEP : PERMET DE FERMER LA SESSION, D'ÉTEINDRE OU DE RE... par sim51
Source avec Zip ÉCRAN DE VEILLE QUI ÉTEIND LE PC APRÈS UN CERTAIN TEMPS par 365tib
Source avec Zip AFFICHER UN ÉCRAN AU DÉMARRAGE D'UNE APPLICATION. par Sofiane0

Commentaires et avis

Commentaire de f0xi le 06/12/2005 20:16:08 administrateur CS

Ah ... bien bien bien ...

bon deja, no comment sur les 36 timers present sur la fiche ^^

bon par ou commencer ... mmmm ...

deja, tu pourrais reduire la declaration pour quitter dans une procedure et appeler cette procedure dans les evenements de la fiche :

procedure QuitterScreen;
begin
  Application.Terminate;
  AnimateWindow(Form1.Handle,2000,AW_BLEND or AW_HIDE);
end;

et dans :
form1.keypress, form1.mousemove, form1.mousedown
appeler cette procedure.


pour l'animation du jpg, tu peu faire comme cela :

const
{$j+}
   MoveLeft : boolean = true;
   MoveUp   : boolean = true;
{$j-}

implementation

procedure TForm1.Form1Create(sender : tobject);
begin
  // evite le clignotement de l'image
  form1.doublebuffered := true;
  // empeche les click sur l'image
  image1.enabled := false;
  // possition l'image au milieu de la fiche
  image1.left := (form1.width div 2) - (image1.width div 2);
  image1.top  := (form1.height div 2) - (image1.height div 2);
  // demarre l'animation
  timer1.interval := 10;
  timer1.enabled := true;
end;

procedure TForm1.Timer1OnTimer(sender : tobject);
begin
  with image1 do begin
    if MoveLeft then left := left - 2 else left:= left + 2;
    if MoveUp   then top  := top - 2 else top := top + 2;

    if Left <= 0 then MoveLeft := false;
    if Left >= form1.ClientWidth-Width then MoveLeft := true;
    if top  <= 0 then MoveUp := false;
    if top  >= form1.ClientHeight-Height then MoveUp := true;
  end;
end;



voila, bon courage pour la suite.

Commentaire de cirec le 07/12/2005 00:23:16 administrateur CS

Un petit exemple avec un seul timer


implementation

uses Math; // pour l'utilisation de randomrange
{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled:=False;
  Image1.Top:= RandomRange(1, Screen.DesktopHeight - Image1.Height) ;
  Image1.Left:= RandomRange(1, Screen.DesktopWidth - Image1.Width);
  Timer1.enabled:=True;
end;

et dans l'évenement OnCreate de Form1 tu ajoutes
Randomize; // pour initialiser

et tu peux retirer tous les autres timers ^_^
pour le reste suit les conseils de f0xi c'est pas le nombres de lignes qui fait un bon prog mais plutôt l'inverse

@+
Cirec

Commentaire de Matt 261 le 07/12/2005 12:56:41

Oui...(hum) le code est un peu barbare comme je l'avait dit...
Merci pour les coms ...

Commentaire de Matt 261 le 07/12/2005 13:07:26

Si quelqu'un sait aussi comment cacher la barre des taches, je n'y arrive plus.
Je vais mettre à jour la source avec tout ce que vous m'avez dit.
Encore merci...

Commentaire de f0xi le 08/12/2005 00:51:49 administrateur CS

pour cacher la barre de tache de windows il suffit juste d'aller dans les options :

demarre > parametres > panneau de conf > barre des taches et menu demarrer...

sinon en effet j'avais pas capter au depart mais ton ScreenSaver n'en est pas réellement un, car il genere un EXE et pas un SCR ... no comment.

Ton code n'est pas barbare, disont qu'il montre bien que tu debute. nous sommes tous passer par la. donc point honte a avoir. nous aussi nous avons deja créer des routines toute pourrite (j'aime "pourrite" et pas "pourrie", pourrite c'est marrant a prononcé), des boucles qui boucles   sur des boucles de routines pourrite ...
Meme parfois, avec le recule et l'experience on se demande comment ces "boulzors" de programme pouvait fonctionner et surtout comment on a pus croire a ce moment la que c'etait des programmes "whoaaaa trop d'la balle"...



@Florenth :
tu sais ce qu'elles te disent mes constantes typées affectables!?! (hihihi)
moi gn'aime bien les CTA, je trouve ça pratique, comme les types record et object ... desolé c'est du code focile que je me traine depuis pascal 4.0 ...
et de plus c'est egalement l'abus de php, javascript et c++ ou on peu affecter la valeur d'une variable directement dans la declaration de cette derniere ... ce qui est plus pratique que d'aller 150 lignes plus bas pour l'initialisée. maintenant cela n'a pas réelement d'effet positif ou negatif sur le programme, du moins je n'ai jamais rencontrer de disfonctionnement innerants a l'utilisation massive des constantes typées affectable.
J'ai vus un tuto de GrandVizir a ce sujet, je vais surrement le relire, j'y trouverais peut etre une explication qui me convainquerais du contraire.
Mais je te fait confiance Florenth, juste que pour une fois tu a legerement oublié d'argumenter ton propos (etonant meme) ... et tu sais maintenant que j'apprecie grandement tes demonstrations qui permettent toujours de mieux ecrire un code propre, leger et performant.
Pour moi les constantes typées affectables permettent de gagner du temps dans les declaration/initialisation (tu noteras tout de meme que je n'oublis pas la directive $J- pour cloturé la zone)...
Alors je n'attend plus qu'une chose de ta part : convains moi que les constantes typées affectable ne sont plus d'actualitée dans delphi.


bon courage a toi Matt pour ton apprentissage et bienvenus dans le monde merveilleux de Delphi.

Commentaire de Matt 261 le 08/12/2005 17:18:03

Normalement je lui et demandé de compiler en .scr sauf erreur de ma part donc je me suis peut-être planté ou j'ai oublié...
Merci beaucoup f0xi pour tes encouragements

Commentaire de Matt 261 le 08/12/2005 20:17:07

Voila la mise a jour de mon "super" écran de veille.
J'ai viré les Timers inutiles et en effet ca ne compilait pas en scr donc ca c'est corrigé. Reste l'animation "qui sert à rien", VIRée, le prog s'ouvre et se ferme beaucoup plus rapidement a mon avis. je vais faire une boite pour la configuration de l'écran avec sauvegarde dans fichier ini.

A Florenth

En fait ça ne fait qu'un mois que je suis sur Codes Sources mais ça fait 1 ans et demi que je programme. Certe je n'ai pas beaucoup de gros progs serieux à "mon actif" (seulement 2) mais j'en ai 1 en projet qui j'espère va bientôt voir le jour:

http://www.delphifr.com/forum.v2.aspx?ID=614195#4

@+ et bonnes remarques (lol)...

Commentaire de cirec le 09/12/2005 01:19:20 administrateur CS

Bonsoir à vous,

>>f0xi
au lieu d'écrire ceci:
const
{$j+}
   MoveLeft : boolean = true;
   MoveUp   : boolean = true;
{$j-}

implementation
Tu peux faire ceci:
Var
   MoveLeft : boolean = true;
   MoveUp   : boolean = true;

implementation

Les variables globales peuvent être initialiser en même temps que leurs déclarations

@+
Cirec

Commentaire de Matt 261 le 09/12/2005 08:01:15

Je suis allé voir en effet le site que tu m'avait indiqué. Il va falloir que j'y retourne pour voir tout ce qu'il me reste à faire...
Sinon Florenth je n'avais pas pris ton com pour une sous-estimation de mon expérience même s'il me reste encore beaucoup de chose à découvrir.
Grâce aux 6 tiemr de moins et aux effet de fermeture j'ai gagné 1 ko sur mon application, elle ne fait plus 532ko mais 531ko...
Je vais refaire une mise a jour sous peu, je me suis apreçu que j'avais oublié d'enlever une animation...(formClose).

@ f0xi

Quand je parlais de cacher la barre des taches c'etait la recouvrir avec mon application...
désolé si je me suis mal exprimé.

Commentaire de Matt 261 le 09/12/2005 19:12:32

OK, merci Florenth

Commentaire de Matt 261 le 09/12/2005 19:15:47

... en fait c'est déja fait (j'ai oublié de relire ma source...) et ca ne cache pas la barre des taches. D'ou la capture d'écran(on voit la barre des taches...)

Commentaire de f0xi le 09/12/2005 20:55:29 administrateur CS

@Florenth / Cirec : alors, pour l'astuce de cirec, comme je l'ai dis sur mon code source, c'est pas mal, en effet cela evite d'aller plus loin pour initialisé les Globales et c'est deja bien.
les locales, aucun probleme vraiment puisque generalement elle sont initialisée deux ou trois lignes plus bas dans la fonction ou la procedure.

sinon il est vrai que les operateurs present en C++ ou PHP sont bien pratique ++ -- .= += -= ect... c'est la seule petite chose que je regrette sous delphi.

pour le plantage, Delphi et plus lourd mais beaucoup plus stable car plus strict au niveau de la syntaxe et declaration. Et du C++ ou PHP fait par un delphiiste avec l'esprit delphi (code strict) ne planteras que rarement voir jamais.
C++ autorise la compilation d'un programme bugé ... pas delphi ... la moindre erreur empeche la compilation, sauf erreur de /0 ou d'apel d'index hors-indice mais la, c'est au coder de faire attention et de "securisé" les routines pour eviter ce probleme.

voila voila

Commentaire de Matt 261 le 19/12/2005 10:42:34

Y'a une mise à jour qui pousse...

Commentaire de Matt 261 le 19/12/2005 11:19:53

Bopn alors variable ou pas variable?????

Commentaire de Matt 261 le 19/12/2005 11:32:53

Je voulais savoir un petit truc sinon, ça n'a rien a voir avec ça mais c'est pas grave...
Est-ce que l'on peut faire payer des images que l'on a fait avec un logiciel de photo payé style PhotoShop? Si oui combien???

Commentaire de Matt 261 le 12/03/2006 10:11:23

VOILA ENFIN LA MISE A JOUR (APRES 3 MOIS). Ca y est l'écran de veille est complet...

Commentaire de Matt 261 le 12/03/2006 20:37:32

Merci beaucoup Florenth ça me fait super plaisir.
Je vais faire une autre mise à jour j'ai vu 2 tout p'tits bug et j'ai ajouté une fonctionnalité.
En fait ce projet avait "dormi" pendant ces 3 mois je mis suis remis avant hier

Commentaire de Matt 261 le 14/03/2006 10:38:02

J'ai aussi ajouté des try...except pour eviter les bugs si une donnée est fausse ou inexistante et aussi la possibilitée de faire
un test timer et la possibilité d'avoir un beep quand l'écran de veille s'ouvre. Je vais essayer d'intégrer un bout de code pour avoir une image en fond de fiche et plusieurs effets d'images.
A ce propos quelqu'un serait-il comment faire apparaitre une image
avec un effet de fondu et la disparaitre toujours avec un effet de fondu???
Merci d'avance à ceux qui me répondrons.

  @+ Matt

Commentaire de Matt 261 le 15/03/2006 19:25:36

Une p'tite erreur c'est produite la source n'est pas au niveau expert mais débutant... Autant pour moi.

Matt

Commentaire de Matt 261 le 16/03/2006 19:20:42

Voila mon écran de veille inclu la musique ...

S'IL VOUS PLAIT DES COMMENTAIRES JE ME SENS SEUL...

Commentaire de f0xi le 07/04/2006 03:24:54 administrateur CS

holala ...

procedure TForm3.SpeedButton1Click(Sender: TObject);
begin
  OpenPictureDialog1.InitialDir := ExtractFilePath(Edit1.Text);
  if OpenPictureDialog1.Execute then
     Edit1.Text := OpenPictureDialog1.FileName
  else
     Edit1.clear;
end;



procedure TForm3.Button2Click(Sender: TObject);
begin
  OpenDialog1.InitialDir := ExtractFilePath(Edit2.Text);
  if OpenDialog1.Execute then
     Edit2.Text := OpenDialog1.FileName;
end;



procedure TForm3.Button1Click(Sender: TObject);
begin
  if not Timer1.Enabled then begin
     Button1.Caption := '&Stop test';  
     Timer1.Interval := SpinEdit1.Value;
  end else begin                        
     Button1.Caption := 'Te&st timer';    
  end;
  Timer1.Enabled := not Timer1.Enabled;            
end;



procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FichierIni := TIniFile.Create(Chemin+'ClubinCfg.ini');
  with FichierIni do begin
    WriteString('Timer','Value',SpinEdit1.Text);
    WriteString('Picture','Value',Edit1.Text);
    WriteInteger('Color','Value',ColorBox1.Selected);
    WriteInteger('AlphaBlend','Value',TrackBar1.Position);
    WriteString('MusicFile','Value',Edit2.Text);
    WriteString('BackgroundPicture','Value',Edit3.Text);
    WriteBool('Beep','Value',CheckBox1.Checked);
    WriteBool('Music','Value',CheckBox2.Checked);
    WriteBool('Effects','Value',RadioButton1.Checked)
  end;
  FichierIni.Free;
end;



procedure TForm3.FormCreate(Sender: TObject);
begin
  Chemin     := ExtractFilePath(Application.ExeName);
  FichierIni := TIniFile.Create(Chemin+'ClubinCfg.ini');
  with FichierIni do begin
    if not SectionExists('Timer')             then WriteString('Timer','Value','90');
    if not SectionExists('Picture')           then WriteString('Picture','Value','');
    if not SectionExists('BackgroundPicture') then WriteString('BackgroundPicture','Value','');
    if not SectionExists('Color')             then WriteInteger('Color','Value',clBlack);
    if not SectionExists('AlphaBlend')        then WriteInteger('AlphaBlend','Value',255);
    if not SectionExists('Beep')              then WriteBool('Beep','Value',false);
    if not SectionExists('Music')             then WriteBool('Music','Value',False);
    if not SectionExists('MusicFile')         then WriteString('MusicFile','Value','');
    if not SectionExists('Effects')           then WriteBool('Effects','Value',false);

    SpinEdit1.Text       := ReadString('Timer','Value','90')
    Edit1.Text           := ReadString('Picture','Value','')
    Edit3.Text           := ReadString('BackgroundPicture','Value','')
    ColorBox1.Selected   := ReadInteger('Color','Value',$000000)
    TrackBar1.Position   := ReadInteger('AlphaBlend','Value',255)
    CheckBox1.Checked    := ReadBool('Beep','Value',False)
    CheckBox2.Checked    := ReadBool('Music','Value',False)
    Edit2.Enabled        := CheckBox2.Checked;
    Button2.Enabled      := CheckBox2.Checked;
    Edit2.Text           := ReadString('MusicFile','Value','')
    RadioButton1.Checked := ReadBool('Effects','Value',False);
  end;
end;



Commentaire de Matt 261 le 07/04/2006 09:35:18

Oui.... merci F0xi je vais chager tout ça.

Commentaire de cirec le 07/04/2006 12:17:46 administrateur CS

Salut,
pour les buttonClick oui mais pour le FormCreate la je dis non.

Les testes sur SectionExists sont inutiles. En fait quand on cherche à lire une valeur dans un fichier Ini et que Section où Ident n'existe pas c'est la valeur par défaut qui est renvoyé (SpinEdit1.Text := ReadString('Timer','Value','90')) ici c'est 90 qui est par défaut.

C'est juste du code pour rien et même si le fichier Ini n'éxistait pas les valeurs par défaut seraient quand même transmises. Et le fichier Ini est écris seulement si l'utilisateur à cliqué sur Ok.

Mais bon Matt pourras s'en rendre compte avec la version modifier ...

@+
Cirec

Commentaire de f0xi le 07/04/2006 13:30:55 administrateur CS

tout a fait cirec, creer un fichier ini par defaut alors qu'il y a possibilitée de charger ces valeurs en dur, c'est inutile... sur le coups je les ais laissées mais elles sont en effet inutiles.

De plus matt, tu as vus l'utilisation beaucoup plus simple des methodes readinteger, readbool ect... elles empechent l'utilisation abusive des fonctions de conversions, accelerant par le fait le chargement du programme.

voila... d'autre ameliorations seront a apporter dans tout le programme. Je te conseil egalement d'aller voir mon tuto sur les booléens pour que tu vois ce qu'on peut faire et ce qu'il ne faut pas faire.

bonne progression, bon code et a bientot pour le beta-test.

ps : il manque les unités RB* pour certains composants, merci de fournir au moins les DCU relatives ou d'utiliser les composants standards de delphi. ^^

Commentaire de cirec le 07/04/2006 15:21:23 administrateur CS

Pour les unités manquantes tu peux les trouver ici :
http://www.delphifr.com/codes/COMPOSANTS-TCY-COMPONENT-PACK-V5-60_30296.aspx
Mais il faut les installer
Comme il n'y en a que deux boutons (RBbutton) si tu les mets en TButton tout le monde pourra compiler ta source.

@+
Cirec

Commentaire de Matt 261 le 12/04/2006 14:21:22

Je ne vais pas tarder à mettre à jour ma source. Un grand merci à Cirec qui m'a corrigé les erreurs dans le code et optimisé.
J'oubliais de préciser que l'on peut aussi lire de la musique pendant l'affichage de l'écran.

@+ Matt

Commentaire de Matt 261 le 13/04/2006 18:20:22

Voila la petite mise à jour attendue...

Commentaire de Matt 261 le 15/04/2006 09:22:51

Prochainement le mot de passe... Vous me conseillez quelle méthode pour le cryptage?

Commentaire de Matt 261 le 15/04/2006 19:49:02

Oui je sais sauf que je n'arrive pas à mettre le mot de passe pour mon écran. Quand je coche la case pour le mot de passe j'applique, je lance mon écran et rien ne ce passe avec le MdP.
Je viens re troquer le fichier ini pour la suvegarde dans la base de registre donc je ne vais pas tarder à remettre à jour.

Commentaire de Matt 261 le 15/04/2006 19:58:18

J'oubliais, pour Windows 98, il gère le mot de passe tout seul ou il faut que je fasse un petit truc spécial?

Commentaire de Matt 261 le 16/04/2006 08:15:22

Oui merci Florenth, c'est là où j'été allé en premier et je crois que je vais y retourné. Je n'y avait pas pensé.

Commentaire de cirec le 22/04/2006 17:15:32 administrateur CS

Salut,
Matt ta solution de troquer le fichier ini avec la base de registre pour enregistrer les paramètres de l'application ne me semble pas être le meilleur choix.

Imagine : ton application tourne sur une machine x et le propriétaire décide de supprimer ton programme (yavé kapa) :-), bon c’est fait , mais les données précédemment enregistrées dans la base de registre, elles, ne seront pas supprimées. :-(
Voilà tu répètes ça avec plusieurs applications et résultat Windows devient de plus en plus lent au démarrage à cause de la base de registre qui est encombré par des enregistrements inutiles.

Alors je sais que Windows disait que c'était fait pour ça et qu'il valait mieux utiliser la base de registre que le fichier ini. Si l'application possède un désinstalleur qui efface les traces dans le registre alors oui éventuellement, mais pour une simple application que l'on sait qu'elle va tout laisser en plan la je dit non.

Il y a déjà suffisamment de programme (même des payants) qui laisse leurs poubelles en partant que ce n'est pas utile de faire pareil.

Restons propre...
Tout comme tu libères un objet (que tu as créer) après utilisation il faut penser à supprimer ce que l'on écris dans la base de registre et si c'est pas possible de le garantir comme ici je pense que le mieux c'est de s'abstenir.

@+
Cirec

Commentaire de Matt 261 le 23/04/2006 09:50:38

Oui en fait j'utilise normalement un installateur (InnoSetup) qui peut me créer ou supprimer les valeurs dans le registre mais là il faut les virer à la main. Les valeurs se trouvent ici:
HKEY_LOCAL_MACHINE \ SoftWare \ ClubinScr .

@+
  Matt

Commentaire de cirec le 23/04/2006 11:18:36 administrateur CS

ça je le sais, j'ai très bien vu ou se trouve les donnés je t'expliquais juste pourquoi il ne faut pas utiliser le registre pour ce genre d'application.
@+
Cirec

Commentaire de Matt 261 le 23/04/2006 11:52:11

Oui je donnais juste ça pour les gens qui ne savaient pas ou les données se trouvaient.
Merci pour l'explication quand-même.
@+
Matt

Commentaire de Idefix57 le 01/05/2006 16:55:00

La j'ai de quoi apprendre ....
je vais suivre les commantaires de f0xi et les autres aussi ,
a tete reposée :p

Bravo , et merci

a+ idefix

Commentaire de Matt 261 le 01/05/2006 17:57:26

merci Idefix,

Les premiers commentaires ne sont plus d'actualité si je puis dire puisqeu mon écran de veille à évolué depuis mais je me suis apreçu d'un bug au niveau de la lecture des fichiers audios. Je vais corriger ça au plus vite...

@+
  Matt

Commentaire de Matt 261 le 05/06/2006 11:52:28

Voila, deuxième mise à jour de mon écran de veille. Plus de bugs (normalement mais si vous en trouvez rapportez-les moi et je corrigerais tout ça).

Commentaire de Matt 261 le 01/08/2006 19:27:24

Enfin la version finale de ClubinScr.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Problème de Screensaver avec XP [ par Tinio ] Salut tout le monde,J'ai téléchargé un écran de veille écrit en delphi.Il marche très bien sous Windows 2000.Mais sur XP, il se lance et s'arrête aprè écran de veille [ par hamza ] bonjour,j'ai besoin de savoir commnt passer des arguments à windows 98 avec delphi 5.0, dans un fichier .SCR, pour la prévisualisation et le plein écr allumer éteindre / veille [ par Maniaxman ] bonjour, j'ai trouvé ces deux fonctions si pour allumer et éteindre l'écran : SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 1);//é Demande à propos des écrans de veille [ par Bacterius ] Bonjour, je voudrais juste savoir comment installer mon écran de veille dans la liste (mon écran de veille c'est une application .exe changée en .scr réaliser un écran de veille. [ par hamza ] bonjour tout le monde, je souhaite réaliser un écran de veille, l'idée c'est de détecter tous les icônes du bureau Windows, ensuite faite une capture Clef pour sécurité de l'écran de veille ??? [ par damanix ] Hello tout le monde Je cherche à détecter si l'écran de veille est sécurisé ou pas, et pour ça je regarde la clef dans la base, mais alors que pour mo Ecran de veille [ par flo1984 ] Salut,Quand j'essai de faire un écran de veille mais le problème c'est que je n'arrive pas à y inclure les paramétres, quand je clique sur paramètre ç Détecter si l'écran de veille est en marche [ par ni69 ] Bonjour,Je travaille actuellement sur un logiciel espion qui fait des captures d'écran, mémorise les frappes du clavier, etc...Et je voudrais savoir s InitiateSystemShutdown [ par DENNLER ] J'utilise InitiateSystemShutdown pour essayer d'arrêter des ordinateurs à distance.Si le PC à éteindre est de type Windows XP le poste s'éteint corre comment passer en plein écran [ par xyowz ] Bonjour,je débute et je n'arrive pas à trouver comment on peut faire pour passer en plein écran et ne plus voir les barres de windows. Merci !!!!!....


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales