Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1381 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[C Windows] Imprimer un PDF

n°470594
Cherrytree
cn=?
Posté le 29-07-2003 à 10:19:02  profilanswer
 

Reprise du message précédent :
Je ne suis pas sorti de l'auberge.


---------------
Le site de ma maman
mood
Publicité
Posté le 29-07-2003 à 10:19:02  profilanswer
 

n°470600
chrisbk
-
Posté le 29-07-2003 à 10:22:27  profilanswer
 

tu bosses sous quoi ?
 
oups, C et activeX je crois pas que ca aille tres bien ensemble


Message édité par chrisbk le 29-07-2003 à 10:23:03
n°470604
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 10:24:04  profilanswer
 

chrisbk a écrit :

tu bosses sous quoi ?
 
oups, C et activeX je crois pas que ca aille tres bien ensemble


Ca pose aucun pb.


---------------
Le Tyran
n°470607
El_gringo
Posté le 29-07-2003 à 10:24:50  profilanswer
 

Cherrytree a écrit :

Je ne suis pas sorti de l'auberge.


 
Mais, t'as beaucoup de types de fichiers avec lesquels faire ça ?

n°470610
chrisbk
-
Posté le 29-07-2003 à 10:28:52  profilanswer
 

LetoII a écrit :


Ca pose aucun pb.


 
tiens j'aurais cru ?
bon ben g rien dit :O
 
 
si t'es sous visu, tout ce que tu as a faire c'est add->composant->activeX (ou dans le gout) et selectionner le controle de tes reves

n°470625
VisualC++
J'va y penser ...
Posté le 29-07-2003 à 10:37:04  profilanswer
 

Le controle ActiveX est installe par defaut a l installation de Acrobat Reader 5 et + je viens de verifier (y a le composant pour l automation inscrit aussi)

n°470627
VisualC++
J'va y penser ...
Posté le 29-07-2003 à 10:37:50  profilanswer
 

Enfin je le redit, c juste une solution pas la solution, mm si c la solution a utiliser a mon avis pour de la prog Windows.

n°470750
Cherrytree
cn=?
Posté le 29-07-2003 à 11:42:19  profilanswer
 

El_gringo a écrit :


 
Mais, t'as beaucoup de types de fichiers avec lesquels faire ça ?


Au moins Microsoft Word, CSV et PDF...


---------------
Le site de ma maman
n°470755
Cherrytree
cn=?
Posté le 29-07-2003 à 11:44:01  profilanswer
 

chrisbk a écrit :


 
tiens j'aurais cru ?
bon ben g rien dit :O
 
 
si t'es sous visu, tout ce que tu as a faire c'est add->composant->activeX (ou dans le gout) et selectionner le controle de tes reves


J'ai lâché Dev-C++ pour Visual C++. Je lis un peu de doc', mais je sens que ActiveX et compagnie ça va être chaud.
 
Déjà que j'ai compris ce matin, que FAR n'était pas un type de variables...


---------------
Le site de ma maman
n°470757
skeye
Posté le 29-07-2003 à 11:45:12  profilanswer
 

Cherrytree a écrit :


J'ai lâché Dev-C++ pour Visual C++. Je lis un peu de doc', mais je sens que ActiveX et compagnie ça va être chaud.
 
Déjà que j'ai compris ce matin, que FAR n'était pas un type de variables...


Il faut se mettre dans le trip msdn pour capter...FAR est un bon exemple, quand je le vois je fais come si ca existait pas! [:ddr555]

mood
Publicité
Posté le 29-07-2003 à 11:45:12  profilanswer
 

n°470784
chrisbk
-
Posté le 29-07-2003 à 12:13:58  profilanswer
 

skeye a écrit :


Il faut se mettre dans le trip msdn pour capter...FAR est un bon exemple, quand je le vois je fais come si ca existait pas! [:ddr555]  


 
tu fais bien, c un reliquat des temps anciens

n°470791
El_gringo
Posté le 29-07-2003 à 12:26:01  profilanswer
 

Cherrytree a écrit :


Au moins Microsoft Word, CSV et PDF...


 
en tout cas j'imagine que t'as compris que si tu veut ne pas utiliser l'imprimante par défaut, chaque cas sera à traiter indépendament. Je connais pas ton truc, mais ça pourrait être interressant de faire un system de plugin : tu définis une interface de communication à ton appli, "pour export", ou "pour impression", et chaque impression se fera dans une dll. Par la suite, si tu veux prendre un nouveau format de fichier en compte, t'auras juste à créer une nouvelle dll, pas à retoucher ton appli.
 
EDIT :
Plus simple :
Tu pourrais faire par exemple, qu'avant chaque impression, l'utilisateur choisi son imprimante. Dans ce cas tu gardes en mémoire l'imprimante par défaut, tu la remplaces par celle choisi (qui devient l'imprimante par défaut), après l'impression, tu remets celle d'avant impression. ça doit bien être possible de faire ça...


Message édité par El_gringo le 29-07-2003 à 12:29:47
n°470796
chrisbk
-
Posté le 29-07-2003 à 12:30:12  profilanswer
 

El_gringo a écrit :


 
en tout cas j'imagine que t'as compris : chaque cas sera à traiter indépendament.
Je connais pas ton truc, mais ça pourrait être interressant de faire un system de plugin : tu définis une interface de communication à ton appli, "pour export", ou "pour impression", et chaque impression se fera dans une dll. Par la suite, si tu veux prendre un nouveau format de fichier en compte, t'auras juste à créer une nouvelle dll, pas à retoucher ton appli.


 
j'appuie  
(et les plugs in c pas dur a faire, ne t'en fais pas, au pire on est la pour te soutenir :O)

n°470855
Cherrytree
cn=?
Posté le 29-07-2003 à 13:16:44  profilanswer
 

El_gringo a écrit :


 
en tout cas j'imagine que t'as compris que si tu veut ne pas utiliser l'imprimante par défaut, chaque cas sera à traiter indépendament. Je connais pas ton truc, mais ça pourrait être interressant de faire un system de plugin : tu définis une interface de communication à ton appli, "pour export", ou "pour impression", et chaque impression se fera dans une dll. Par la suite, si tu veux prendre un nouveau format de fichier en compte, t'auras juste à créer une nouvelle dll, pas à retoucher ton appli.


 [:rofl]  [:rofl]  [:rofl]  
(je ris parce que j'ai pas le niveau, hein !)
 
Bon, je vais me mettre sérieusement au Microsoft C, c'est décidé. J'ai le Petzold à côté de moi. Et une vieille MSDN de Visual Studio 6. Sera-ce suffisant pour que j'arrive à mes fins ?
 
Pour info, je soupçonne tout juste l'intérêt d'une DLL. C'est une bibliothèque de fonctions, n'est-ce pas ? Fabriquer une DLL... Heu, je vais lire de la doc'. Je ne tiens pas à vous pourrir avec mes questions bêtes.
 
Je me renseigne et je reviens.


---------------
Le site de ma maman
n°470859
chrisbk
-
Posté le 29-07-2003 à 13:20:19  profilanswer
 

Cherrytree a écrit :


 [:rofl]  [:rofl]  [:rofl]  
(je ris parce que j'ai pas le niveau, hein !)
 
Bon, je vais me mettre sérieusement au Microsoft C, c'est décidé. J'ai le Petzold à côté de moi. Et une vieille MSDN de Visual Studio 6. Sera-ce suffisant pour que j'arrive à mes fins ?
 
Pour info, je soupçonne tout juste l'intérêt d'une DLL. C'est une bibliothèque de fonctions, n'est-ce pas ? Fabriquer une DLL... Heu, je vais lire de la doc'. Je ne tiens pas à vous pourrir avec mes questions bêtes.
 
Je me renseigne et je reviens.


 
une DLL c'est du code avec des points d'entrées que tu peux chopper (pointeur sur fonction si tu comprends l'idee)
 
L'interet de la DLL c'est que tu peux la charger quand tu le sens
 
hesite pas a poser des questions :O

n°470878
Cherrytree
cn=?
Posté le 29-07-2003 à 13:28:58  profilanswer
 

J'hésite pas, mais je suis tellement loin de savoir faire que je ne sais même pas quelle question poser. En gros je frôle le néant à chaque ligne de code. En même temps, c'est ça qui m'amuse finalement.


---------------
Le site de ma maman
n°470879
Cherrytree
cn=?
Posté le 29-07-2003 à 13:29:43  profilanswer
 

Cela dit j'aimerais bien matter le code d'une DLL mignonne. Quelqu'un a ça sous le coude ?


---------------
Le site de ma maman
n°470881
chrisbk
-
Posté le 29-07-2003 à 13:31:19  profilanswer
 

Cherrytree a écrit :

Cela dit j'aimerais bien matter le code d'une DLL mignonne. Quelqu'un a ça sous le coude ?


 
c'est pas tres sexy hein :D
attends voir

n°470889
chrisbk
-
Posté le 29-07-2003 à 13:38:01  profilanswer
 

J'ai ca (ouais y'a du pas beau mais tant pis, c du vieux):
 
 
code de la DLL :
 

Code :
  1. char name[512]="DirectX 9 renderer";
  2. BOOL APIENTRY DllMain( HANDLE hModule,
  3.                        DWORD  ul_reason_for_call,
  4.                        LPVOID lpReserved
  5.      )
  6. {
  7. //generalement, ca on s'en fout
  8.     return TRUE;
  9. }
  10. void getRendererName(char *dest,unsigned int size)
  11. {
  12.     if (size > 512)
  13.         size = 512;
  14.     memcpy(dest,name,size);
  15. }


 
 
le .def :
 

Code :
  1. LIBRARY      d3d9render.dll
  2. DESCRIPTION  Render using directX9
  3. EXPORTS     
  4.              getRendererName


 
le .def sert surtout a dire quelles sont les fonctions exportées de la DLL, autrement dit lesquels sont accessible depuis l'exterieur (la g pas tout mis, c pour l'exemple)
 
le .h de la dll :
 

Code :
  1. extern "C"
  2. {
  3. typedef void (*LPGETRENDERERINFO)(char *desc,int size);
  4. void  getRendererName(char *name,int size);
  5. }


 
Vala, reste plus qu'a voir comment on se sert de tout ca dans un exe
 
 

Code :
  1. HINSTANCE hLibrary = LoadLibrary("D3D9Renderer.dll" ); // Load the DL
  2. char toto[512];
  3. if (hLibrary != NULL) //si le chargement a pas planté
  4.     {
  5. //on recupere l'adresse de notre fonction exportee
  6.         LPGETRENDERERINFO lpGetName = (LPGETRENDERERINFO)GetProcAddress(hLibrary, "getRendererName" );
  7. //on appelle la fonction
  8.         lpGetName(toto,512);
  9. //on affiche le resultat
  10.         printf("%s",toto);
  11.     }
  12.     else
  13.     {
  14.         MessageBox(0 , "erreur de chargement de la dll",0,0);
  15.         return 0;
  16.     }


n°470903
HelloWorld
Salut tout le monde!
Posté le 29-07-2003 à 13:45:05  profilanswer
 

Essaye de spécifier l'imprimante à l'aide de l'option /t :
http://www.experts-exchange.com/Op [...] 30501.html


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°470919
El_gringo
Posté le 29-07-2003 à 14:05:28  profilanswer
 

Cherrytree a écrit :


Pour info, je soupçonne tout juste l'intérêt d'une DLL. C'est une bibliothèque de fonctions, n'est-ce pas ? Fabriquer une DLL... Heu, je vais lire de la doc'. Je ne tiens pas à vous pourrir avec mes questions bêtes.
 
Je me renseigne et je reviens.


 
Une dll, en gros, c'est le jar du Java.
C'est plus clair comme ça, non ?

n°470925
El_gringo
Posté le 29-07-2003 à 14:12:06  profilanswer
 

Et pour avoir un exemple de dll avec VC++, tu fais File->New->Projetc, puis MFC AppWizard (dll).
VC++ te propose après de générer un exemple de classe exportée je crois. essaye, tu verras, c pas si compliqué.
Et Pour l'histoire de plugins, encore une fois, rappelle toi de ce que tu connais en Java. Quand je te parle d'écrire une interface de comunication entre ton appli et ton plugin, ça veut dire, par exemple, écrire une classe virtuelle pure (l'équivalent d'une interface Java) qui défini comme un protocole de com entre ton appli et un plugin : toutes les méthodes pour qu'ils interfèrent (appli commande qqch au plugin, envoit des infos au plugin, ...).
Tout plugin devra alors implémenté ta classe qui défini ce protole (genre une classe CCherryTreePlugin).

n°471175
Cherrytree
cn=?
Posté le 29-07-2003 à 16:35:44  profilanswer
 

Juste une question (rien à voir) : est-ce qu'un programme Win32 peut imprimer des lignes de texte sur stdout ?


---------------
Le site de ma maman
n°471177
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 16:37:30  profilanswer
 

Cherrytree a écrit :

Juste une question (rien à voir) : est-ce qu'un programme Win32 peut imprimer des lignes de texte sur stdout ?


 
Si il a une console d'ouverte oui, si non faut en ouvrir une.


---------------
Le Tyran
n°471205
Cherrytree
cn=?
Posté le 29-07-2003 à 16:55:36  profilanswer
 

LetoII a écrit :


 
Si il a une console d'ouverte oui, si non faut en ouvrir une.


Autrement dit, je suis capable d'ouvrir un stream vers stdin... Comment ?


---------------
Le site de ma maman
n°471208
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 16:57:42  profilanswer
 

Cherrytree a écrit :


Autrement dit, je suis capable d'ouvrir un stream vers stdin... Comment ?


 
Jamais essayé à vrai idre, y a une fonction createConsole je crois (ou un truc du genre) regarde par là.


---------------
Le Tyran
n°471255
HelloWorld
Salut tout le monde!
Posté le 29-07-2003 à 17:46:15  profilanswer
 

Citation :

Autrement dit, je suis capable d'ouvrir un stream vers stdin... Comment ?


 
Ben voui, c'est même ce qui est fait pour cin.
C'est fait par la lib standard, dont le source est dispo dans le rep crt sous VC++.
Fichier cininit.cpp :

Code :
  1. istream_withassign cin(_new_crt filebuf(0));


 
filebuf(0) c'est stdin, et _new_crt c'est un simple new (sauf en debug).
Ca c'est pour le création, mais tu peux réouvrir stdin avec freopen.
T'as un exemple ici :
http://www.codeguru.com/console/dualmode.html
et en francais aussi :
http://www.alrj.org/docs/systeme/w [...] _chap6.htm
 
Y'a un bon exemple qui joue avec tout ça ici :
http://www.codeguru.com/console/Console.html


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°471260
HelloWorld
Salut tout le monde!
Posté le 29-07-2003 à 17:50:55  profilanswer
 

J'avais pas bien lu ...
Tu créé une console avec AllocConsole et tu récupère stdin ... avec GetStdHandle.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°471264
LetoII
Le dormeur doit se réveiller
Posté le 29-07-2003 à 17:53:11  profilanswer
 

HelloWorld a écrit :

J'avais pas bien lu ...
Tu créé une console avec AllocConsole et tu récupère stdin ... avec GetStdHandle.


Ha c AllocConsole, jt pas loin :D


---------------
Le Tyran
n°471352
Cherrytree
cn=?
Posté le 29-07-2003 à 19:43:15  profilanswer
 

Encore merci les gars. J'vais bosser le MS C ce soir, histoire de recoller avec votre réalité.


---------------
Le site de ma maman
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[C Windows] Signature d'une méthodeCherche documentation Java: GSJava au format PDF
GTK pour windows, ça existe ?Comment recupere t on la liste des processus sous windows (autre prob)
[Visual Studio] Empêcher debuggage sous windows !?LookandFeel windows ? marche pas
besoin de conseils pour dev C++/windows[C/C++ sockets windows] Limite de connexions sur un serveur
Génération de PDF, marchait sur IE 5, marche plus sur IE6[C] Existance d'un dossier & Utilisateur windows
Plus de sujets relatifs à : [C Windows] Imprimer un PDF


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR