Sauvegarder des données et des images [Résolu]

Signaler
Messages postés
862
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
18 janvier 2021
-
Messages postés
862
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
18 janvier 2021
-
Bonjour,
J'ai un programme VB6 dans lequel on doit saisir toute une série de données numériques et qui donne le résultat sous forme de 2 graphiques chacun dans une picture box.
Je voudrais enregistrer à la fois les données et le résultat dans un fichier; j'avais pensé à un pdf mais ce n'est peut-être pas évident.
Si vous avez des idées pour réaliser ça simplement ...
Merci d'avance.

11 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
La seconde proposition est de loin la meilleure, si les données en question sont celles qui ont permis de dessiner le graphique.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
Tu te compliques la vie à vouloir mettre dans le même fichier du texte et une image.
Mets ton image dans un fichier toto.bmp et le texte dans un fichier toto.txt (même nom mais avec extension différente)
Si les données à mettre dans le fichier texte sont les valeurs d'un tableau, ce sont ces valeurs qu'il faudra y écrire).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
862
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
18 janvier 2021
2
Merci pour la réponse,
C'est une possibilité que j'avais envisagée.
Question subsidiaire : comment mettre une picturebox dans un fichier jpg ?

Autres possibilités envisagées pour info
[list][*] faire une "Alt-print screen" et sauver cette image dans un fichier; problème : elle est en bmp (il faudrait la convetir en jpg);
[*] sauver seulement les données et avoir une autre fonction pour les importer dans le programme qui redessine alors le graphique.
/list
Messages postés
862
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
18 janvier 2021
2
Bonjour,
Finalement c'est ce que j'ai fait.
Par simplification, le programme sauve les données dans un fichier quand il se termine, et recharge le fichier quand il démarre; on récupère donc les dernières données.

J'aurais voulu sauver/restaurer dans un fichier au choix de l'utilisateur mais j'ai des problèmes avec ComDLG32.ocx : message d'erreur "le fichier n'est pas correctement enregistré"; bizarre parce que le programme travaille aussi avec MsFlxGrd.ocx et là pas de problème.
Mais c'est hors sujet.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
mais j'ai des problèmes avec ComDLG32.ocx

Avec quel OS et en combien de bits ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
862
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
18 janvier 2021
2
C'est un peu plus compliqué.
Chez moi avec Win 7 64 pas de problème.
Mais je fais un package avec Inno Setup et c'est quelqu'un d'autre qui a le message; je ne connais pas son environnement.
Voici le script

[Files]
; begin VB system files
; (Note: Scroll to the right to see the full lines!)
Source: "D:\Data_RCL\Aquarium\Eclairage\Package\stdole2.tlb";  DestDir: "{sys}"; OnlyBelowVersion: 0,6; Flags: restartreplace uninsneveruninstall sharedfile regtypelib
Source: "D:\Data_RCL\Aquarium\Eclairage\Package\msvbvm60.dll"; DestDir: "{sys}"; OnlyBelowVersion: 0,6; Flags: restartreplace uninsneveruninstall sharedfile regserver
Source: "D:\Data_RCL\Aquarium\Eclairage\Package\oleaut32.dll"; DestDir: "{sys}"; OnlyBelowVersion: 0,6; Flags: restartreplace uninsneveruninstall sharedfile regserver
Source: "D:\Data_RCL\Aquarium\Eclairage\Package\olepro32.dll"; DestDir: "{sys}"; OnlyBelowVersion: 0,6; Flags: restartreplace uninsneveruninstall sharedfile regserver
Source: "D:\Data_RCL\Aquarium\Eclairage\Package\asycfilt.dll"; DestDir: "{sys}"; OnlyBelowVersion: 0,6; Flags: restartreplace uninsneveruninstall sharedfile
Source: "D:\Data_RCL\Aquarium\Eclairage\Package\comcat.dll";   DestDir: "{sys}"; OnlyBelowVersion: 0,6; Flags: restartreplace uninsneveruninstall sharedfile regserver
; end VB system files
Source: "D:\Data_rcl\Aquarium\Eclairage\Package\Angles.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Data_rcl\Aquarium\Eclairage\Package\mshflxgd.ocx"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Data_rcl\Aquarium\Eclairage\Package\comdlg32.ocx"; DestDir: "{app}"; Flags: ignoreversion


J'ai peut-être raté une étape entre VB6 et Inno Setup ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
et c'est quelqu'un d'autre qui a le message; je ne connais pas son environnement.

Distribue donc Comdlg32.ocx avec installation conditionnelle :
1)
- si Win 7 64 bits : à installer dans SysWow64
- si Win 7 32 bits ou vista ou XP : à installer dans system32
+
si Win7 ou vista : l'installation doit nécessairement se faire "en tant qu'administrateur" (y compris si l'utilisateur est sur un compte administrateur).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
862
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
18 janvier 2021
2
Si j'ai bien compris, Innosetup fait le nécessaire en fonction de l'OS.
D'ailleurs mshflxgd.ocx s'installe correctement sans problème quel que soit le système.
Je ne comprends pas pourquoi comdlg32.ocx ne fait pas de même.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
comdlg32.ocx n'est pas présent d'origine sur Win 7.
Vérifie (ton setup List) que tu le distribues bien avec ton appli.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
ceci étant dit :
J'aurais voulu sauver/restaurer dans un fichier au choix de l'utilisateur

Il n'est pas très adroit de laisser un tel choix à l'utilisateur. Et ce d'autant qu'il lui faudra à nouveau choisir dans quel fichier "repuiser" les données, avec tous les risques d'erreur que cela induit.
Il est bien plus avantageux de mettre ce fichier (avec un nom imposé) dans un chemin relatif de ton application. Ton appli saura y retrouver ses données.
Mais il se peut que tu veuilles laisser à l'utilisateur la possibilités de recharger des données "tests" dans des fichiers distincts. La réponse est alors celle-ci :
un sous-dossier (relatif, donc), ouvert dans le dossier de ton appli. Dans ce sous-dossier, des fichiers du genre toto1, toto2, toto3, etc ...
Et offrir alors le choix d'exploitation à l'utilisateur par l'intermédiaire d'une listview dans laquelle apparaitraient :
en colonne 1 le nom des fichiers et en colonne 2 les date et heure de création.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
862
Date d'inscription
mercredi 4 août 2010
Statut
Membre
Dernière intervention
18 janvier 2021
2
Vérifie (ton setup List) que tu le distribues bien avec ton appli.
Oui, il y est bien
[Setup1 Files]
File1=@msflxgrd.ocx,$(WinSysPath),$(DLLSelfRegister),$(Shared),5/22/00 3:58:12 PM,244416,6.0.84.18
File2=@cdosys.dll,$(WinSysPath),$(DLLSelfRegister),$(Shared),6/6/12 6:03:06 AM,805376,6.6.7601.17857
File3=@Angles.exe,$(AppPath),,,2/2/13 3:53:25 PM,98304,1.0.0.0

Mais je ne l'utilise pas, j'utilise Inno Setup pour construire un fichier setup.exe.
Il n'est pas très adroit de laisser un tel choix à l'utilisateur.
Pourquoi pas ?
Quand je crée un fichier avec word, excel ou je ne sais quel autre logiciel, je le met ou je veux et je l'appelle comme je veux, et je peux le retrouver.
Enfin, la solution actuelle qui sauve uniquement la dernière version est ok.