voici un petit programme que j'ai fais pour ma Maman (et oui meme a 52ans ma maman a 80 ans et elle s'est acheté un portable l'année dernière ) mais la couleur du fond de la fenetre dos est inversé, le ConsoleColor () est inverser cad 10,0 correspond a 10,7 chez moi ???? et si une ame charitable peut me donnée des avis sur ce petit programme il est le bienvenu
Code : Tout sélectionner
OpenConsole()
EnableGraphicalConsole(1)
ConsoleColor (10,0) ; Couleur vert sur fond noir chez moi 10,7 ???
ClearConsole ()
version$="cpv 2008 V3.1"
chiffre0$="1111100110011001100110011111" ;definition des chiffres
chiffre1$="0001001100010001000100010001"
chiffre2$="1111000100011111100010001111"
chiffre3$="1111000100010111000100011111"
chiffre4$="1000100010101111001000100010"
chiffre5$="1111100010001111000100011111"
chiffre6$="1000100010001111100110011111"
chiffre7$="1111000100010011000100010001"
chiffre8$="1111100110011111100110011111"
chiffre9$="1111100110011111000100011111"
point$=("219") ;point par défaut
posy=10 ;coordonée de l'heure
positionDate=18
positiony=20
ligne1$="Echap pour quitter - 'C' pour changer le caratere de l'heure" ;petite aide
ligne2$=version$+" pour Maman"+" 'J' pour calcul du jour de la semaine"
Gosub affichepage ;pour afficher les lignes de texte
ConsoleCursor (0) ; pas de curseur
Repeat ; boucle principale
chi$= FormatDate("%hh:%ii:%ss", Date()) ;lecture de l heure
date$=FormatDate("%yyyy,%mm,%dd", Date()) ;lecture de la date
a$=Inkey() ; test les touche du clavier
numtouche=RawKey()
If numtouche=27:End:EndIf ;fin du programme
If a$="c": Gosub point: EndIf ; change le caractere du point
If a$=" ":Gosub couleur :EndIf ; change la couleur du fond car chez moi probleme de couleur ????
If a$="j": Gosub jourDeSemaine:EndIf ; calule le jour de la semaine d'apres la date
jour$=Mid(date$,9,2) ;test le jour, le mois et l'annee
mois$=Mid(date$,6,2):moi=Val(mois$)
annee$=Mid(date$,1,4)
jour=Val(jour$)
mois=moi
annee=Val(annee$)
Gosub affichejour: ; de la semaine
Gosub affichemois: ; du Mois
ConsoleLocate(positionDate,positiony):Print(joursemaine$) ; affiche le jj.mm.aaaa sous l'heure et calcule
; le deplacement
ConsoleLocate(positionDate+Len(joursemaine$)+1,positiony):Print(jour$)
ConsoleLocate(positionDate+Len(joursemaine$+jour$)+2,positiony):Print(moi$)
ConsoleLocate(positionDate+Len(joursemaine$+jour$+moi$)+3,positiony):Print (annee$)
chi=Val(Mid(chi$,1,1)):posx=10:Gosub test ; determination de l'l'heure et affichage
chi=Val(Mid(chi$,2,1)):posx=15:Gosub test
chi=Val(Mid(chi$,4,1)):posx=25:Gosub test
chi=Val(Mid(chi$,5,1)):posx=30:Gosub test
chi=Val(Mid(chi$,7,1)):posx=40:Gosub test
chi=Val(Mid(chi$,8,1)):posx=45:Gosub test
ForEver
test: ; affiche l'heure en caractere ( point )
Select chi
Case 0
affiche$=chiffre0$
Case 1
affiche$=chiffre1$
Case 2
affiche$=chiffre2$
Case 3
affiche$=chiffre3$
Case 4
affiche$=chiffre4$
Case 5
affiche$=chiffre5$
Case 6
affiche$=chiffre6$
Case 7
affiche$=chiffre7$
Case 8
affiche$=chiffre8$
Case 9
affiche$=chiffre9$
EndSelect
For i=1 To 28 ; lire les emplacement dans chiffre0$ 28 points par caractere
num$=Mid (affiche$,i,1)
If num$ = "1"
ConsoleLocate (posx+x,posy+y) ; affiche l'heure
Print (Chr(Val(point$)))
Else
ConsoleLocate (posx+x,posy+y)
Print (" ")
EndIf
x=x+1
If x=4
x=0
y=y+1
If y=7
y=0
EndIf
EndIf
Next
Return
affichemois: ; affiche le mois en lettre
Select moi
Case 1
moi$="Janvier"
Case 2
moi$="Fevrier"
Case 3
moi$="Mars"
Case 4
moi$="Avril"
Case 5
moi$="Mai"
Case 6
moi$="Juin"
Case 7
moi$="Juillet"
Case 8
moi$="Aout"
Case 9
moi$="Septembre"
Case 10
moi$="Octobre"
Case 11
moi$="Novembre"
Case 12
moi$="Decembre"
EndSelect
Return
point: ; change la point du caractere de l'heure
ClearConsole ()
For i=33 To 254
j=j+1
Print(Chr(i)+" "+Str(i)+" ")
If j=14
PrintN("")
j=0
EndIf
Next
PrintN(""):PrintN("")
Print ("choix du point a afficher pour l'heure point 219 par defaut;")
point$=Input ()
If point$="" Or Val(point$)<33:point$="219":EndIf
ClearConsole ()
PrintN (ligne1$)
Print (ligne2$)
Return
couleur: ; parceque chez moi le noir de fond fonctionne avec 7 ?????????
coul=coul+1
If coul>1: coulT=10:coulF=7:coul=0: EndIf
If coul=1: coulT=10:coulF=0:EndIf
ConsoleColor (coulT,coulF)
ClearConsole()
Gosub affichepage
ConsoleCursor(0)
Return
affichejour: ; de la semaine d'apres un algorithme de Mike Keith
jour=Val(jour$)
moiss = Val(mois$)
annee=Val(annee$)
afficheJourSemaine:
If moiss < 3
annee2=annee-1
datesemaine=(((23*moiss)/9) + jour + 4 + annee + (annee2/4) - (annee2/100) + (annee2/400)) %7
ElseIf moiss >=3
annee2=annee
datesemaine=(((23*moiss)/9) + jour + 4 + annee + (annee2/4) - (annee2/100) + (annee2/400)-2)%7
EndIf
Select datesemaine
Case 0
joursemaine$="Dimanche"
Case 1
joursemaine$="Lundi"
Case 2
joursemaine$="Mardi"
Case 3
joursemaine$="Mercredi"
Case 4
joursemaine$="Jeudi"
Case 5
joursemaine$="Vendredi"
Case 6
joursemaine$="Samedi"
EndSelect
Return
jourDeSemaine: ; pour saisir le jour, mois, année et calculer le jour en chaine de caractère
ClearConsole()
ConsoleCursor (1)
PrintN("Calcul un jour de la semaine a partir d'une date en jj:mm:aaaa")
PrintN("")
Print ("jour : "):jour$=Input() : jour=Val(jour$)
Print ("mois : "):moiss$=Input(): moiss=Val(moiss$)
Print ("annee : "):annee$=Input(): annee=Val(annee$)
Gosub afficheJourSemaine
moi=moiss ; parceque je n'avais pas reflechie au nom des variables, il etait 2h du mat et j'en avais marre
Gosub affichemois:
PrintN(""):PrintN("")
Print("le " + jour$ + " " + moi$ + " " + annee$ +" est un " + joursemaine$)
PrintN(""): PrintN ("")
Print ("Appuyez sur 'Entree' pour continuer"): a$=Input()
ClearConsole()
ConsoleCursor (0)
PrintN (ligne1$)
Print (ligne2$)
Return
affichepage:
PrintN (ligne1$)
Print (ligne2$)
Return
bonne soirée