Toute question d'un PROFI à un SUPER PROFI - 1. - page 15

 
TheXpert:

Vous pourriez essayer de vous convertir.

Si j'ai le temps, je vais essayer de faire un exemple. Sinon... Ce code C++ doit être converti en MQL4 :

wstring doit être remplacé par un tableau d'ints et cela doit être pris en compte lors du recalcul de la taille.
Il doit être converti en WORD. Il est de 2 octets et INT de 4 octets. C'est-à-dire que nous devrons mettre deux personnages dans un seul INT. Haut 2 octets (premier) + bas 2 octets (deuxième).
 
Zhunko:
Il faut que ce soit en WORD, après tout. Il est de 2 octets et INT de 4 octets. C'est-à-dire qu'un INT doit contenir deux caractères. Haut 2 octets (premier) + bas 2 octets (deuxième).
Oui, c'est ce que je voulais dire quand je parlais de comptabilité par taille.
 

Vous devriez essayer. Peut-être n'y aura-t-il pas de problèmes en utilisant directement la fonction MultiByteToWideChar().

Pour le glisser un tableau INT. C'est par référence de toute façon. Quelle différence cela fait-il - quel type a-t-il ? Il est rempli non pas par type mais par octets.

Passez-le également à WinHttpConnect().

 
Zhunko:

Vous devriez essayer. Peut-être n'y aura-t-il pas de problèmes en utilisant directement la fonction MultiByteToWideChar().

Pour le glisser un tableau INT. C'est par référence de toute façon. Quelle différence cela fait-il - quel type a-t-il ? Il est rempli non pas par type mais par octets.

Passez-le également à WinHttpConnect().

fait un chèque

#import "kernel32.dll"
   int MultiByteToWideChar(int CodePage, int dwFlags,
                           string lpMultiByteStr, int cbMultiByte, int &lpWideCharStr[],int cchWideChar);
#import

int start()
{
        int wbuf[]; string st="1234";
        int n=MultiByteToWideChar (65001, 0, st, -1, wbuf, 0);
        ArrayResize(wbuf, n); MultiByteToWideChar (65001, 0, st, -1, wbuf, n);
        st=""; for (int i=0; i<n; i++) st=st+" "+DoubleToStr(wbuf[i],0); Print("arr="+st);
        st=""; for(i=0; i<ArraySize(wbuf); i++) for(int j=0; j<4; j++) st=st+CharToStr((wbuf[i]>>(j*8))&0xFF); 
        Print("after="+st);
}

Je ne sais toujours pas si MultiByteToWideChar fonctionne ou non, mais il enregistre les bonnes chaînes de caractères

J'ai également ajouté

#import "ntdll.dll"
   int RtlGetLastWin32Error();
   int RtlSetLastWin32Error(int dwErrCode);
#import 
        hSession=WinHttpOpen("MqlHttp", 0, "", "", 0);
        Print("hSession="+Http.hSession);

        RtlSetLastWin32Error(0); //сбрасываем последний код ошибки
        hConnect=WinHttpConnect(hSession, "www.mql4.com", 80, 0);
        if (hConnect<=0) Print("-Err create Connect "+RtlGetLastWin32Error());
erreur 12005 - URL invalide
 

La description de la fonction a été retravaillée et un tableau a été inséré à la place de la chaîne ServerName.

int WinHttpConnect(int hSession, int& pswzServerName[], int nServerPort, int dwReserved);

Mais ça n'a pas... Même erreur.

        RtlSetLastWin32Error(0); //сбрасываем
        int wHost[]; int n=MultiByteToWideChar (65001, 0, "www.mql4.com", -1, wHost, 0);
        ArrayResize(wHost, n); MultiByteToWideChar (65001, 0, "www.mql4.com", -1, wHost, n);
        hConnect=WinHttpConnect(hSession, wHost, 80, 0);
 

La question ne porte pas sur le langage MQL4. La question porte sur le C++. Beaucoup de gens ici connaissent cette langue. J'ai juste besoin de quelques conseils. Je n'ai pas placé ma question dans le fil des débutants, car les personnes qui découvrent la programmation en général le consultent souvent.

Scintilla

Je ne trouve pas d'instructions en russe sur la façon d'installer scintilla dans Borland C++ Builder 6.0 Enterprise Edition. La recherche sur google n'a pas donné de résultats. J'ai déjà épuisé mon temps à chercher dans les forums. Il n'y a tout simplement pas d'informations en russe. Je ne connais pas bien l'anglais à ce niveau. J'ai posé cette question sur des forums de C++ mais aucune réponse. Pourriez-vous me suggérer la marche à suivre pour y parvenir ?
J'ai téléchargé le programme d'installation depuis un site extérieur (joint à ce message)
.

Dossiers :
scintilla224.zip  1184 kb
 
drknn:

La question ne porte pas sur le langage MQL4. La question porte sur le C++. Beaucoup de gens ici connaissent cette langue. J'ai juste besoin de quelques conseils. Je n'ai pas placé ma question dans le fil des débutants, car les personnes qui découvrent la programmation en général le consultent souvent.

Scintilla

Je ne trouve pas d'instructions en russe sur la façon d'installer scintilla dans Borland C++ Builder 6.0 Enterprise Edition. La recherche sur google n'a pas donné de résultats. J'ai déjà épuisé les recherches dans les forums. Il n'y a tout simplement aucune information en russe. Je ne connais pas bien l'anglais à ce niveau. J'ai posé cette question sur des forums de C++ mais aucune réponse. Pourriez-vous me suggérer la marche à suivre pour y parvenir ?
J'ai téléchargé le programme d'installation à partir d'un site externe (joint à ce message).

Voulez-vous l'intégrer en tant que VCL dans l'environnement ? Vous devrez écrire le composant à la main, je ne vois pas d'autre moyen...
 
sergeev:

La description de la fonction a été retravaillée et un tableau a été inséré à la place de la chaîne ServerName.

Mais ça n'a pas... Même erreur.

C'est peut-être stupide mais... Avez-vous essayé d'ajouter HTTP:// à l'URL ?
 
alsu:
Voulez-vous l'intégrer en tant que VCL dans l'environnement ? Vous devrez écrire le composant à la main, je ne vois pas d'autre moyen...

D'après ce que je comprends, je n'ai pas besoin d'un seul composant, mais de toute une palette de composants. J'ai essayé d'intégrer une palette SynEdit similaire dans Borland.Delphi.v7.0. Ce que je n'aime pas, c'est que la numérotation des lignes de l'éditeur de texte commence à partir de 01 et non de 1 comme c'est le cas dans Notepad++. De plus, je n'ai pas trouvé de composant dans SynEdit qui permette de mettre en évidence la syntaxe du langage utilisateur. Toutes sortes de C++, pascal, java, php... ...mais pas de langage personnalisé. Ou peut-être qu'il y en a un, mais je ne l'ai pas trouvé. J'ai donc pensé qu'il existait une alternative - skintilla - dont j'ai entendu parler sur Internet. J'ai donc cherché des instructions sur Google. Mais il n'y a rien. Sur les forums, c'est la même chose. Cependant, j'ai vu des gens écrire qu'ils utilisaient tel ou tel composant de Skintilla. Mais personne ne mentionne comment il est arrivé sur la palette. C'est bizarre...
 

J'ai besoin de palettes comme celle-ci