CALENDRIER TRANSPARENT SUR LE BUREAU WINDOWS

Signaler
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
m2rtech
Messages postés
239
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
20 février 2012
-
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

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

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

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

Bonjour pas trouver comment utiliser ce script ?
arnohoho
Messages postés
78
Date d'inscription
mercredi 17 septembre 2003
Statut
Membre
Dernière intervention
24 août 2005

j'ai rien dis dèsolé

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

a+
arnohoho
Messages postés
78
Date d'inscription
mercredi 17 septembre 2003
Statut
Membre
Dernière intervention
24 août 2005

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

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

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

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

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

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

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

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

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

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

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

Il ne faut pas être chipotteur sur le design ;-)

--------------------
http://fg.logiciel.free.fr
cs_DARKSIDIOUS
Messages postés
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
92
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

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
15815
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
92
Utilise SetWindowLayeredAttributs pour définir une opacité de la feuille (par contre, ca ne marchera qu'à partir de Windows XP !)

DarK Sidious