petit problema de couler de fond

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
claudibus
Messages : 11
Inscription : mar. 22/janv./2008 16:00

petit problema de couler de fond

Message par claudibus »

bonsoir
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
merci a toutes les tètes pensentent de ce forum
bonne soirée
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Je n'ai pas compris quel probleme tu avais... A part ca, si c'est pour ta mere, ne la vouvoies pas :wink:
claudibus
Messages : 11
Inscription : mar. 22/janv./2008 16:00

Message par claudibus »

merci de ta reponse

mon probleme est : consolecolor (10,7) chez moi vert sur font noir

consolecolor (10,0) vert sur fond gris


Comme je vient de rejoindre le communautée de PureBasic e( et oui a peine 15 jours), j'essaye toutes les commandes directement sur une console les fenetre windows se sera piur plus tard

salutation
Avatar de l’utilisateur
SPH
Messages : 4949
Inscription : mer. 09/nov./2005 9:53

Message par SPH »

Ha ! en effet, chez moi c'est inversé. J'ai bien une idée mais tu ne l'accepteras pas... Bon, je te la soumet en message privé :wink:
Répondre