CALENDRIER TRANSPARENT SUR LE BUREAU WINDOWS

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 11 janv. 2005 à 10:48
m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012 - 22 sept. 2008 à 15:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28760-calendrier-transparent-sur-le-bureau-windows

m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012
22 sept. 2008 à 15:43
Bonjour,
Juste pour info pour ceux qui relise les vieux post
la déclaration comme ce ci n'est pas correct.

Dim a, b, c, d, e, f, g, h, i, j, k, l, m, n, p As Integer

seul p sera un entier

il faut faire :
Dim a as integer, b as integer, c as ingeter etc.
lucky2222 Messages postés 92 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 2 octobre 2006
20 févr. 2005 à 18:01
effectivement, un oubli de ma part!
voila, lmodulechargementdonnéesexternes.bas a ete ajouté au zip

merci de me tenir au courrant de toutes annomalies constatées afin d'afiner ce programme

et si vous pensez ajouter des options supplementaires n'esitez pas a me communiquer toutes idees

pour jp92, essais le dernier zip! (mais as tu vb6 sur ton pc?) si tu n'arrives toujours pas, fais signe, on trouveras le probleme
cs_Apachefr Messages postés 16 Date d'inscription jeudi 1 juillet 2004 Statut Membre Dernière intervention 25 septembre 2007
19 févr. 2005 à 18:52
Je trouve ce programme assez bien (d'après la capture et les commentaires), mais je ne peut pas le tester car il manque un fichier dans le zip : modulechargementdonnéesexternes.bas
cs_jg92 Messages postés 1 Date d'inscription dimanche 28 décembre 2003 Statut Membre Dernière intervention 31 janvier 2005
31 janv. 2005 à 19:14
Bonjour pas trouver comment utiliser ce script ?
arnohoho Messages postés 77 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 24 août 2005
26 janv. 2005 à 20:15
j'ai rien dis dèsolé

le prog est super c'est trop bien merci pour cette souce

a+
arnohoho Messages postés 77 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 24 août 2005
26 janv. 2005 à 20:12
j'ai pas l'ocx AnimatedGifContolX quelqu'un c'est ou je peux me la procurrer
merci
ssauvage Messages postés 47 Date d'inscription vendredi 28 février 2003 Statut Membre Dernière intervention 9 octobre 2012
17 janv. 2005 à 14:27
très bonne idée !
j'attends la version prenant en compte des rendez-vous ...
lucky2222 Messages postés 92 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 2 octobre 2006
15 janv. 2005 à 00:25
merci pour toutes ces informations que je vais noter dans un coin afin de ne pas refaire les memes erreurs!
alors maintenant, je vais travailler sur la remise au propre ce cette source qui est, on peut le dire un brouillon! avant d'y ajouter de nouvelles fonctions comme des info du jour selectionné qui s'afirerons en dessous du calendrier qund on cliquera sur une date!

pour ce qui est de la taille du formulaire, tu parle bien de la taille de la form au lancement du programme? si oui, je pense que oui, comme je viens de le dire, c'est un brouillon que je vais remettre au propre, donc je vais voir pour la reduire au maxi!
pour le moment, j'ai du mal a me faire aux declarations des valeur!
Form1.Picture1.ScaleMode = (millimeters, pouces, pitch etc!) c'est pour cela que j'ai fais une function zonnage avec des valeurs differentes de celles du tracage!

j'en profite aussi pour dire a finelame qui oui c'est possible de mettre le numero de semaine! et c'est prevu d'etre dans le prog! mais si tu en as besoin voici a quoi ca doit ressembler:

NumeroDeSemaine = Format(LaDate, "ww")
c'est une solution pour trouver

la je vais reprendre le boulo donc les modif se ferons peut etre attendre mais elles viendrons un jour!
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
14 janv. 2005 à 18:20
Félicitation pour les améliorations apportées.

Quelques petites remarques...

if....elseif....endif... peut avantageusement se remplacer par des Select...case....endselect. Plus facile a code et a lire

Dim a, b, c, d, e, f, g, h, i, j, k, l, m, n, p As Integer
Toutes les variables seront déclarées VARIANT excepté 'p' qui sera un integer. Ceci est propre a vb et moins.

lemois = Format(LaDate, "mmmm"). Encore une fois, les regional settings de windows peuvent différer d'une machine a l'autre. Il est préférable d'utiliser les # mois [1..12] plutot que les noms complet.

Le formulaire est plus grand que le calendrier affiché a l'écran, peut-on sans probleme en réduire la hauteur.
cs_finelame Messages postés 13 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 14 janvier 2005
14 janv. 2005 à 16:18
C'est possible d'avoir les numéro de semaine en plus avec ce petit calendrier ?
fkx Messages postés 44 Date d'inscription jeudi 29 janvier 2004 Statut Membre Dernière intervention 26 juin 2006
12 janv. 2005 à 12:38
OPTION EXPLICIT sert à dire à VB "Je veux que toutes les variables soient déclarées. Si une variable n'est pas déclarée, fais-moi une p*** d'erreur à la compilation !"

(En pratique, VB affichera un MsgBox disant : "Erreur de compilation : Variable non définie", ce qui est moins vulaire)

Par contre, ça n'empêche pas d'écrire :

Dim toto ' (variable de type Variant non explicite)

Ce qui, à mon humble avis, est dommage...
lucky2222 Messages postés 92 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 2 octobre 2006
12 janv. 2005 à 10:58
bonnes critiques!

quel est l'interet de mettre OPTION EXPLICIT au debut de chaque form/module? ca aporte quoi?

pour b, j'ai cherché dans le peu de MSDN en ma possetion, je n'ai pas trouvé comment mettre la corespondance de jour de la semaine! (signalé dans les commentaire du code! si quelqu'un a le code je suis prenneur

et pour la questino francais english, essais de mettre = format(ladate, "jjj") au lieu de format(ladate,"ddd")
je ne sais pas si ca resoudra le probleme, moi avec "jjj" mon pc n'en voilait pas! sinon il dois surement y avoir possibilité de mettre le format en francais, mais je ne connais pas! si quelqu'un connait, la aussi je suis prenneur!

je travaille sur le code pour mettre tout ca a jour!
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
12 janv. 2005 à 05:19
Plusieurs critique.

b comme d'autre variable n'est pas déclaré. Il n'est donc pas préinitialisé a zéro mais a null (variant).

Met OPTION EXPLICIT au debut de chaque form/module.

b est selon la valeur des 3 premiers caractère du nom de jour... Pourquoi ? Moi je suis en english united states... utilise les correspondance direct de 1 à offert par le systeme.

Au niveau de la clareté du code (indentation, decoupage en fonction de taille plus réduite, etc) du travaille a faire.

:-)
lucky2222 Messages postés 92 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 2 octobre 2006
11 janv. 2005 à 23:15
pour reganer du temps au chargement, supprimer les lignes

'tracage d'un petit grillage de fond
For a = Haut To bas Step 30
For c = Dx To Gx Step 30
Form1.Picture1.Circle (c, a), (2.7), RGB(180, 180, 250)
Next c
Next a

qui se trouve dans le module "essaiTableau" en debut de function
lucky2222 Messages postés 92 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 2 octobre 2006
11 janv. 2005 à 22:30
pour ton erreur "Subscript out of range"
met 1 point d'arret juste avant la ligne, et verifie que "b" a bien une valeur comprise entre 1 et 7
si oui, je ne comprend pas pourquoi, recherche pourquoi il n'a pas pris la valeur, si tu ne trouve pas, retelecharge le zip!
j'ai fais un essai en changant la resolution de l'afichage, ca ne change rien si ce n'est qu'on ne vois plus rien , mais le prog tourne!
a cette endroit, PosDx correspond a la position de la colone ou il doit ecrire! si il ne prend pas la valeur, verifie qui prend en compte le select case juste avant! il se peux que ce soit une question de minuscule
dans c'est cas la, remplace la ligne avant le sectc case
lejour = Format(LaDate, "ddd")
par
lejour = Lcase(Format(LaDate, "ddd"))
sinon je ne sais pas! tiens moi au courrant stp!
JoePatent Messages postés 171 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 20 juillet 2008
11 janv. 2005 à 21:33
Je ne peux executer ton projet.

J'obtiens l'erreur suivante :

Subscript out of range.

PosDx = Split("600;1100;1600;2100;2600;3100;3600", ";")(b - 1) 'on prend la distance du bord droit
fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007
11 janv. 2005 à 18:40
Il ne faut pas être chipotteur sur le design ;-)

--------------------
http://fg.logiciel.free.fr
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 janv. 2005 à 17:21
Ah non, en effet, elle te permettra pas de faire cà !

DarK Sidious
lucky2222 Messages postés 92 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 2 octobre 2006
11 janv. 2005 à 13:12
en utilisant SetWindowLayeredAttributs, le taux d'opacité s'effectura sur toute la forme? non?
ce que je voudrai faire, c'est de faire un degradé partant du bleu opaque vers un bleu transparent dans les cases
et la, SetWindowLayeredAttributs pourrai etre utilisé?
ne connaissant pas cette fonction,
puis je définir des games de bleu plus ou moins opaque?
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
11 janv. 2005 à 10:48
Utilise SetWindowLayeredAttributs pour définir une opacité de la feuille (par contre, ca ne marchera qu'à partir de Windows XP !)

DarK Sidious
Rejoignez-nous