Pure_anniv

Programmation d'applications complexes
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Pure_anniv

Message par Backup »

j'ai voulu faire un petit prg qui previens les anniversaires
avant j'utilisais celui de Ar-s
mais celui-ci présente a mes yeux 2 défauts

1 une fois installé , on ne peut apparemment pas le retirer de liste des prg
qui se lance automatiquement dans le registre ...ou alors j'ai pas trouvé ;)
j'ai du désinstaller avec regedit ...

2 une fois que son prg a fait son travail , il reste dans le Systray ..
a mon sens , ça n'a pas d'utilité ... ;)


alors ce matin, j'ai relevé mes manches pour faire un petit prg
quel pied Purebasic .. :)
Dernière modification par Backup le lun. 07/mars/2011 10:58, modifié 1 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pure_anniv

Message par Ar-S »

1 une fois installé , on ne peut apparemment pas le retirer de liste des prg
qui se lance automatiquement dans le registre ...ou alors j'ai pas trouvé ;)
j'ai du désinstaller avec regedit ...
En décochant "lancement auto" la clé est supprimée non ?

Sinon c'est sympa de partager ce petit bout de code.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Pure_anniv

Message par Backup »

Ar-S a écrit :En décochant "lancement auto" la clé est supprimée non ?
ha bah voila :) , j'avais meme pas vu :oops:
Sinon c'est sympa de partager ce petit bout de code.
c'est vraiment pas grand chose .. :)

mais ça peut permetre a certains de voir
comment avec un simple fichier texte
on pourrai aisement faire une minibase de données

j'adore la fonction Stringfield() , que je colle a toute les sauces :)
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pure_anniv

Message par Ar-S »

Dobro a écrit : mais ça peut permetre a certains de voir
comment avec un simple fichier texte
on pourrai aisement faire une minibase de données
j'adore la fonction Stringfield() , que je colle a toute les sauces :)
Moi je suis assez fan des fonctions "pref" de pb ^^ J'y ai juste ajouter ma procedure CountPrefgroup() qui lui manquait.


-----edit-----

Si la personne laisse son pc allumé une nuit parce qu'il télécharge un.... gros iso linux Image, le lendemain il risque de zapper de relancer le programme et éventuellement de louper l'anniv de son conjoint ! Pire, cela risque d'entrainer la destruction de son couple, puis de dépression en dépression, il perdra son boulot et finira par picoler et sombrer dans la folie..

Il est super dangereux ce soft ! Image
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Pure_anniv

Message par Backup »

Dobro a écrit : c'est une base , vous pouvez éventuellement coder l'ajout de la prise en compte
des fêtes , de l'alerte X jours avant , etc .... :)
:mrgreen:
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pure_anniv

Message par Ar-S »

En fait j'ai sorti ma bulle parce que c'est vraiment ce qui m'a pris le choux pour LDVMR.
Le programme doit vérifier l'heure et la date en tache de fond et comparer avec sa base contacte. Si un évènement est à fêter (si le jour est un jour anniversaire), il le signale. Ensuite il doit évidement poursuivre le contrôle au cas ou l'utilisateur le laisserai tourner. (et il prend en compte la prise en charge X jours avant) :P
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
DarkIchigo
Messages : 62
Inscription : lun. 22/mars/2010 11:34

Re: Pure_anniv

Message par DarkIchigo »

Dobro a écrit :...
mais ça peut permetre a certains de voir
comment avec un simple fichier texte
on pourrai aisement faire une minibase de données

j'adore la fonction Stringfield() , que je colle a toute les sauces :)
Moi je veux bien voir comment ça marche, c'est justement ce que je voudrai comprendre (je sais, je suis un peu long ^^)
le seul problème c'est que je vois pas ton code ^^ .

Si vous pouvez m'aider svp.
Merci.
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pure_anniv

Message par Ar-S »

Il veut dire :

Code : Tout sélectionner

Separateur$=","
For k=1 To 4
  Debug StringField("Paul,Bob,Toto,Bernard", k, separateur$)
Next
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
DarkIchigo
Messages : 62
Inscription : lun. 22/mars/2010 11:34

Re: Pure_anniv

Message par DarkIchigo »

C'est pour ca que je demandais le code complet de son utilisation (pas forcément complet du programme)
car avec mon niveau de codage je comprend l'exemple mais ne sais pas l'utiliser pour me faire un genre de
fichier .pref (m'en fou qu'il soit lisible).
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pure_anniv

Message par Ar-S »

dans la doc tu regardes l'exemple readfile.
ça te donne en le mixant avec le miens la solution :

Imagine que ton fichier Texte.txt contienne (sans les guillemets) : "LSI,Dobro,G-ROM,Ar-S,KCC,Venom,Flaith,Djes,Ollivier,et les autres que j'ai oublié"

Code : Tout sélectionner

;Ar-S
If ReadFile(0, "Texte.txt")  ; Si le fichier peut être lu , on continue...
  ContenuTotal$=""
  While Eof(0) = 0           ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File') 
    Ligne$=ReadString(0)      ; Affiche ligne par ligne le contenu du fichier
    ContenuTotal$+Ligne$        ; Ici on englobe le contenu de chaque ligne
  Wend
  CloseFile(0)               ; Ferme le fichier précédemment ouvert
  
	Separateur$=","
  NbreDeSeparateur=CountString(ContenuTotal$,",")+1 ; tu choppes le nombres de "," et tu ajoutes 1 pour le dernier nom 
	For k=1 To NbreDeSeparateur
    Debug StringField(ContenuTotal$, k, Separateur$) 
  Next 
  
Else
  MessageRequester("Information","Impossible d'ouvrir le fichier!")
EndIf
Voilou.
J'espère que ça répondra à ton soucis.

Note aussi que les commandes Pref de PB marchent aussi très bien.
ClosePreferences
CreatePreferences
ExaminePreferenceGroups
ExaminePreferenceKeys
NextPreferenceGroup
NextPreferenceKey
OpenPreferences
PreferenceComment
PreferenceGroup
PreferenceGroupName
PreferenceKeyName
PreferenceKeyValue
ReadPreferenceDouble
ReadPreferenceFloat
ReadPreferenceInteger
ReadPreferenceLong
ReadPreferenceQuad
ReadPreferenceString
RemovePreferenceGroup
RemovePreferenceKey
WritePreferenceDouble
WritePreferenceFloat
WritePreferenceInteger
WritePreferenceLong
WritePreferenceQuad
WritePreferenceString
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
DarkIchigo
Messages : 62
Inscription : lun. 22/mars/2010 11:34

Re: Pure_anniv

Message par DarkIchigo »

Merci pour ton exemple, je vais essayer de mettre en application pourvoir
si c'est le carnage ou si j'y arrive :)
DarkIchigo
Messages : 62
Inscription : lun. 22/mars/2010 11:34

Re: Pure_anniv

Message par DarkIchigo »

Bon du coup je m'en suis sorti avec les pref, ca me parait plus simple et plus adapté a mon besoin.

Merci du coup de main !
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pure_anniv

Message par Ar-S »

Content que tu t'en sois tiré. Faut que si les commandes PB de prefs génère des codes un poil longs, elles restent simple à comprendre et font le boulot qu'on leur demande.

Voilà une procédure que j'ai créé (et qui manque aux commandes prefs)
Elle permet de renvoyer le nombre de groupes d'un fichier pref donné :

Code : Tout sélectionner

;- CountPrefGroups(nom_du_fichier_pref$)
; By Ar-S / 2009 - PB.4.xx for Windows >= XP
; Permet de renvoyer le nombre de groupes contenus dans un fichier Pref.
; Si le fichier Pref n'est pas trouvé, la valeur sera de -1

Procedure.i CountPrefGroups(file$)
  If OpenPreferences(file$)
    If ExaminePreferenceGroups()
      NumGroup=0
      While NextPreferenceGroup()
        NumGroup=NumGroup+1
      Wend
    Else
      NumGroup=0
    EndIf
    ClosePreferences() 
  Else
    NumGroup = -1
  EndIf
  ProcedureReturn NumGroup
EndProcedure

 ;EXAMPLE ---

Resultat = CountPrefGroups("testpref.txt")
Debug Resultat
Tu peux télécharger la lib complète (et l'aide/exemple) ICI

Voilou.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
DarkIchigo
Messages : 62
Inscription : lun. 22/mars/2010 11:34

Re: Pure_anniv

Message par DarkIchigo »

Merci, je garde dans un coin, je partagerai mon code si jamais j'arrive à régler les quelques bugs :)

Mais faudra pas rigoler, c'est surement pas très bien codé par rapport à vous :)
Répondre