FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Une calculatrice en une ligne de programme
PanoBudget Emptypar jean_debord Aujourd'hui à 8:01

» Gestion d'un système client-serveur.
PanoBudget Emptypar Pedro Hier à 19:31

» Les maths du crocodile
PanoBudget Emptypar jean_debord Hier à 10:37

» Naissance de Crocodile Basic
PanoBudget Emptypar jean_debord Hier à 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
PanoBudget Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
PanoBudget Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
PanoBudget Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
PanoBudget Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
PanoBudget Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
PanoBudget Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
PanoBudget Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
PanoBudget Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
PanoBudget Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
PanoBudget Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

» Bataille-navale
PanoBudget Emptypar jjn4 Mer 3 Avr 2024 - 14:08

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment :
Réassort du coffret Pokémon 151 ...
Voir le deal

 

 PanoBudget

Aller en bas 
5 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: PanoBudget   PanoBudget EmptySam 28 Mai 2016 - 14:58

Un début d' application pour créer son budget avec des rubriques personnalisées.

J' ai cherché sur le net et je n' avais que des feuilles de calcul excel ou open office.
Je voulais un truc simple, sans trop de chichi pour visualiser mon bugdet du mois
et avec des rubriques qui correspondent à mes factures et revenus.

PanoBudget Captur35

Le remplissage des rubriques se fait par saisi direct et changement de cellule pour valider et calculer les totaux ainsi que le Reste à vivre.

Le Programme créé un dossier propre à lui même pour la sauvegarde des budgets dans "C:\Users\.......\Documents"
Il y sauvegarde aussi les listes si vous ajoutez des rubriques personnalisées.

Le zip est sur mon webdav, il contient :
Src.bas
kgf.dll  ( ce qui le rend un peu lourd 1.2mb Embarassed )
LIB.ilb  (Librairie ImageList des puces pour les TreeView que vous pouvez personnalisés Wink )
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptySam 28 Mai 2016 - 15:11

Je n'ai pas encore installé et testé l'application dans sa totalite - trop pris par ailleurs par autre chose. Mais, j'ai eu le privilège de pouvoir manipuler la fenêtre de saisie, lors d'une phase de mise au point d'une des fonctions de KGF.dll, utilisée ici. Et je dois dire que je suis impressionné par la facilité d'utilisation et le côté professionnel de ce logiciel qui ressemble fort à ce que l'on pourrait faire avec un tableau Excel ou similaire.

Bravo pour cette réalisation !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptySam 28 Mai 2016 - 15:35

Merci KLaus.

Il y a surement des imperfections voir des mini bug 
mais je corrige au fur et à mesure que je les découvre.
Laughing


Edit:
Voilà le premier correctif, l' ajout d' une rubrique permettait qu' elle soit sans nom  Suspect.
Les fichiers listes modifiés se sauvegardaient dans le dossier source et pas là où je voulais.
Le zip est à jour.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptySam 28 Mai 2016 - 18:04

Je viens de télécharger la bête... Very Happy

Un premier problème: le programme ne trouve pas KGF.dll seul. No

J'ai donc copier le chemin en dur dans le code et ça marche.

J'ai créé un loyer et un salaire, j'ai un résultat du "reste à vivre" qui est correct.
Mais je ne l'ai pas eu du premier coup. Cela vient du fait que j'ai validé mes saisies des montant par la touche entrée.
Avant que je comprenne qu'il fallait que je clique dans une cellule pour valider la dernière saisie, le montant du reste à vivre, n'était pas à jour.
Il faudrait que tu vois ce problème car ça peut dérouté l'utilisateur.

Ce programme est simple à utiliser, c'est bien foutu... cheers

A+
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptySam 28 Mai 2016 - 21:54

J' utilise les fonctions de kgf et là si j' ai bien lu la doc
la fonction devrait le permettre mais apparemment non.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptySam 28 Mai 2016 - 22:44

Une petite correction et l' ajout d' une prévisualisation d' un état pour impression ou enregistrement.
L' enregistrement de l' état est actif pas encore l' impression.

Rappel
Pour qu' une entrée soit validé dans le grid, il faut cliquer sur une autre cellule.
la touche entrée ne lance pas le calcul automatique.  Sad

Le zip est à jour.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptyLun 30 Mai 2016 - 14:26

Mise à jour.

Formatage automatique des entrées numériques.
Impression de l' état de prévisualisation.
Petites corrections de petits bugs

Le zip est à jour.
Laughing
Revenir en haut Aller en bas
RMont




Nombre de messages : 233
Age : 81
Localisation : charente maritime
Date d'inscription : 29/12/2008

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyMer 1 Juin 2016 - 12:31


bonjour a tous
message pour ygeronimi
j'ai un probème avec panobudget.
voila comment je procède .je détaille au maximum pour comprendre.
-telechargement du code .passage a l'antivirus
- je fais un dossier panobudget . je decompresse avec 7 zip
_je rajoute error_french pour comprehension des messages d'erreur
je lance par l'eclair
- immediatement j'ai une erreur en ligne 139
----> message :102 impossible de creer le répertoire line:139
- apres avoir consulter l'aide,je m'aperçois que dans l'exemple donné :dir_make "abcd"il y a ""(j'ai perdu le nom)
-je modifie la ligne 139 en rajoutant dir_make "dir_file$".
-avant de relancer,je passe par stop en haut
-je relance
maintenant j'ai la fenêtre de panobudget avec ses 3 menus.
donc pour voir ,je clique sur nouveau;je vois bien 'selectionner vos rubriques'
-ensuite clic sur recettes/pension.
j'ai vu.
je ferme par quitter.
avant de relancer je passe par stop en haut.
je relance et là de nouveau j'ai :102 impossible de créer le répertoire line 139.
j'ai vérifier ,j"ai bien un dossier dir_file$ qui a été créer

question :que se passe-t-il ?
.je me reconnecte vers 18h
a+

Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyMer 1 Juin 2016 - 12:41

Oups...
tu dis:
Citation :
-je modifie la ligne 139 en rajoutant dir_make "dir_file$".
or, ça ne va pas du tout. Ou alors, tu fais:
Code:
dir_make dir_file$
ou alors, l'autre solution:
Code:
dir_make "Mon_Dossier"

La commande DIR_MAKE attend en paramètre une chaîne de caractères contenant le nom du dossier à créer. Cela peut être le nom d'une variable contenant le chemin et le nom du dossier. Dans ce cas, il ne faut surtout pas mettre de guillemets. Ou alors, tu utilises un texte fixe, et alors ce sera une constante entre guillemets. Mais tu ne peux pas mélanger les deux.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptyMer 1 Juin 2016 - 14:10

@ Rmont,

Place ceci :

message user$

juste avant la ligne 139.
Ceci expliquera peut-être cela.  Wink
Et, si c' est ce que je crois, il me faudra trouver un autre moyen
pour récupérer le nom de l' utilisateur.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyMer 1 Juin 2016 - 14:26

Tu as une fonction dans KGF.dll, et elle est malheureusement non documentée. Mais je vais y remédier. En attendant, essaie de cette fonction:
Code:
res% = dll_call2("GetWindowsFoldersPath",iddossier%,adr(chemin$))
Tu lui passes un identifiant du dossier dont tu veux récupérer le chemin, et l'adresse d'une chaîne de caractères suffisamment longue pour contenir le chemin complet. Voici les codes possibles (utiliser les valeurs numériques, comme 26 pour le dossier Application Data):
Code:
CSIDL_DESKTOP                 =  0; // = Dossier Virtuel représentant le Bureau
CSIDL_INTERNET                =  1; // = Dossier Virtuel Internet
CSIDL_PROGRAMS                =  2; // = Dossier Programmes du Menu Démarrer
CSIDL_CONTROLS                =  3; // = Dossier Virtuel contenant les icônes des applications du Panneau de Contrôle
CSIDL_PRINTERS                =  4; // = Dossier Virtuel contenant les Imprimantes Installées
CSIDL_PERSONAL                =  5; // = Dossier Mes Documents
CSIDL_FAVORITES               =  6; // = Dossier Favoris
CSIDL_STARTUP                 =  7; // = Dossier Démarrage dans le dossier Programmes du Menu Démarrer
CSIDL_RECENT                  =  8; // = Dossier Récent
CSIDL_SENDTO                  =  9; // = Dossier SendTo
CSIDL_BITBUCKET               = 10; // = Dossier Virtuel contenant les fichiers de la Corbeille
CSIDL_STARTMENU               = 11; // = Dossier Menu Démarrer
CSIDL_MYDOCUMENTS             = 12; // = Dossier Virtuel contenant les fichiers du dossier Mes Documents
CSIDL_MYMUSIC                 = 13; // = Dossier Mes Musiques
CSIDL_MYVIDEO                 = 14; // = Dossier Mes Vidéos
CSIDL_DESKTOPDIRECTORY        = 16; // = Dossier physique contenant les objets du Bureau
CSIDL_DRIVES                  = 17; // = Dossier Virtuel My Computer
CSIDL_NETWORK                 = 18; // = Dossier Virtuel Voisinage réseau
CSIDL_NETHOOD                 = 19; // = Dossier physique Nethood
CSIDL_FONTS                   = 20; // = Dossier Fonts
CSIDL_TEMPLATES               = 21; // = Dossier ShellNew
CSIDL_COMMON_STARTMENU        = 22; // = Dossier Menu Démarrer pour All Users
CSIDL_COMMON_PROGRAMS         = 23; // = Dossier Programmes dans le menu Démarrer pour All Users
CSIDL_COMMON_STARTUP          = 24; // = Dossier Démarrage dans le dossier Programmes du Menu Démarrer pour All Users
CSIDL_COMMON_DESKTOPDIRECTORY = 25; // = Dossier Physiques du Bureau pour All Users
CSIDL_APPDATA                 = 26; // = Dossier Application Data
CSIDL_PRINTHOOD               = 27; // = Dossier PrintHood
CSIDL_LOCAL_APPDATA           = 28; // = Dossier Application Data dans Local Settings pour le Current User
CSIDL_ALTSTARTUP              = 29; // = NT Only
CSIDL_COMMON_ALTSTARTUP       = 30; // = NT Only
CSIDL_COMMON_FAVORITES        = 31; // = Dossier Favoris pour All Users
CSIDL_INTERNET_CACHE          = 32; // = Dossier Temporary Internet Files
CSIDL_COOKIES                 = 33; // = Dossier Cookies
CSIDL_HISTORY                 = 34; // = Dossier Historiques
CSIDL_COMMON_APPDATA          = 35; // = Dossier Physique Application Data pour All users
CSIDL_WINDOWS                 = 36; // = Répertoire windows
CSIDL_SYSTEM                  = 37; // = Répertoire System 32 de Windows
CSIDL_PROGRAM_FILES           = 38; // = Dossier Program Files
CSIDL_MYPICTURES              = 39; // = Dossier physique de My Pictures pour Current Users
CSIDL_PROFILE                 = 40; // = Dossier Physique du Current Users
CSIDL_SYSTEMX86               = 41; // = x86 system directory on RISC systems
CSIDL_PROGRAM_FILESX86        = 42; // = x86 Program Files folder on RISC systems
CSIDL_PROGRAM_FILES_COMMON    = 43; // = Dossier Common files de Program Files
CSIDL_PROGRAM_FILES_COMMONX86 = 44; // = x86 Program Files Common folder on RISC systems
CSIDL_COMMON_TEMPLATES        = 45; // = Dossier Physique ShellNew pour AllUsers
CSIDL_COMMON_DOCUMENTS        = 46; // = Dossier Physique Documents pour AllUsers
CSIDL_COMMON_ADMINTOOLS       = 47; // = Dossier Physique pour l'administrative tools
CSIDL_ADMINTOOLS              = 48; // = Dossier Start MenuPrograms Administrative Tools
CSIDL_CONNECTIONS             = 49; // = Dossier Virtuel contenant les connections réseaux et dial-up
CSIDL_COMMON_MUSIC            = 53; // = Dossier physique My Music pour AllUsers
CSIDL_COMMON_PICTURES         = 54; // = Dossier physique My Pictures pour AllUsers
CSIDL_COMMON_VIDEO            = 55; // = Dossier physique My Video pour AllUsers
CSIDL_RESOURCES               = 56; // = Dossier physique Ressources de Windows
CSIDL_RESOURCES_LOCALIZED     = 57; // = Dossier physique Ressources Localisées de Windows
CSIDL_COMMON_OEM_LINKS        = 58; // =
CSIDL_CDBURN_AREA             = 59; // = Dossier CD Burning de Windows
CSIDL_COMPUTERSNEARME         = 60; // = Dossier Virtuel Work Group NetWork
Alors, tu choisis un code (comme 26) et tu extrais le nom de l'utilisateur du chemin retourné.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptyMer 1 Juin 2016 - 15:03

cheers
Ta fonction est génial, je n' ai plus besoin du nom de l' utilisateur
puisque je peux récupérer directement le chemin de "Mes Documents" par le code "5".

La seule condition est que cela fonctionne sur toutes les versions de Windows Wink
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyMer 1 Juin 2016 - 15:08

Je pense que oui. J'utilise simplement un API Windows, sans bidouillage de ma part.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptyMer 1 Juin 2016 - 15:25

@ Rmont, 

Remplace la sub init() par celle là :

Code:
sub init()
  dim_local i%,res%
'  activation de la dll
  if file_exists(kgf$)=1
      dll_on kgf$
  end_if
'  initialisation du dossier de stockage
  Dir_File$ = string$(255," ")
  res% = dll_call2("GetWindowsFoldersPath",5,adr(Dir_File$))
  Dir_File$ = trim$(Dir_File$)+"\PanoBudget_Files\"
  if dir_exists(Dir_File$)= 0
      dir_make Dir_File$
  end_if
'  adressage des fichiers
  RubDepFile$  = Dir_File$+"ListeDep.inf"
  RubRecFile$  = Dir_File$+"ListeRec.inf"
  EcheanceFile$= Dir_File$+"Echeancier.inf"
'  définition des couleurs pour les StringGrid
'  définition des couleurs de colonne
  DefineKgfColor(255,255,255)
  CouleurColNorm% = Ret_KgfColor%
  DefineKgfColor(253,213,187)
  CouleurColCred% = Ret_KgfColor%
  DefineKgfColor(217,248,174)
  CouleurColDeb% = Ret_KgfColor%
'  définition des couleurs de police
  DefineKgfColor(0,0,0)
  CouleurPol1% = Ret_KgfColor%
  DefineKgfColor(0,0,170)
  CouleurPol2% = Ret_KgfColor%
'  définition de la couleur d' une ligne de rubrique
  DefineKgfColor(230,230,230)
  CouleurLineRub% = Ret_KgfColor%
'  définition de la police des grid
  PolGrid$ = "Courier New"
end_sub
Revenir en haut Aller en bas
RMont




Nombre de messages : 233
Age : 81
Localisation : charente maritime
Date d'inscription : 29/12/2008

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyMer 1 Juin 2016 - 18:45


@ klaus et ygeronimi
ce matin ,j'ai bien fait d'expliquer ce que je faisais. j'ai donc mal compris l'exemple du manuel.
merci klaus.
pour ygeronimi
j'ai commencé par inclure en ligne 138 la cde "message user$"
la reponse est : la commande s'est bien terminée .ok
clic sur ok
réponse :102 impossible de creer le repertoire en ligne 140.

je suis passé ensuite a la nouvelle sub init que j'ai incluse a la place de l'autre.
1er message d'erreur "variable inconnue en ligne 143 pour moi"
echeanceFile$=Dir_File$+"Echeancier.inf"
j'ai rajouter dim echeancier dans sub_contantes.

je lance et cela fonctionne tres bien
il ne me reste plus qu'a faire des essais
merci a vous

Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptySam 4 Juin 2016 - 20:46

En attendant que Klaus résolve les problèmes liés à StringGrid,
je vous est mis une version avec un grid panoramic.
Certes, on perd les couleurs dans le grid, mais il n' y a plus de bugs.
( si vous en trouvez, ce sera une sûrement un oubli de ma part )

Bref le zip est sur mon webdav : "PanoBudget_Sans_KGF_StringGrid.zip"
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptySam 4 Juin 2016 - 22:16

J'y travaille... le bug concerne la fonction LoadGridFromFile, et j'ai localisé l'endroit. La correction est un peu plus coriace à mettre en place, mais ça viendra.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptyDim 5 Juin 2016 - 15:30

C 'est une version palliative mais pas finale...
Laughing

Edit:

Petite correction, cette version ne prenait plus les échéanciers en compte.
C' est corrigé.

J' ai aussi corrigé l' affichage de l' edit d' entrée dans le grid.
il ne s' affiche plus du tout lorsque l' on double clic sur une cellule correspondant à une catégorie
mais seulement en face des rubriques.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyLun 6 Juin 2016 - 8:45

Est-ce que tu pourrais faire un petit test pour moi ?

Dans ta sub OpenBudgetFile(), il faudrait remplacer
Code:
     res% = dll_call3("LoadGridFromFile",SG%,1,adr(f$))
par
Code:
     res% = dll_call6("GridFunction",SG%,23,0,0,0,0) : ' effacer les données du grid
     res% = dll_call3("LoadGridFromFile",SG%,1,adr(f$)) : ' restaurer les données seulement
et réesayer. Qu'est-ce que ça donne chez toi ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptyLun 6 Juin 2016 - 12:28

Je perds :

les couleurs (polices+cellules)
la police de caractère
l' alignement des nombres à droite.

Mais je n' ai plus de message violent
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyLun 6 Juin 2016 - 18:18

Merci, Ygeronimi. Je vois mieux maintenant. Ca me permet d'aller plus loin.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptyLun 6 Juin 2016 - 18:54

@ Klaus,

Tel quel, je pourrais essayer de couper ma procédure ImportRubriqueFromTempFiles() en deux
puisque elle s' occupe aussi de la coloration du StringGrid lors d' une création et rendre cette partie 
indépendante pour l' appeler lors de l' ouverture d' une sauvegarde.

En produisant la version avec un grid Panoramic, je me suis aperçu de certaines parties
redondantes dans le code et j' ai un peu élagué celui ci. Laughing
Lorsque je reviendrai sur la version avec le stringGrid de kgf, je me baserai sur ce source 
qui est un peu plus optimisé. Wink

Tout de suite, je préfère la patience et te laisser le temps de trouver la solution.
En gardant le code d' origine, cela me permet de faire des tests en situation et de t' aider
dans la mesure de mes connaissances.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyLun 6 Juin 2016 - 19:19

J'ai cherché un peu, et je ne trouve pas les appels à GridFunction pour définir les zones de couleur. Nulle part dans le code que j'ai. Peux-tu me poster les lignes à intégrer dans la sub CreateNewStringGrid() ? Probablement juste après les lignes
Code:
'  formatage texte de la ligne 1 (ligne des entêtes)
  res% = DLL_call6("GridFunction",SG%,9,0*65536+1,4362,adr(PolGrid$),CouleurPol2%)
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

PanoBudget Empty
MessageSujet: re   PanoBudget EmptyLun 6 Juin 2016 - 19:34

CreateNewStringGrid() ne s' occupe pas de cela.
Le formatage police, couleur de police, couleur de cellule, alignement se fait dans la procédure :
ImportRubriqueFromTempFiles()
Cette procédure définie ligne par ligne pour les colonnes 1 et 2 puis 3 et 4
le formatage des cellules en fonction de ce qu' elle contiennent.
Cette procédure est appelée uniquement lors de la création d' un nouveau budget.
Dans le cas d' une ouverture d' une sauvegarde, c' est le contenu de la sauvegarde qui s' applique.

Code:
sub ImportRubriqueFromTempFiles()
   dim_local i%,a$,res%,txt$,y%,format$
  
   if count(DlDeb%)>0
      for i%= 1 to count(DlDeb%)
         a$=item_read$(DlDeb%,i%)
         res% = DLL_call6("GridFunction",SG%,9,1*65536+(i%+1),10,adr(PolGrid$),CouleurPol1%)
         if left$(a$,1)="#"
            a$=upper$(right$(a$,len(a$)-1))
            res% = DLL_call6("GridFunction",SG%,2,1,i%+1,CouleurLineRub%,CouleurPol1%)
            res% = DLL_call6("GridFunction",SG%,2,2,i%+1,CouleurLineRub%,CouleurPol1%)
         else
            a$=string$(5," ")+a$
            res% = DLL_call6("GridFunction",SG%,9,2*65536+(i%+1),8202,adr(PolGrid$),CouleurPol1%)
            res% = DLL_call6("GridFunction",SG%,2,2,i%+1,CouleurColDeb%,CouleurPol1%)
         end_if
         txt$=a$
         res% = DLL_call4("WriteGridCell",SG%,1,i%+1,adr(txt$))
      next i%
   end_if
   txt$ = "Total des dépenses :  "
   res% = DLL_call6("GridFunction",SG%,9,1*65536+NbreRows%,8202,adr(PolGrid$),CouleurPol2%)
   res% = DLL_call4("WriteGridCell",SG%,1,NbreRows%,adr(txt$))
   txt$ = "0.00"
   res% = DLL_call6("GridFunction",SG%,9,2*65536+NbreRows%,8202,adr(PolGrid$),CouleurPol1%)
   res% = DLL_call6("GridFunction",SG%,2,2,NbreRows%,CouleurColDeb%,CouleurPol1%)
   res% = DLL_call4("WriteGridCell",SG%,2,NbreRows%,adr(txt$))
  
   if count(DlRec%)>0
      for i%= 1 to count(DlRec%)
         a$=item_read$(DlRec%,i%)
         res% = DLL_call6("GridFunction",SG%,9,3*65536+(i%+1),10,adr(PolGrid$),CouleurPol1%)
         if left$(a$,1)="#"
            a$=upper$(right$(a$,len(a$)-1))
            res% = DLL_call6("GridFunction",SG%,2,3,i%+1,CouleurLineRub%,CouleurPol1%)
            res% = DLL_call6("GridFunction",SG%,2,4,i%+1,CouleurLineRub%,CouleurPol1%)
         else
            a$=string$(5," ")+a$
            res% = DLL_call6("GridFunction",SG%,9,4*65536+(i%+1),8202,adr(PolGrid$),CouleurPol1%)
            res% = DLL_call6("GridFunction",SG%,2,4,i%+1,CouleurColCred%,CouleurPol1%)
         end_if
         txt$=a$
         res% = DLL_call4("WriteGridCell",SG%,3,i%+1,adr(txt$))
      next i%
   end_if
   txt$ = "Total des recettes :  "
   res% = DLL_call6("GridFunction",SG%,9,3*65536+NbreRows%,8202,adr(PolGrid$),CouleurPol2%)
   res% = DLL_call4("WriteGridCell",SG%,3,NbreRows%,adr(txt$))
   txt$ = "0.00"
   res% = DLL_call6("GridFunction",SG%,9,4*65536+NbreRows%,8202,adr(PolGrid$),CouleurPol1%)
   res% = DLL_call6("GridFunction",SG%,2,4,NbreRows%,CouleurColCred%,CouleurPol1%)
   res% = DLL_call4("WriteGridCell",SG%,4,NbreRows%,adr(txt$))
  
   ResteAV = 0
   MajAffichResteAV()
end_sub
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12274
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget EmptyLun 6 Juin 2016 - 19:44

Ok. Je prends la procédure qui n'existe pas dans la version du source que j'ai.

Je comprends bien que tu veux récupérer le formattage dans le fichier de sauvegarde, et en réalité, la finalité de cette fonction est bien celle-là. Mais pour le moment, le bug que je poursuis, se situe à ce niveau-là. C'est pour cette raison que dans la fonction LoadGridFromFile, j'ai changé le paramètre de 0 à 1 pour ne prendre que les données. Ca ne plante plus, ce qui me conforte dans l'identification du bug.

Je vais donc, pour la mise au point, intégrer le paramétrage du tableau au niveau de sa création, à partir du code que tu viens de poster. Juste pour avoir l'aspect réel. Puis, étape par étape, je vais basculer sur les paramètres provenant du fichier de sauvegarde, afin d'isoler le bug.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





PanoBudget Empty
MessageSujet: Re: PanoBudget   PanoBudget Empty

Revenir en haut Aller en bas
 
PanoBudget
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  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: