Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| GestCompte | |
|
+4Minibug Klaus Jean Claude Yannick 8 participants | |
Auteur | Message |
---|
Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: Merci pour vos réponses sur les DLL Mer 20 Avr 2016 - 9:48 | |
| Merci pour vos réponses sur les DLL .
Je vais me pencher sur elles en espérant ne pas tomber.
Bonne journée ensoleillée aux PANORAMICIEN(NE)S. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 20 Avr 2016 - 10:09 | |
| Le code avec la prise en compte des bordures : - Code:
-
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' Main ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
hide 0 variables() constantes() labels() init() gui() show 0 end
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' DECLARATIONS ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub variables() dim no% dim EtatLog% dim EtatAppli% dim An1$ dim ActiveListe$ end_sub
sub constantes() dim_local i% ' dossier courant dim path$ : path$ = dir_current$ if right$(path$,1)="\" : path$=left$(path$,len(path$)-1) : end_if path$=path$+"\" ' dossiers annexes dim DirInf$ : DirInf$ = path$+"inf\" dim DirFil$ : DirFil$ = path$+"files\" dim DirImg$ : DirImg$ = path$+"img\" ' fichiers dim ListImput$ : ListImput$ = DirInf$+"ListImput.inf" dim ListLib$ : ListLib$ = DirInf$+"ListLib.inf" dim ListMdp$ : ListMdp$ = DirInf$+"ListMdp.inf" dim CptParam$ : CptParam$ = DirInf$+"Param.inf" ' objets panoramic ' form principale dim mm% : no%=no%+1 : mm%=no% dim sm%(50) : for i%=1 to 50 : no%=no%+1 : sm%(i%)=no% : next i% dim pan%(5) : for i%=0 to 5 : no%=no%+1 : pan%(i%)=no% : next i% dim Table%(2) : for i%=1 to 2 : no%=no%+1 : Table%(i%)=no% : next i% dim feuil%(12): for i%=1 to 12 : no%=no%+1 : feuil%(i%)=no% : next i% dim Gril%(12) : for i%=1 to 12 : no%=no%+1 : Gril%(i%)=no% : next i% dim MemoEtat% : no%=no%+1 : MemoEtat%=no% ' form a propos dim Fen_APP% : no%=no%+1 : Fen_APP%=no% dim AlphAPP% : no%=no%+1 : AlphAPP%=no% ' form compte dim Fen_CPTE% : no%=no%+1 : Fen_CPTE%=no% dim ContCpte%(4) : for i%=1 to 4 : no%=no%+1 : ContCpte%(i%)=no% : next i% dim butValidCpte%: no%=no%+1 : butValidCpte%=no% ' form opération dim Fen_OPE% : no%=no%+1 : Fen_OPE%=no% ' form listes dim Fen_LIST% : no%=no%+1 : Fen_LIST%=no% dim listListe%: no%=no%+1 : listListe%=no% dim butListe% : no%=no%+1 : butListe%=no% end_sub
sub labels() label clic,change,dclic,close0,closeFormAnnexe,fin end_sub
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' INITIALISATIONS ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub init() if dir_exists(DirInf$)=0 then dir_make DirInf$ if dir_exists(DirFil$)=0 then dir_make DirFil$ if dir_exists(DirImg$)=0 then dir_make DirImg$
DefineEtatLog()
end_sub
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' INTERFACE UTILISATEUR ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub gui() dim_local h%,w%,i%,month$,sep%
month$="Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre,"
height 0,700 width 0,1200 top 0,(screen_y-height(0))/2 left 0,(screen_x-width(0))/2 caption 0,"Gest-Compte Facile"
main_menu mm% sub_menu sm%(1) : parent sm%(1),mm% : caption sm%(1),"Fichiers" sub_menu sm%(2) : parent sm%(2),mm% : caption sm%(2),"Listes" sub_menu sm%(3) : parent sm%(3),mm% : caption sm%(3),"Affichage" sub_menu sm%(4) : parent sm%(4),mm% : caption sm%(4),"Opérations" sub_menu sm%(5) : parent sm%(5),mm% : caption sm%(5),"Compte" : on_click sm%(5),clic sub_menu sm%(6) : parent sm%(6),mm% : caption sm%(6),"A Propos..." : on_click sm%(6),clic sub_menu sm%(7) : parent sm%(7),mm% : caption sm%(7),"Aide"
sub_menu sm%(10) : parent sm%(10),sm%(1) : caption sm%(10),"Ouvrir" sub_menu sm%(11) : parent sm%(11),sm%(1) : caption sm%(11),"Fermer" sub_menu sm%(12) : parent sm%(12),sm%(1) : caption sm%(12),"-" sub_menu sm%(13) : parent sm%(13),sm%(1) : caption sm%(13),"Exporter" sub_menu sm%(14) : parent sm%(14),sm%(1) : caption sm%(14),"-" sub_menu sm%(15) : parent sm%(15),sm%(1) : caption sm%(15),"Imprimer" sub_menu sm%(16) : parent sm%(16),sm%(1) : caption sm%(16),"-" sub_menu sm%(17) : parent sm%(17),sm%(1) : caption sm%(17),"Quitter"
sub_menu sm%(18) : parent sm%(18),sm%(2) : caption sm%(18),"Imputations" : on_click sm%(18),clic sub_menu sm%(19) : parent sm%(19),sm%(2) : caption sm%(19),"Libellés" : on_click sm%(19),clic sub_menu sm%(20) : parent sm%(20),sm%(2) : caption sm%(20),"Modes de paiement": on_click sm%(20),clic
sub_menu sm%(26) : parent sm%(26),sm%(3) : caption sm%(26),"Comptes" : on_click sm%(26),clic sub_menu sm%(27) : parent sm%(27),sm%(3) : caption sm%(27),"Etat" : on_click sm%(27),clic sub_menu sm%(28) : parent sm%(28),sm%(3) : caption sm%(28),"Graphique" : on_click sm%(28),clic
sub_menu sm%(21) : parent sm%(21),sm%(4) : caption sm%(21),"Crédit" : on_click sm%(21),clic sub_menu sm%(22) : parent sm%(22),sm%(4) : caption sm%(22),"Débit" : on_click sm%(22),clic
sub_menu sm%(23) : parent sm%(23),sm%(10) : caption sm%(23),"N" sub_menu sm%(24) : parent sm%(24),sm%(10) : caption sm%(24),"N-1" sub_menu sm%(25) : parent sm%(25),sm%(10) : caption sm%(25),"Archive" ActiveMenu() ' message str$(EtatLog%)
' mesure de l' espace de travail defineworkspace(0) h%=wsh% w%=wsw% ' panel de la toolbar panel pan%(1) height pan%(1),26 width pan%(1),w% top pan%(1),0 left pan%(1),0 color pan%(1),254,211,110
' panel de visualisation du classeur panel pan%(2) height pan%(2),h%-52 width pan%(2),w% top pan%(2),26 left pan%(2),0 color pan%(2),254,234,185 hide pan%(2)
' classeur mensuel Container_Tab Table%(1) parent Table%(1),pan%(2) height Table%(1),height(pan%(2)) width Table%(1),width(pan%(2)) top Table%(1),0 left Table%(1),0
for i%=1 to 12 sep%= instr(month$,",") Tab feuil%(i%) parent feuil%(i%),Table%(1) caption feuil%(i%),left$(month$,sep%-1) month$=right$(month$,len(month$)-sep%) Grid Gril%(i%) parent Gril%(i%),feuil%(i%) height Gril%(i%),height(Table%(1))-28 width Gril%(i%),width(Table%(1))-10 top Gril%(i%),0 left Gril%(i%),0 grid_row_fixed Gril%(i%),1 grid_column_fixed Gril%(i%),0 grid_row Gril%(i%),50 grid_column Gril%(i%),9 grid_one_column_width Gril%(i%),1,50 grid_write Gril%(i%),1,1,"N°" grid_one_column_width Gril%(i%),2,100 grid_write Gril%(i%),1,2,"Date" grid_one_column_width Gril%(i%),3,150 grid_write Gril%(i%),1,3,"Imputation" grid_one_column_width Gril%(i%),4,480 grid_write Gril%(i%),1,4,"Libellé" grid_one_column_width Gril%(i%),5,80 grid_write Gril%(i%),1,5,"Mode" grid_one_column_width Gril%(i%),6,100 grid_write Gril%(i%),1,6,"Débits" grid_one_column_width Gril%(i%),7,100 grid_write Gril%(i%),1,7,"Crédits" grid_one_column_width Gril%(i%),8,40 grid_write Gril%(i%),1,8,"P" grid_one_column_width Gril%(i%),9,40 grid_write Gril%(i%),1,9,"Doc" next i%
' panel de visualisation des états panel pan%(3) height pan%(3),h%-52 width pan%(3),w% top pan%(3),26 left pan%(3),0 color pan%(3),254,234,185 hide pan%(3) memo MemoEtat% parent MemoEtat%,pan%(3) full_space MemoEtat% bar_both MemoEtat%
' panel de visualisation des graphiques panel pan%(4) height pan%(4),h%-52 width pan%(4),w% top pan%(4),26 left pan%(4),0 color pan%(4),254,234,185 hide pan%(4)
' panel de la statutbar panel pan%(5) height pan%(5),26 width pan%(5),w% top pan%(5),h%-26 left pan%(5),0 color pan%(5),254,211,110 end_sub
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub FormLISTE(type%) dim_local h%,w% if object_exists(Fen_LIST%)=1 show Fen_LIST% else form Fen_LIST% height Fen_LIST%,350 width Fen_LIST%,250 top Fen_LIST%,(screen_y-height(Fen_LIST%))/2 left Fen_LIST%,(screen_x-width(Fen_LIST%))/2 on_close Fen_LIST%,closeFormAnnexe defineworkspace(Fen_LIST%) h%=wsh% w%=wsw% list listListe% parent listListe%,Fen_LIST% height listListe%,h%-35 width listListe%,w% top listListe%,0 left listListe%,0 button butListe% parent butListe%,Fen_LIST% height butListe%,24 width butListe%,24 top butListe%,h%-(height(butListe%)+5) left butListe%,w%-(width(butListe%)+5) caption butListe%,"+" cursor_point butListe% on_click butListe%,clic end_if to_foreground Fen_LIST% inactive 0 if type%=1 caption Fen_LIST%,"Imputations" ActiveListe$=ListImput$ else if type%=2 caption Fen_LIST%,"Libellés" ActiveListe$=ListLib$ else caption Fen_LIST%,"Modes de paiement" ActiveListe$=ListMdp$ end_if end_if clear listListe% if file_exists(ActiveListe$)=1 : file_load listListe%,ActiveListe$ : end_if end_sub
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub FormOPE(type%) dim_local h%,w% if object_exists(Fen_OPE%)=1 show Fen_OPE% else form Fen_OPE% height Fen_OPE%,350 width Fen_OPE%,500 top Fen_OPE%,(screen_y-height(Fen_OPE%))/2 left Fen_OPE%,(screen_x-width(Fen_OPE%))/2 on_close Fen_OPE%,closeFormAnnexe defineworkspace(Fen_OPE%) h%=wsh% w%=wsw% end_if to_foreground Fen_OPE% inactive 0 if type%=1 caption Fen_OPE%,"Opération [Crédit]" else caption Fen_OPE%,"Opération [Débit]" end_if end_sub
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub FormCPTE() dim_local h%,w% if object_exists(Fen_CPTE%)=1 show Fen_CPTE% else form Fen_CPTE% height Fen_CPTE%,500 width Fen_CPTE%,750 top Fen_CPTE%,(screen_y-height(Fen_CPTE%))/2 left Fen_CPTE%,(screen_x-width(Fen_CPTE%))/2 caption Fen_CPTE%,"Compte" on_close Fen_CPTE%,closeFormAnnexe defineworkspace(Fen_CPTE%) h%=wsh% w%=wsw% container ContCpte%(1) parent ContCpte%(1),Fen_CPTE% height ContCpte%(1),(h%-15)/2 width ContCpte%(1),(w%-15)/2 top ContCpte%(1),5 left ContCpte%(1),5 caption ContCpte%(1)," Banque " container ContCpte%(2) parent ContCpte%(2),Fen_CPTE% height ContCpte%(2),(h%-15)/2 width ContCpte%(2),(w%-15)/2 top ContCpte%(2),5 left ContCpte%(2),(10+width(ContCpte%(1))) caption ContCpte%(2)," Titulaire " container ContCpte%(3) parent ContCpte%(3),Fen_CPTE% height ContCpte%(3),(h%-15)/2 width ContCpte%(3),w%-250 top ContCpte%(3),(10+height(ContCpte%(1))) left ContCpte%(3),5 caption ContCpte%(3)," Compte " button butValidCpte% parent butValidCpte%,Fen_CPTE% top butValidCpte%,h%-(height(butValidCpte%)+5) left butValidCpte%,w%-(width(butValidCpte%)+5) caption butValidCpte%,"Enregistrer" cursor_point butValidCpte% on_click butValidCpte%,clic end_if to_foreground Fen_CPTE% inactive 0 end_sub
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub FormAPP() dim_local h%,w% if object_exists(Fen_APP%)=1 show Fen_APP% else form Fen_APP% height Fen_APP%,200 width Fen_APP%,350 top Fen_APP%,(screen_y-height(Fen_APP%))/2 left Fen_APP%,(screen_x-width(Fen_APP%))/2 caption Fen_APP%,"A Propos..." on_close Fen_APP%,closeFormAnnexe
defineworkspace(Fen_APP%) h%=wsh% w%=wsw% alpha AlphAPP% parent AlphAPP%,Fen_APP% top AlphAPP%,10 left AlphAPP%,10 caption AlphAPP%,"Gest-Comptes Facile"+chr$(13)+chr$(13)+"Créé par ygeronimi - 19/04/2016" end_if to_foreground Fen_APP% inactive 0 end_sub
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' MENUS ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
clic: if number_click = sm%(5) FormCPTE() return end_if if number_click = sm%(6) FormAPP() return end_if if number_click = sm%(18) FormLISTE(1) return end_if if number_click = sm%(19) FormLISTE(2) return end_if if number_click = sm%(20) FormLISTE(3) return end_if if number_click = sm%(21) FormOPE(1) return end_if if number_click = sm%(22) FormOPE(0) return end_if if number_click = sm%(26) AffichagePanel(2) return end_if if number_click = sm%(27) AffichagePanel(3) return end_if if number_click = sm%(28) AffichagePanel(4) return end_if if object_exists(Fen_LIST%)=1 if number_click = butListe% AddToListe() return end_if end_if if object_exists(Fen_CPTE%)=1 if number_click = butValidCpte% SaveInfoCompte() ActivePrincipale() DefineEtatLog() ActiveMenu() hide Fen_CPTE% return end_if end_if return
change: return
dclic: return
close0: return
closeFormAnnexe: ActivePrincipale() return
fin: return
' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ' FONCTIONS ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub ActiveMenu() dim_local i%,annee% annee%=val(right$(date$,4)) if EtatLog%=0 caption sm%(23),str$(annee%) inactive sm%(3) inactive sm%(4) for i%=10 to 16 inactive sm%(i%) next i% else if EtatLog%=1 caption sm%(23),str$(annee%) caption sm%(24),str$(annee%-1) inactive sm%(3) inactive sm%(4) inactive sm%(24) inactive sm%(25) for i%=11 to 16 inactive sm%(i%) next i% else caption sm%(23),str$(annee%) caption sm%(24),str$(annee%-1) inactive sm%(3) inactive sm%(4) for i%=11 to 16 inactive sm%(i%) next i% end_if end_if end_sub
sub AffichagePanel(N%) dim_local i% for i%=2 to 4 hide pan%(i%) mark_off sm%(i%+24) next i% show pan%(N%) Mark_on sm%(N%+24) end_sub
sub ActivePrincipale() Active 0 end_sub
sub AddToListe() if message_input("Ajouter","Nom : ","")=1 if message_text$<>"" item_add listListe%,message_text$ sort_on listListe% file_save listListe%,ActiveListe$ end_if end_if end_sub
sub DefineEtatLog() dim_local annee% annee%=val(right$(date$,4)) if file_exists(CptParam$)=0 EtatLog%=0 else An1$=DirFil$+str$(annee%-1)+"\" if dir_exists(An1$)=0 EtatLog%=1 else EtatLog%=2 end_if end_if end_sub
sub defineworkspace(P%) if variable("wsh%")=0 then dim wsh% if variable("wsw%")=0 then dim wsw% panel pan%(0) if P%<>0 : parent pan%(0),P% : end_if full_space pan%(0) wsh%=height(pan%(0)) wsw%=width(pan%(0)) delete pan%(0) end_sub
sub SaveInfoCompte() end_sub J' espère avoir résolu le problème... | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: GestCompte Mer 20 Avr 2016 - 11:30 | |
| Oui c'est bon Ygeronimi, chez moi ça marche.
Ta SUB defineworkspace(P%) fonctionne parfaitement, et vu comment tu l'as faite ça doit marcher sur n'importe quel OS et n'importe quel PC.
Je suppose que la différence entre 2 PC sous W10 doit dépendre du thème choisi dans les options d'affichage.
| |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: Externaliser les déclarations dans un fichier Mer 20 Avr 2016 - 12:19 | |
| J'avais pensé externaliser les lignes de déclarations et descriptions d'objets qui prennent de la place alors que c'est ce que je change le moins en créant un fichier .dll dans le même répertoire que le programme principal. J'ai appelé mon fichier dll par dll_on mais Windows n'en veut pas WINDOWS EST MECHANT. Y a-t-il un moyen de faire autrement ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 20 Avr 2016 - 12:51 | |
| @ Jean Claude,
En fait, la sub renvoie les dimensions de l' espace de travail. Comme ca, peut importe les dimensions des bordures.
@ Ouf ca passe,
Windows n' est pas méchant, il est bête. Pour qu' un fichier soit une dll, il faut l' enregistrer comme tel. Il ne suffit pas de lui donner l' extension *.dll, cela serait trop simple.
Pour faire ce que tu veux, et si j' ai bien compris. Tu veux que la partie "Interface" soit dans un fichier propre. Pour ceci, tu crées un fichier, exemple : "GUI.bas" Dans ce fichier, tu crées ton interface avec tout tes objets.
Dans ton fichier d' origine que j' appellerai "MAIN.bas" tu inclus ton fichier "GUI.bas" par la directive #INCLUDE "GUI.bas" à l' endroit où doit se trouver ton interface si tu ne te sers pas des procédures.
Pour exemple, si cela peut en être un, je vais mettre un Zip de cette version de Gest-Compte comme il est chez moi pour le travailler. Le fichier sera : GFC2.zip Ouvres les six fichiers *.bas dans l' ordre suivant : MAIN DEC INI GUI MEN FCT ...et observes comment j' ai fait.
Edit : Petite précision. Pour lancer l' appli, il te faut sélectionner l' onglet du fichier Main.bas avant. C' est le fichier de référence ou source principale. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: GestCompte Mer 20 Avr 2016 - 17:55 | |
| Pour ne pas spammer ce topic, je réponds ici | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Jeu 21 Avr 2016 - 19:22 | |
| J' ai mis mon zip à jour sur le webdav. Il ne calcule encore rien mais comme je disais, sans kgf, c' est plus long. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 23 Avr 2016 - 21:20 | |
| J' ai mis le zip à jour sur mon webdav GCF2.zip. L' application en "tout Panoramic" commence à être fonctionnelle. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: GestCompte Sam 23 Avr 2016 - 21:26 | |
| Je vais regarder ça. Il semble que cette fois, tu vas plus vers l'usine à gaz que ta première version. C'est pas un reproche, juste une constatation. Bon courage. A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 24 Avr 2016 - 5:31 | |
| Je ne pense pas, les fonctions sont presque les mêmes. J' ai juste ajouté un "état" qui peut en appeler d' autres... Mais le fait de tout faire en Panoramic rallonge considérablement le nombre de lignes de code. J' ai créé un bug. Mes opérations ne se font plus correctement. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: GestCompte Dim 24 Avr 2016 - 9:57 | |
| J'ai fait un tout petit test (2 opérations), je n'ai pas trouvé de bug. Tu a droit à 7800 lignes de code (c'est ce que fait le mien, que je n'ai pas publié car trop personnalisé) Plusieurs pistes et avertissements: 1) Tel quel, tu ne gères qu'un seul compte. Si c'est ce que tu as prévu, alors l'avertissement ci-dessous n'a pas d'intérêt. - Sinon, il faut que tes dossiers reprennent le nom du compte (Exemple: MaBanque 2016) - il faut faire apparaître le nom du compte en service dans la barre d'état. 2) pour la saisie de la date, tu pourrais faire apparaître la date du jour par défaut . 3) Remarque: la saisi d'une nouvelle opération dans le même mois, antérieure en date à (aux) l'opération précédente s'affiche après les autres. 4) L'enregistrement d'une nouvelle opération n'est pas définitive. Si tu as une coupure de courant avant de fermer le programme toutes les nouvelles opérations sont perdues. Je sais que c'est en cours de codage, donc ces remarques tu les as peut-être prévues, sinon ça peut te rendre service. A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 24 Avr 2016 - 13:20 | |
| L' appli ne gèrera qu' un compte. ( Quand on est fauché, un seul compte suffit )Pour le reste, j' y ai pensé, c' était même en cours jusqu' à ce que ma variable RetFormat$ me renvoie une valeur erronée lors de l' enregistrement d' une opération. exemple débit 1.66 devient 44.00 j' ai du faire un croisement de procédure malheureux quelque part | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: GestCompte Dim 24 Avr 2016 - 13:53 | |
| Curieux, je n'arrive pas à reproduire le bug que tu signales Il s'est peut-être réparé tout seul. A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: GestCompte Dim 24 Avr 2016 - 14:57 | |
| D'un autre côté il faut positiver !
Si tu as 1,66 € sur ton compte et que ton programme les transforme en 44 €, la vie est belle ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 24 Avr 2016 - 16:08 | |
| @ JL35, Moi je veux bien positiver mais, dans le cas présent, c' était en débit donc pas très intéressant... Bon, j' ai trouvé le problème et c' est résolu même si ce n' est pas encore à jour sur mon webdav. | |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: Pourquoi ca ne passe pas ? Lun 25 Avr 2016 - 10:06 | |
| @ Maître Ygeronimi - Code:
-
' ========================== ' READ,DATA,RESTORE,FOR,NEXT ' ========================== error_french variables() end sub variables() Print "variables" Dim a$(30),A%(30) dim i% Label data_A$ Label data_A% Data_A$: Data "Fichiers","Listes","Affichage","Opérations","Compte","A Propos...","Aide","","","" Data "Aide","Ouvrir","Fermer","-", "Exporter","-","Imprimer","-","Quitter","Imputations", "Libellés","Modes de paiement" Data "Crédit", "Débit","N","N-1","Archive","Comptes","Etat","Graphique","","","" data_A%: Data 50,100,150,480,80,100,100,40,40 Restore Data_a$: For i%=1 to 30 Read a$(i%) print a$(i%);" - "; next i% Restore Data_a%: For i%=1 to 9 Read a%(i%) print a%(i%);" - "; next i% end_sub
2) Question subsidiaire : Ca sert à quoi la mention "spoiler" que je vois passer qq fois dans les msg du forum ?? Bonne journée aux PANORAMICIEN(NE)S | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: GestCompte Lun 25 Avr 2016 - 12:27 | |
| Le Spoiler permet de réduire tout une partie de texte ou une image par exemple pour soit ne pas choquer des ames sensibles dans certains cas, soit cacher un texte long ou une image pour ne l'afficher que si on en a besoin (ou envie) sans "polluer" le forum. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 25 Avr 2016 - 12:46 | |
| @ Ouf ca passe, "Maître" est de trop. Ce titre est réservé à Jack et Klaus... "Restore" s' utilise seul. Il force la lecture des "Data" depuis la première ligne de ceux ci. si tu veux lire les "Data" et les placer dans des variables : - Code:
-
dim Liste$(33),Value%(9)
Data "Fichiers","Listes","Affichage","Opérations","Compte","A Propos...","Aide","","","" Data "Aide","Ouvrir","Fermer","-", "Exporter","-","Imprimer","-","Quitter","Imputations", "Libellés","Modes de paiement" Data "Crédit", "Débit","N","N-1","Archive","Comptes","Etat","Graphique","","","" Data 50,100,150,480,80,100,100,40,40
list 1 full_space 1 PrintData() end
sub PrintData() dim_local i%,a$ restore
for i% =1 to 33 Read a$ Liste$(i%)=a$ item_add 1,a$ next i%
for i%=1 to 9 Read a$ Value%(i%)=val(a$) item_add 1,a$ next i%
end_sub
Pour ce qui est des balises "[ spoiler ]" et "[ /spoiler ]" (sans les espaces que je rajoute pour visualiser le code) elles permettent ceci - Spoiler:
cela diminue la longueur d' un post hors lecture.
| |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: Restore Lun 25 Avr 2016 - 18:25 | |
| 1) Donc, je comprends que le RESTORE de PANORAMIC ne fonctionne pas comme celui du BASIC GFA que j'utilisais au début des années 1980 et je me demande donc à quoi il sert ?
2) Je n'avais même JAMAIS eu la curiosité, depuis 5 mois que je suis inscrit, de cliquer à l'intérieur du spoiler.
Je me coucherai moins bête ce soir.
Merci Ygeronimi.
| |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: GestCompte Lun 25 Avr 2016 - 19:29 | |
| - Ouf_ca_passe a écrit:
- 2) Je n'avais même JAMAIS eu la curiosité, depuis 5 mois que je suis inscrit, de cliquer à l'intérieur du spoiler.
Hé, cher ami, la curiosité paye toujours : il faut être curieux et curieux de tout pour pouvoir avancer. Tu ne savais pas ce que tu as loupé en n’ ayant pas osé cliquer sur spoiler Si tu vois une chose et tu ne comprends pas sa raison d’être, alors OSE demander des explications. On les donne gratuitement sur ce Forum. Et sache qu’il n’y a pas de questions bêtes. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: GestCompte Lun 25 Avr 2016 - 19:44 | |
| @Ouf_ca_passe Ce n'est pas parce que le Restore ne fonctionne pas comme celui du basic gfa qu'il ne sert à rien ! En Basic, si je me souviens bien, le Restore permettait de positionner la lecture des datas à partir d'une étiquette donnée: Restore Etiq
En Panoramic, le Restore permet de réinitialiser la lecture des datas à partir du début. En effet, après un READ de data, le pointeur reste positionné à la fin de la lecture, et le READ suivant partira de là. Sans restore, il faudrait toujours lire les Datas dans l'ordre, et on ne pourrait pas recommencer une lecture, par exemple dans un sous-programme, ça ne marcherait qu'une fois. Dans un sous-programme ou une Sub qui contiennent des datas, il faut les marquer par exemple par un data de début (qui sert de repère) et un data de fin. On commence par RESTORE, et on recherche dans les datas successifs le repère de début, puis on lit jusqu'au data repère de fin.
Evidemment, le Restore Etiquette serait plus pratique, mais bon, on peut y arriver sans. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 25 Avr 2016 - 19:48 | |
| Si le sujet initial intéresse quelqu' un... ...j' ai mis à jour le zip sur mon webdav. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: GestCompte Lun 25 Avr 2016 - 21:59 | |
| Je vais regarder ça demain. A+ | |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: 100 fois sur le métier, remettez votre ouvrage Mar 26 Avr 2016 - 11:17 | |
| @ Ygeronimi. J'ai tenté de simplifier des bouts de ton code avec des boucles for-next et des read-data. (dans un premier temps; après, quand ça marche (LOL!) j'externalise les datas dans un fichier séparé). Ca ne fait rien gagner en nombre d'instructions mais ça prend moins de place sur ton listing de code (à l'époque où il fallait rechercher les erreurs de compil, de logique ou de variable sur des listings imprimés sur des imprimantes à picots (pin feed) à 132 caractères de largeur, époque que aucun de vous n'a connue). @ JK35. J'ai refait mon code avec ce que je croyais avoir compris de ton explication sur le pointeur et ça ne passe toujours pas comme je veux !! PANORAMIC ne serait pas un langage interprété mais compilé, cela ferait longtemps que j'aurais abandonné. Bonne journée à tou(te)s - Code:
-
' ========================== ' READ,DATA,RESTORE,FOR,NEXT ' ========================== error_french height 0,1000 width 0,1000 variables() end sub variables() Print "variables" Dim a$(30,2) dim a%(30) dim i% Data "Fichiers","Listes","Affichage","Opérations","Compte","A Propos...","Aide","Ouvrir","Fermer","-" Data "Exporter","-","Imprimer","-","Quitter","Imputations" Data "Files","Lists","Display on","Operations","Account","About","Help","Open","Close","-" Data "Export","-","Print","-",Quit","Imputations" Data 50,100,150,480,80,100,100,40,40 For i%=1 to 16 Read a$(i%,1) print a$(i%,1) next i% input i% : ' Pause pour savoir où j'en suis. Entrer un chiffre pour continuer. For i%=17 to 32 Read a$(i%,2) print a$(i%,2) next i% input i% : ' Pause pour savoir où j'en suis. Entrer un chiffre pour continuer. For i%=33 to 41 Read a%(i%) print a%(i%) next i% end_sub
| |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: J'ai des doutes Mar 26 Avr 2016 - 12:37 | |
| J'ai une erreur à ligne 1427 : (79) zero or negative value. Dans FCT.bas, si je sais compter. Comment fonctionne le compteur de débogage : Réponse 1 : Il compte toutes les lignes. C'est bien marqué. Réponse 2 : Il compte TOUTES les instructions sans les lignes de commentaires ou à blanc. Réponse 3 : Il compte bien les lignes quelque soit le nombre d'instructions sur une même ligne Réponse 4 : autre. Ceux(celles) qui auront apporté la bonne réponse auront droit à toute ma considération. - Code:
-
' +++++ ' Main ' +++++
hide 0 variables() constantes() labels() init() gui() show 0 end
#INCLUDE "DEC.bas" ' 77 #INCLUDE "INI.bas" ' 20 = 97 #INCLUDE "GUI.bas" ' 779 = 876 #INCLUDE "MEN.bas" ' 164 = 1040 #INCLUDE "FCT.bas" ' 477 = 1517 #INCLUDE "ETA.bas" ' 89 = 1606
J'ai vraiment des doutes : https://www.youtube.com/watch?v=bJJl-rlYSPQ | |
| | | Contenu sponsorisé
| Sujet: Re: GestCompte | |
| |
| | | | GestCompte | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |