FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Immortaliser les photos de famille
par Jean Claude Hier à 21:24

» Concours de Morpions
par jjn4 Hier à 16:34

» Tout est tranquille
par Jean Claude Ven 22 Sep 2017 - 21:41

» Texte en gif animé
par JL35 Ven 22 Sep 2017 - 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

» Version instantanée V 0.9.28i9 possédant l'objet SYNEDIT
par pascal10000 Ven 15 Sep 2017 - 16:20

» Compilateur FBPano
par jean_debord Ven 15 Sep 2017 - 9:59

» 1 (en analyse): 3D_TARGET_IS ne fonctionne pas sur 3D_TEXT
par Jack Jeu 14 Sep 2017 - 19:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 GestCompte

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9  Suivant
AuteurMessage
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Merci pour vos réponses sur les DLL    Mer 20 Avr 2016 - 10: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 20 Avr 2016 - 11: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... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: GestCompte   Mer 20 Avr 2016 - 12: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Externaliser les déclarations dans un fichier   Mer 20 Avr 2016 - 13: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 ? Crying or Very sad Crying or Very sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 20 Avr 2016 - 13: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5531
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: GestCompte   Mer 20 Avr 2016 - 18:55

Pour ne pas spammer ce topic, je réponds  ici
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 21 Avr 2016 - 20: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 23 Avr 2016 - 22:20

J' ai mis le zip à jour sur mon webdav GCF2.zip.
L' application en "tout Panoramic" commence à être fonctionnelle.
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: GestCompte   Sam 23 Avr 2016 - 22:26

Je vais regarder ça.

Il semble que cette fois, tu vas plus vers l'usine à gaz que ta première version. Very Happy

C'est pas un reproche, juste une constatation.

Bon courage.
A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 24 Avr 2016 - 6:31

Je ne pense pas, les fonctions sont presque les mêmes.
J' ai juste ajouté un "état" qui peut en appeler d' autres... Laughing
Mais le fait de tout faire en Panoramic rallonge considérablement 
le nombre de lignes de code.
Wink

Embarassed J' ai créé un bug.
Mes opérations ne se font plus correctement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: GestCompte   Dim 24 Avr 2016 - 10: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é)  Very Happy

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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 24 Avr 2016 - 14: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  affraid

j' ai du faire un croisement de procédure malheureux quelque part scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: GestCompte   Dim 24 Avr 2016 - 14:53

Curieux, je n'arrive pas à reproduire le bug que tu signales Question

Il s'est peut-être réparé tout seul. Very Happy

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5951
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: GestCompte   Dim 24 Avr 2016 - 15: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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 24 Avr 2016 - 17:08

@ JL35,

Moi je veux bien positiver mais, dans le cas présent, c' était en débit donc pas très intéressant...
Laughing

Bon, j' ai trouvé le problème et c' est résolu même si ce n' est pas encore à jour sur mon webdav.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Pourquoi ca ne passe pas ?   Lun 25 Avr 2016 - 11: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5855
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: GestCompte   Lun 25 Avr 2016 - 13: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 25 Avr 2016 - 13:46

@ Ouf ca passe,

"Maître" est de trop. Ce titre est réservé à Jack et Klaus... Laughing

"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:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Restore   Lun 25 Avr 2016 - 19: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5531
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: GestCompte   Lun 25 Avr 2016 - 20: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 Neutral

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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5951
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: GestCompte   Lun 25 Avr 2016 - 20: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7991
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 25 Avr 2016 - 20:48

Si le sujet initial intéresse quelqu' un...
...j' ai mis à jour le zip sur mon webdav.
Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5019
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: GestCompte   Lun 25 Avr 2016 - 22:59

Je vais regarder ça demain. Very Happy

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: 100 fois sur le métier, remettez votre ouvrage    Mar 26 Avr 2016 - 12: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

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 68
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: J'ai des doutes   Mar 26 Avr 2016 - 13: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: GestCompte   

Revenir en haut Aller en bas
 
GestCompte
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 4 sur 9Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: