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 |
|
|
| PanoBudget | |
| | |
Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: PanoBudget Sam 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. 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 ) LIB.ilb (Librairie ImageList des puces pour les TreeView que vous pouvez personnalisés ) | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Sam 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 ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 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. Edit:Voilà le premier correctif, l' ajout d' une rubrique permettait qu' elle soit sans nom . Les fichiers listes modifiés se sauvegardaient dans le dossier source et pas là où je voulais. Le zip est à jour. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: PanoBudget Sam 28 Mai 2016 - 18:04 | |
| Je viens de télécharger la bête... Un premier problème: le programme ne trouve pas KGF.dll seul. 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... A+ | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 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. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 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. Le zip est à jour. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 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. | |
| | | RMont
Nombre de messages : 233 Age : 82 Localisation : charente maritime Date d'inscription : 29/12/2008
| Sujet: Re: PanoBudget Mer 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+
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Mer 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. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 1 Juin 2016 - 14:10 | |
| @ Rmont, Place ceci : message user$ juste avant la ligne 139. Ceci expliquera peut-être cela. Et, si c' est ce que je crois, il me faudra trouver un autre moyen pour récupérer le nom de l' utilisateur. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Mer 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é. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 1 Juin 2016 - 15:03 | |
| 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 | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Mer 1 Juin 2016 - 15:08 | |
| Je pense que oui. J'utilise simplement un API Windows, sans bidouillage de ma part. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 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 | |
| | | RMont
Nombre de messages : 233 Age : 82 Localisation : charente maritime Date d'inscription : 29/12/2008
| Sujet: Re: PanoBudget Mer 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
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 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" | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Sam 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. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 5 Juin 2016 - 15:30 | |
| C 'est une version palliative mais pas finale... 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. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Lun 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 ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 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 | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Lun 6 Juin 2016 - 18:18 | |
| Merci, Ygeronimi. Je vois mieux maintenant. Ca me permet d'aller plus loin. | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 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. Lorsque je reviendrai sur la version avec le stringGrid de kgf, je me baserai sur ce source qui est un peu plus optimisé. 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. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Lun 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%) | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 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 | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: PanoBudget Lun 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. | |
| | | Contenu sponsorisé
| Sujet: Re: PanoBudget | |
| |
| | | | PanoBudget | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |