Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
traitez-les comme une variable longue de sizeof(<Type>)*<Number_Elements> et tout se passera bien :)
Cette classe n'est donc nécessaire que pour transférer un pointeur ? Je pensais qu'il était possible d'utiliser des tableaux à la fois :(
traitez-les comme une variable longue de sizeof(<Type>)*<Number_Elements> et tout se passera bien :)
void OnStart()
{
CMemMapFile hmem ;
int err=hmem.Open("Local\\\\test",111,modeCreate) ;
int data[] ;
ArrayResize(data,50) ;
err=hmem.Write(data,ArraySize(data)*sizeof(int)) ;
ArrayInitialize(data,0) ;
hmem.Seek(0,SEEK_SET) ;
err=hmem.Read(data, ArraySize(data)*sizeof(int) ) ;
hmem.Close() ;
}
Ai-je bien fait ? Si ce n'est pas le cas, qu'est-ce qui ne va pas ?
baramantan:
Ai-je bien fait ?Demandez à debag, il le sait à 100 %.
Et pourquoi devez-vous répondre à mon post en déplaçant des flèches ?
Pouvez-vous montrer par un exemple comment passer un tableau int ou double ?
Comment allez-vous le vérifier si vous n'avez même pas de débogage ? Avez-vous l'habitude d'étudier l'informatique sur un tableau noir sans ordinateur à l'école ?
Si vous voulez des détails et des exemples, lisez MSDN.
En général, les gens peuvent être impudents. Ils ont déjà tout transféré vers MQL et ont tout mâché avec des commentaires,
alors pour eux d'écrire des fonctions pour leurs slivators aussi :) cela s'avère être étrange.
;)
Comment allez-vous le vérifier si vous n'avez même pas de débogage ? Avez-vous l'habitude d'étudier l'informatique sur un tableau noir sans ordinateur à l'école ?
Si vous voulez des détails et des exemples, lisez MSDN.
En général, les gens peuvent être impudents. Ils ont déjà tout transféré vers MQL et ont tout mâché avec des commentaires,
alors pour eux d'écrire des fonctions pour leurs slivators aussi :) cela s'avère être étrange.
;)
Je vais répondre à mes propres questions. J'ai dû ramasser ce produit à moitié fini et mal cuit.
Cette classe ne peut pas gérer les tableaux int et double pour une raison très simple.
La fonction déclarée ne peut pas accepter de tableaux de types int ou double. La classe ne peut gérer que des " virtual int Write(const uchar &buf[],int sz) ; // écrire le nombre spécifié d'octets en mémoire "
J'ai forgé la recette pour la finaliser à mes besoins, je poste ce que j'ai obtenu, on ne peut passer que des tableaux int. Si l'auteur ne finalise pas sa création, je posterai la mienne plus tard.
Je vais répondre à mes propres questions. J'ai dû faire quelques recherches
j'ai donc atteint mon objectif :)
Cette classe ne peut pas accepter les tableaux int et double pour une raison très simple.
La fonction déclarée ne peut pas accepter les tableaux de type int ou double.
Il s'agit d'une vérité évidente : elle accepte uchar, et non pas <quelque_type_nécessaire>.
De la même manière, vous pouvez exiger de ce "produit semi-fini", comme vous le dites, qu'il enregistre un tableau de structures avec des chaînes de caractères. Vous vous demandez pourquoi l'auteur n'a pas anticipé le "format de données dont j'ai besoin".
Mais on vous a donné une fonction universelle. moins d'un octet, il n'y a nulle part où diviser. C'est pourquoi il est stocké.
Puisque n'importe quel type de données peut être traduit en tableau uchar (lire des octets), c'est le plus universel pour une telle classe.
J'ai bricolé la recette pour la finaliser pour mes besoins, je poste ce que j'ai obtenu, on ne peut passer que des tableaux d'int.
oui. progrès :)
donc j'ai atteint mon but :)
Eh bien, c'est une vérité évidente. il accepte uchar, pas <quelque_type_nécessaire>.
De la même manière, on peut exiger de ce "produit semi-fini", comme vous le dites, de sauvegarder un tableau de structures avec des chaînes. Vous vous demandez pourquoi l'auteur n'a pas anticipé le "format de données dont j'ai besoin".
Mais on vous a donné une fonction universelle. moins d'un octet, il n'y a nulle part où diviser. C'est pourquoi il est stocké.
C'était uchar, maintenant c'est int.Puisque tout type de données peut être traduit en tableau uchar (lire des octets), c'est le plus universel pour une telle classe.
yeah. progrès :))
Je ne suis pas un méga programmeur, bien sûr. Mais je ne comprends pas où est l'universalité ? uchar ne peut pas être universel parce qu'il limite l'utilisateur, à savoir : uchar n'est utilisable que pour des valeurs positives. La valeur minimale est zéro, la valeur maximale est 255.
Toute donnée au-delà de la valeur de uchar devient égale à la valeur maximale ou minimale de uchar.
Sur la base de ce que j'ai dit, j'ai demandé dès le début "comment passer un int ou un double". Je ne comprends pas votre point de vue.