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

  FORUM HardWare.fr
  Programmation
  C++

  Cherche un codeur C pour màj d'une dll (1h max)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Cherche un codeur C pour màj d'une dll (1h max)

n°1514642
rc_jk78
Posté le 14-02-2007 à 16:29:45  profilanswer
 

Salut!
 
Je cherche un volontaire qui pourrait me faire la mise à jour d'une dll. Je m'explique: j'utilise litestep, un programme modulaire. On peu rajouter des dlls pour avoir des fonctions supplémentaires (un peu comme foobar, ou miranda). Or, il y'a un module qui n'est plus supporté par son auteur (l'auteur est injoignable, ou à laché l'affaire).
 
Il s'agit d'un module TRES TRES simple, et les sources sont disponibles ici: http://alphafish.com/?page=article&id=18, Message 0.2 (3 kB) (source).
La mise à jour est possible sans avoir de problemes de licenses.  
 
Je suis conscient que coder une dll sans connaitre le programme peut paraitre bizzare, mais ce n'est pas compliqué. Je pense qu'il faut y plancher dessus pendant 1heure à tout casser, vu la simplicité du module, mais moi je n'y connais pas assez (et pourtant, j'ai essayé). Il y a une 50aines de lignes tout au plus
 
Le module permet d'afficher des boites de dialogue du type: popup. On peut afficher ce que l'on veux dans cette boite, mais il manque le support du retour chariot n/ . C'est ce que je voudrais qu'il supporte :-)
 
Merci beaucoup, au moins de me répondre, et de me donner des orientations, si vous ne pouvez rien faire!
 
@ +

mood
Publicité
Posté le 14-02-2007 à 16:29:45  profilanswer
 

n°1514650
flo850
moi je
Posté le 14-02-2007 à 16:44:52  profilanswer
 

tu as essaye de mettre des  \r\n a la place de \n ?

n°1514673
rc_jk78
Posté le 14-02-2007 à 17:21:28  profilanswer
 

Oh, j'en ai essayé plein, mais rien ne marche (je viens de le tester ,sans résultats)
 
CJe pense qu'il faut l'implémenter :s

n°1515010
rc_jk78
Posté le 15-02-2007 à 13:42:05  profilanswer
 

Up?
 
SVP, y'en a pas pour beaucoupe de temps, juste un investissement de 1 haures :)

n°1515011
_darkalt3_
Proctopathe
Posté le 15-02-2007 à 13:46:20  profilanswer
 

Comment tu sais qu'il y en a que pour 1h ?


---------------
Töp of the plöp
n°1515046
rc_jk78
Posté le 15-02-2007 à 14:23:06  profilanswer
 

hé bien j'ai essayé d'apprendre un peu le C (bin site du zero)... J'ai essayé de faire des tests, mais il s'avere que je n'ai aucune experience, et je n'ai pas réussis.
Les sources tiennent en 3 fichiers, mais un seul ne semble etre à modifier. le code est extremement simple 2 ou 3 fonctions apparement, mais je ne sais pas quoi ajouter, ou meme faire.
Je pense qu'il s'agit de quelques lignes bien placées, et voila...
 
Enfin, je ne pense pas que cela soit compliqué... Si quelqu'un au moins pouvais JUSTE jeter un coup d'oeil?
 
Merci

n°1515118
straffo
Posté le 15-02-2007 à 16:30:21  profilanswer
 

J'ai pas trop compris ton pb
 
IMO ce qu'il faut c'est que dans la chaine passée en paramètre tu positionne un marqueur indiquant que tu veux sauter une ligne et dans la fonction bangMessageBox dès que tu trouve ce marqueur tu lui substitue un \n.
 
Example sauf erreur avec # comme marqueur  
 
MessageBox "ari" "error" "chaine1#chaine2" ...

n°1515254
rc_jk78
Posté le 15-02-2007 à 21:27:55  profilanswer
 

Ué, ou alors, donnez moi des indics!
 
@Straffo: oui, ca pourrait etre suffisant:)
Donc, si le caractere "/n" est trouvé, alors sauter une ligne. Comment j'écris ca en C ?
 
Je saurais le recompiler :D
 
Message.H

Code :
  1. #ifndef __MESSAGE_H
  2. #define __MESSAGE_H
  3. #define WIN32_LEAN_AND_MEAN
  4. #pragma warning(disable: 4786) // STL naming warnings
  5. #include <windows.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. #include "../ls-b247/lsapi/lsapi.h"
  9. extern "C" {
  10. void bangMessageBox(HWND caller, LPCSTR args);
  11. __declspec( dllexport ) int initModuleEx(HWND parent, HINSTANCE dll, LPCSTR szPath);
  12. __declspec( dllexport ) void quitModule(HINSTANCE dllInst);
  13. }
  14. #endif //__MESSAGE_H


 
 
message.cpp

Code :
  1. #include "message.h"
  2. int initModuleEx(HWND parentWnd, HINSTANCE dllInst, LPCSTR szPath)
  3. {
  4. AddBangCommand("!MessageBox", bangMessageBox);
  5. return 0;
  6. }
  7. void quitModule(HINSTANCE dllInst)
  8. {
  9. RemoveBangCommand("!MessageBox" );
  10. }
  11. void bangMessageBox(HWND caller, LPCSTR args)
  12. {
  13. char token[MAX_LINE_LENGTH], message[MAX_LINE_LENGTH], title[MAX_LINE_LENGTH];
  14. char command[3][MAX_LINE_LENGTH];
  15. LPCSTR nextToken = args;
  16. UINT flags;
  17.     UINT icon;
  18. int result;
  19. GetToken(nextToken, token, &nextToken, true);
  20. if(lstrcmpi(token, "ari" ) == 0) flags = MB_ABORTRETRYIGNORE;
  21. else if(lstrcmpi(token, "ctc" ) == 0) flags = MB_CANCELTRYCONTINUE;
  22.     else if(lstrcmpi(token, "o" ) == 0) flags = MB_OK;
  23. else if(lstrcmpi(token, "oc" ) == 0) flags = MB_OKCANCEL;
  24. else if(lstrcmpi(token, "rc" ) == 0) flags = MB_RETRYCANCEL;
  25. else if(lstrcmpi(token, "yn" ) == 0) flags = MB_YESNO;
  26. else if(lstrcmpi(token, "ync" ) == 0) flags = MB_YESNOCANCEL;
  27. else return;
  28.     GetToken(nextToken, token, &nextToken, true);
  29.     if(lstrcmpi(token, "error" ) == 0) icon = MB_ICONERROR;
  30.     else if(lstrcmpi(token, "warning" ) == 0) icon = MB_ICONWARNING;
  31.     else if(lstrcmpi(token, "info" ) == 0) icon = MB_ICONINFORMATION;
  32.     else if(lstrcmpi(token, "question" ) == 0) icon = MB_ICONQUESTION;
  33.     else icon = 0;
  34.    
  35.     if (icon)
  36.     {
  37.         GetToken(nextToken, token, &nextToken, true);
  38.     }
  39. strcpy(message, token);
  40. GetToken(nextToken, token, &nextToken, true);
  41.     strcpy(title, token);
  42. for(int i=0; i<3; i++)
  43. {
  44.  GetToken(nextToken, token, &nextToken, true);
  45.  strcpy(command[i], token);
  46. }
  47. i=0;
  48. result = MessageBox(caller, message, title,
  49.         flags | icon | MB_TOPMOST | MB_SETFOREGROUND);
  50.     switch(flags)
  51. {
  52. case MB_ABORTRETRYIGNORE:
  53.  if(result==IDRETRY)
  54.   i = 1;
  55.  else if(result==IDIGNORE)
  56.   i = 2;
  57.  break;
  58.     case MB_CANCELTRYCONTINUE:
  59.         if(result==IDTRYAGAIN)
  60.             i = 1;
  61.         else if(result==IDCONTINUE)
  62.             i = 2;
  63.         break;
  64.     case MB_OKCANCEL:
  65.  if(result==IDCANCEL)
  66.   i = 1;
  67.  break;
  68. case MB_RETRYCANCEL:
  69.  if(result==IDCANCEL)
  70.   i = 1;
  71.  break;
  72. case MB_YESNO:
  73.  if(result==IDNO)
  74.   i = 1;
  75.  break;
  76. case MB_YESNOCANCEL:
  77.  if(result==IDNO)
  78.   i = 1;
  79.  else if(result==IDCANCEL)
  80.   i = 2;
  81.  break;
  82. }
  83. LSExecute(caller, command[i], SW_SHOWDEFAULT);
  84. }


 

n°1515255
rc_jk78
Posté le 15-02-2007 à 21:29:32  profilanswer
 

y'ai deux autres fichiers, mais je pensent pas qu'ils soient utiles..

n°1515709
rc_jk78
Posté le 16-02-2007 à 18:05:44  profilanswer
 

Up ?

mood
Publicité
Posté le 16-02-2007 à 18:05:44  profilanswer
 

n°1516180
rc_jk78
Posté le 18-02-2007 à 17:27:41  profilanswer
 

up? 2x :'(


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Cherche un codeur C pour màj d'une dll (1h max)

 

Sujets relatifs
[C#] [Résolu] Comment communiquer avec une dll c++cherche à créer un fil d'ariane
[PHP]cherche un script de "classement"recherche codeur PHP pour jeu de rôle en ligne gratuit.
Cherche formation ergonomie des IHMDébutant cherche tutos basique pour faire jeu en flash.
cherche exemples php avec base mysqlCodeur HTML amateur ou confirmé??
Plus de sujets relatifs à : Cherche un codeur C pour màj d'une dll (1h max)


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