vi87
Messages postés7Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 6 octobre 2008
-
6 oct. 2008 à 11:11
vi87
Messages postés7Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 6 octobre 2008
-
6 oct. 2008 à 16:46
Bonjour,
Je crée un script en c qui automatise des process. Je conserve mes valeurs dans un tableau statique de type structure que je declare comme cela :
struct Recup_Data {
char *label;
char *state;
char *comments;
char *laps;
char *contact;
} ;
typedef struct Recup_Data RD;
RD tab_data[300];
mon tableau se remplit bien , pas de soucis. A la fin de mon script, je veux sauver le tableau dans un fichier excel, j'appelle dc un fichier en vb que j'appelle comme ca :
Le fichier vb s'ouvre bien mais je n'arrive pas a recuperer ma structure tableau, je ne connais pas trop (voire pas du tout) le vb et j'ai pas trop d'idée au comment faire :
'Ouverture du fichier excel
Set objWorkbook = oExcel.Workbooks.Open ("c:\Bulletins.xls")
Set objWorksheet = objWorkbook.Worksheets(1)
'Fill in
oExcel.ActiveSheet.Cells(7, 3)=args(0).state
oExcel.ActiveSheet.Cells(7, 2)="OK"
oExcel.ActiveSheet.Cells(8, 2)="OK"
objWorkbook.SaveAs ("c:\Bulletin_test.xls")
oExcel.Quit
---
Je ne sais pas si je dois faire des sous programmes, comment dois je recuperer le tableau enfin là je suis bien perdue.
Donc si quelqu'un a une idee il/elle est le/la bienvenu(e).
Merci d'avance,
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 6 oct. 2008 à 15:47
Si les adresses de ta structure restent valides le temps du prog, alors pas de probleme pour enregistrer les données dans le fichier et les relire depuis du VBS.
Pour info, strtok() introduit une variable partagée dans ton prog, ce peut être une source ultérieure de bug très difficile à déceler si tu passes ton prog plus tard en multithread. Il faut lui préférer strstr() qui ne souffre pas de cette anomalie.
Tu dis que le soucis est au niveau de la def de la structure, utiliser char state[255] au lieu de char *state? Dans ce cas là le strtok ne fonctionne plus, si? Ce qui est bizarre c'est que quand je fais un print de mon tableau j'ai bien les valeurs que je recupère.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 6 oct. 2008 à 15:14
strtock() et autres fonctions ancestrales pour handicapés profonds du C ne retournent toujours que des adresses, tu n'as donc tes données dispos QUE le temps de ton prog.
Si tu enregistres des adresses, elles ne seront plus valables dans une instance ultérieure du prog.
Ajoutons que passer des adresses à un script interprété (VB ici), c'est totalement illusoire.
Je te suggère de te plonger dans un bouquin de C avant d'espérer faire de l'échange de données entre différents langages.
ciao...
BruNews, MVP VC++
Vous n’avez pas trouvé la réponse que vous recherchez ?
vi87
Messages postés7Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 6 octobre 2008 6 oct. 2008 à 15:21
ok pas la peine de prendre les gens pour des cons...j'ai trouvé une autre solution en utilisant mes fonctions d'handicapés profonds du C. Mais merci qd mm.
vi87
Messages postés7Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention 6 octobre 2008 6 oct. 2008 à 15:28
Jsuis pas fachée...enfin un peu qd mm. Je t'expose ma solution, je prepare le casque, la combi et tout. Je conserve mes valeurs dans un fichier texte qu'apres j'ouvre dans un fichier vbs pour remplir le fichier excel. Y a t'il plus simple? Enfin peux tu me donner une explication par rapport à mes lignes de codes pr faire marcher ce que j'ai fait.