Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SCREENSAVER AVEC PREVIEW+CONFIG EN SUPER SIMPLE !


Information sur la source



Description

Cliquez pour voir la capture en taille normale
Ça fait au moins 6 mois que j' ai cette source sur mon disque et je ne l'ai jamais postée, je sais plus pourkoi :(

Je la poste pour tous ceux qui ont déjà voulu faire un ScreenSaver mais qui n' ont pas réussit à comprendre le fonctionnement des diverses exemples qui existent.

Dernière recomendation:
Utilisez plutot un timer que l' utilisation de application.ProcessMessage pour le dessin etant donné que application.ProcessMessage bloque pas mal le PC !!!
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de sokoban le 21/06/2005 21:50:25

Excellent !
Enfin un exemple complet qui fonctionne à merveille !

Je suppose que le {$E SCR} permet de forcer l'extension .SRC lors de la construction du projet, c'est ça ?

J'ai pas trop compris à quoi sert le {$D SCRNSAVE Ecran de veille de Maurício} ???

Le test sur hPrevInst = 0 est impératif, sinon, l'économiseur se lancerait tous les 15 minutes (par exemple) par dessus lui-même !

Bref, un squelette idéal !!! Merci et encore bravo !

signaler à un administrateur
Commentaire de MAURICIO le 22/06/2005 10:20:06

Salut Sokoban,
{$E SCR} permet bien de changer l' extension lors de la compil.
{$D SCRNSAVE Ecran de veille de Maurício} permet de mettre la description de ton Screen qui apparaitra dans la comboxbox de selection d' un screen saver. Cependant, il apparait MauScreen et donc, ça a pas l' air de marcher... Si qqu' un sait comment faire ...

signaler à un administrateur
Commentaire de grandvizir le 22/06/2005 15:38:29

$D est une directive qui permet de décrire des copyrights, et correspond au champ "Description" de l'onglet "Lieur" des propriétés du projet.

J'ai l'impression que c'est un héritage du 16 bits du vieux Win3.1

Désormais, l'extraction des données se fait par l'onglet "Infos version" et la plupart des pilotes/drivers utilisent ces champs pour donner toutes leurs caractéristiques. Il faut dire aussi que les infos versions sont plus complètes que le pauvre petit champ de description. De plus, les API Windows cherchent toujours les infos-version.

Pour ce qui est du nom de l'écran de veille, c'est peut-être tout simplement le nom du fichier SCR sans son extension.

signaler à un administrateur
Commentaire de MAURICIO le 22/06/2005 17:23:05

Merci GrandVizir pour ces explications.
Mais il ne me semble pas que la description = nom du fichier sans son extension:
ssbezier.scr a pour description "Bezier(s)."
ssflwbox.scr a pour description "Flor 3D" sous Win en Portugais
Faut chercher, on va bien trouver comment faire ...
A+

signaler à un administrateur
Commentaire de bloom1 le 24/09/2005 17:16:44

Wow il est cool ton ScreenSaver lol merci

signaler à un administrateur
Commentaire de MAURICIO le 26/09/2005 11:07:34

Merci Bloom1. A+

signaler à un administrateur
Commentaire de cincap le 22/11/2005 08:24:28

Bonjour,

Bravo pour l'idée.

J'aimerais rajouter un Tmediaplayer sur la fiche f_prin et sur la fiche f_config, le moyen avec un topendialog de charger une musique de fond en mp3, wav, mid.

Le problème, j'obtiens un message d'erreur parceque apparemment, on ne sait pas attribuer un son au Tmediaplayer d'une fiche à l'autre ou bien parceque dans les paramètres preview Windows, la fiche f_prin est déjà active.

y a t'il une solution ?

jean-marie.capellen@skynet.be

CINCAP

signaler à un administrateur
Commentaire de MAURICIO le 22/11/2005 10:15:33

Je ne vois pas trop où est le problème ...
Je te conseille de laisser le choix du fichier à l' utilisateur via le panneau de config mais de lire le fichier ds la fenêtre principale...
A+

signaler à un administrateur
Commentaire de cincap le 22/11/2005 17:42:40

Bonjour, .
C'est exactement ce que j'essaye de faire mais comme déjà dit, la fiche frmmain est déjà active (forcément) et donc le Tmediaplayer qui est placé sur cette fiche aussi.

De plus à la 1ère exécution, il n'y a pas encore de fichier son.

Même en le pilotant de la fiche f_config, en lui attribuant le résultat de Topendialog comme filename et en lui donnant l'instruction open puis play, j'obtiens un message d'erreur.

@+,
Cincap

signaler à un administrateur
Commentaire de MAURICIO le 23/11/2005 10:06:43

Tu as les paramètres pour savoir ds quelles conditions la programme est lancé!!!

signaler à un administrateur
Commentaire de cincap le 23/11/2005 11:15:19

Bonjour,

C'est ton programme donc tu connais mieux les paramètres que moi me semble t'il ?

Il te suffirait à ta meilleure convenance naturellement de rajouter à ton programme en test, sur la fiche "f_prin.pas" le composant Tmediaplayer.

Et sur la fiche "f_config.pas" qui sera visible dans "Paramètres" les composants TopenDialog et un Tbutton pour comprendre l'erreur.

Pour moi qui suit débutant mais logique,je cale sur ce problème et c'est pour cela que je demande de l'aide sur ce site.

@+,

CINCAP

signaler à un administrateur
Commentaire de MAURICIO le 23/11/2005 13:25:37

Ok, je vais voir si je peux faire ça ds la journée ...

signaler à un administrateur
Commentaire de cincap le 25/11/2005 08:19:18

Salut,

Pas facile ma demande apparement.

Aucune réaction d'autres membres c'est bien dommage !.

Et pourtant j'ai une solution qui fonctionne.

J'attends vos idées.

CINCAP

signaler à un administrateur
Commentaire de cincap le 26/11/2005 11:22:36

Salut,

Voici une des solutions pour ce problème.

uses IniFiles;

Dans la fiche config visible dans paramètres :

if OpenDialog1.Execute then begin
with TIniFile.Create('C:\Save.ini') do try
  WriteString('audio','filename',OpenDialog1.FileName);
finally
  Free;
end;
end;

Dans la fiche principale du screen saver:

with TIniFile.Create('C:\Save.ini') do try
  MediaPlayer1.FileName := ReadString('audio','filename',{fichier par défaut});
  MediaPlayer1.Open;
  MediaPlayer1.Play;
finally
  Free;
end;


A bientôt,

CINCAP

signaler à un administrateur
Commentaire de MAURICIO le 28/11/2005 10:24:14

Bem voilà,
je vois pas où était le problème ...

signaler à un administrateur
Commentaire de SiZiOUS le 09/10/2007 21:35:19

Pour nommer votre screensaver avec un nom plus "parlant" que le nom du fichier sans son extension, linkez un fichier res dont la source est la suivante:

STRINGTABLE
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
1, "Le nom de mon screensaver"
}

Enregistrez ce fichier par exemple sous scrname.rc.

Puis pour le linker sous Delphi 7:
Tout d'abord, le compiler: brcc32 scrname.rc
Puis rajoutez cette déclaration dans votre code: {$R scrname.RES}

Sous Delphi 2005 et up:
Ajoutez le fichier scrname.rc aux fichiers du projet, il se compilera lors de la construction de votre application.

signaler à un administrateur
Commentaire de SiZiOUS le 09/10/2007 21:55:03

Précisions:
L'astuce du dessus ne fonctionne que depuis NT. Pour 9x/ME, c'est le nom du fichier sans l'extension, et rien d'autre.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.