Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
относитесь к ним как к длинным переменный размером sizeof(<Тип>)*<Число_Элементов> и все пАлучится :)
Тк этот класс нужен для того чтобы только указатель передовать? Я то думал можно сразу массивы пулять :(
относитесь к ним как к длинным переменный размером sizeof(<Тип>)*<Число_Элементов> и все пАлучится :)
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();
}
Я правильно зделал? Если нет то что неправильно?
baramantan:
Я правильно зделал?спросите это у дебага. он знает на 100%.
И зачем отвечать на мой пост переводя стрелки?
Ты можешь на примере показать как передать массив int или double?
как же вы его проверите, если у вас даже дебага нет? привыкли в школе информатику на доске изучать без компьютера?
хотите деталей и примеров - читайте MSDN.
Вообще наглый народец бывает. Ему уже и в MQL все перенесли и разжевали всё коментами,
так за них еще и функции для их сливаторов писать :) чудно получается. вроде как чем обязан что ли.
;)
как же вы его проверите, если у вас даже дебага нет? привыкли в школе информатику на доске изучать без компьютера?
хотите деталей и примеров - читайте MSDN.
Вообще наглый народец бывает. Ему уже и в MQL все перенесли и разжевали всё коментами,
так за них еще и функции для их сливаторов писать :) чудно получается. вроде как чем обязан что ли.
;)
Чтож поделать отвечу на свои вапросы сам. Пришлось ковырять этот полуфабрикат недовареный.
Данный класс не может передовать массивы int и double по очень простой причине.
Обьявленная функция не может принимать массивы типа int или double. Класс может передовать только uchar " virtual int Write(const uchar &buf[],int sz); // запись в память указанное число байт "
Поковырял рецепт чтобы доворить под свои нужды, выкладываю что получилось, можно только int массивы передавать. Если автор не доварит свае творение выложу позже свою.
Чтож поделать отвечу на свои вапросы сам. Пришлось ковырять
значит я свою цель выполнил :)
Данный класс не может передовать массивы int и double по очень простой причине.
Обьявленная функция не может принимать массивы типа int или double.
ну дык это прописная истина. она ж uchar принимает. а не <какой_то_нужный_кому_то_тип>.
с таким же видом можно требовать от этого, как вы выразились "полуфабриката" и сохранения массива структур со строками. Топать ножкой - почему автор не предугадал "нужный мне" формат данных.
Но вам дали одну универсальную функцию. меньше байта уже некуда дробить. Поэтому она и сохраняется.
Так как в массив uchar (читай байты) можно перевести любой тип данных, то именно он является самым универсальным для такого класса.
Поковырял рецепт чтобы доворить под свои нужды, выкладываю что получилось, можно только int массивы передавать.
да уж. прогресс :)
значит я свою цель выполнил :)
ну дык это прописная истина. она ж uchar принимает. а не <какой_то_нужный_кому_то_тип>.
с таким же видом можно требовать от этого, как вы выразились "полуфабриката" и сохранения массива структур со строками. Топать ножкой - почему автор не предугадал "нужный мне" формат данных.
Но вам дали одну универсальную функцию. меньше байта уже некуда дробить. Поэтому она и сохраняется.
было с uchar, стало с int.Так как в массив uchar (читай байты) можно перевести любой тип данных, то именно он является самым универсальным для такого класса.
да уж. прогресс :)
Я конечно не мега программер. Но слехка не понимаю где тут универсальность? uchar не может быть универсальным так как ограничивает пользователя, а именно: uchar предназначен только для положительных значений. Минимальное значение равно нулю, максимальное значение равно 255.
Любые данные выходящие за пределы значения uchar становятся равными максимальным или минимальным значениям uchar.
Исходя из сказанного я и спросил с самого начала "как передовать int или double". Я не улавливаю вашу мысль шеф.