sokoban
Messages postés32Date d'inscriptionmardi 4 novembre 2003StatutMembreDernière intervention 4 novembre 2006
-
21 juin 2005 à 21:50
SiZiOUS
Messages postés69Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 novembre 2006
-
9 oct. 2007 à 21:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
SiZiOUS
Messages postés69Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 novembre 2006 9 oct. 2007 à 21:55
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.
SiZiOUS
Messages postés69Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 novembre 2006 9 oct. 2007 à 21:35
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.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 28 nov. 2005 à 10:24
Bem voilà,
je vois pas où était le problème ...
cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 20092 26 nov. 2005 à 11:22
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
cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 20092 25 nov. 2005 à 08:19
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
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 23 nov. 2005 à 13:25
Ok, je vais voir si je peux faire ça ds la journée ...
cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 20092 23 nov. 2005 à 11:15
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
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 23 nov. 2005 à 10:06
Tu as les paramètres pour savoir ds quelles conditions la programme est lancé!!!
cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 20092 22 nov. 2005 à 17:42
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
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 22 nov. 2005 à 10:15
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+
cincap
Messages postés460Date d'inscriptiondimanche 5 décembre 2004StatutMembreDernière intervention 6 avril 20092 22 nov. 2005 à 08:24
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
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 26 sept. 2005 à 11:07
Merci Bloom1. A+
cs_bloom1
Messages postés328Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention 8 mars 2007 24 sept. 2005 à 17:16
Wow il est cool ton ScreenSaver lol merci
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 22 juin 2005 à 17:23
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+
cs_grandvizir
Messages postés1106Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 3 septembre 200622 22 juin 2005 à 15:38
$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.
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 22 juin 2005 à 10:20
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 ...
sokoban
Messages postés32Date d'inscriptionmardi 4 novembre 2003StatutMembreDernière intervention 4 novembre 2006 21 juin 2005 à 21:50
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 !
9 oct. 2007 à 21:55
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.
9 oct. 2007 à 21:35
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.
28 nov. 2005 à 10:24
je vois pas où était le problème ...
26 nov. 2005 à 11:22
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
25 nov. 2005 à 08:19
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
23 nov. 2005 à 13:25
23 nov. 2005 à 11:15
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
23 nov. 2005 à 10:06
22 nov. 2005 à 17:42
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
22 nov. 2005 à 10:15
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+
22 nov. 2005 à 08:24
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
26 sept. 2005 à 11:07
24 sept. 2005 à 17:16
22 juin 2005 à 17:23
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+
22 juin 2005 à 15:38
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.
22 juin 2005 à 10:20
{$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 ...
21 juin 2005 à 21:50
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 !