Как записать а потом считать данные в Массив в формате double?

 

Как записать а потом считать данные в Массив в формате double? Народ вторые сутки сижу ну хоть кто нить примерчик, как разделять данные???... 

Как заставить понимать что надо отдельно в определенные сегменты массива записывать время открытие закрытие, а там такой бред, тупо набор данных :(((( Которые фиг знает как сортировать! 

 
DetRoyD писал(а) >>

Как записать а потом считать данные в Массив в формате double? Народ вторые сутки сижу ну хоть кто нить примерчик, как разделять данные???...

Как заставить понимать что надо отдельно в определенные сегменты массива записывать время открытие закрытие, а там такой бред, тупо набор данных :(((( Которые фиг знает как сортировать!

А в справке ты посмотрел операции с файлами. Такие как запись, чтение. За 4 дня можно было этот раздел наизусть выучить.

Там все это есть.

FileReadArray( int handle, object &array[], int start, int count)
Функция читает указанное число элементов из двоичного файла в массив. Перед чтением данных массив должен быть достаточного размера. Функция возвращает количество фактически прочитанных элементов.
Для того чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

double FileReadDouble( int handle, int size=DOUBLE_VALUE)

Функция читает число двойной точности с плавающей точкой (double) из текущей позиции бинарного файла. Размер числа может быть 8 байтов (double) или 4 байта (float).
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileReadInteger( int handle, int size=LONG_VALUE)

Функция читает целое число из текущей позиции бинарного файла. Размер целого числа может быть 1, 2 или 4 байта. Если размер числа не указан, система пытается прочитать как 4-байтовое целое число.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

double FileReadNumber( int handle)
Чтение числа с текущей позиции файла CSV до разделителя. Применяется только для файлов CSV.
Для того чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

string FileReadString( int handle, int length=0)
Функция читает строку с текущей позиции файла. Применяется как к CSV, так и к двоичным файлам. Для текстовых файлов строка будет прочитана до разделителя. Для бинарных файлов в строку будет прочитано указанное количество символов.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWrite( int handle, ...)
Функция предназначена для записи данных в файл CSV, разделитель между данными включается автоматически. После записи в файл добавляется признак конца строки "\r\n". При выводе числовые данные преобразуются в текстовый формат (см. функцию Print()).
Возвращает количество записанных символов или отрицательное значение, если происходит ошибка .
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWriteArray( int handle, object array[], int start, int count)

Функция записывает массив в бинарный файл. Массивы типа int, bool, datetime и color записываются поэлементно как 4-байтовые целые числа. Массивы типа double записываются поэлементно как 8-байтовые числа c плавающей запятой. Массивы типа string записываются построчно, после каждой строки автоматически добавляется признак конца строки "\r\n".
Возвращает число записанных элементов или отрицательное значение в случае ошибки.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWriteDouble( int handle, double value, int size=DOUBLE_VALUE)

Функция записывает число с плавающей запятой в двоичный файл. Если формат задан FLOAT_VALUE, то значение будет записано как 4-байтовое число с плавающей запятой (тип float), иначе будет записан в 8-байтовом формате с плавающей запятой (тип double).
Возвращает фактически записанное число байт или отрицательное значение в случае ошибки.
Для того чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWriteInteger( int handle, int value, int size=LONG_VALUE)
Функция записывает значение целого числа в двоичный файл. Если размер - SHORT_VALUE, значение будет записано как 2-байтовое целое число (тип short), если размер - CHAR_VALUE, значение будет записано как 1-байтовое целое число (тип char), если размер - LONG_VALUE, значение будет записано как 4-байтовое целое число (тип long int).
Возвращает число фактически записанных байтов или отрицательное значение в случае ошибки.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWriteString( int handle, string value, int size)
Функция записывает строку в двоичный файл с текущей позиции.
Возвращает число фактически записанных байтов или отрицательное значение в случае ошибки.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

 
DetRoyD писал(а) >>

Как записать а потом считать данные в Массив в формате double? Народ вторые сутки сижу ну хоть кто нить примерчик, как разделять данные???...

Как заставить понимать что надо отдельно в определенные сегменты массива записывать время открытие закрытие, а там такой бред, тупо набор данных :(((( Которые фиг знает как сортировать!

Боюсь, при так сформулированном вопросе Вам никто не сможет помочь. Опишите подробнее что Вы все-таки хотите сделать, ведь "не бред по массиву распихивать"?

Vinin писал(а) >>

А в справке ты посмотрел операции с файлами. Такие как запись, чтение. За 4 дня можно было этот раздел наизусть выучить.

Интересно, а почему Вы решили что речь о записе\чтении файла идет???) Надо мне потренеровать свою прозорливость...

 
Vinin >>:

А в справке ты посмотрел операции с файлами. Такие как запись, чтение. За 4 дня можно было этот раздел наизусть выучить.

Там все это есть.

FileReadArray(int handle, object &array[], int start, int count)
Функция читает указанное число элементов из двоичного файла в массив. Перед чтением данных массив должен быть достаточного размера. Функция возвращает количество фактически прочитанных элементов.
Для того чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

double FileReadDouble(int handle, int size=DOUBLE_VALUE)

Функция читает число двойной точности с плавающей точкой (double) из текущей позиции бинарного файла. Размер числа может быть 8 байтов (double) или 4 байта (float).
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileReadInteger(int handle, int size=LONG_VALUE)

Функция читает целое число из текущей позиции бинарного файла. Размер целого числа может быть 1, 2 или 4 байта. Если размер числа не указан, система пытается прочитать как 4-байтовое целое число.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

double FileReadNumber(int handle)
Чтение числа с текущей позиции файла CSV до разделителя. Применяется только для файлов CSV.
Для того чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

string FileReadString(int handle, int length=0)
Функция читает строку с текущей позиции файла. Применяется как к CSV, так и к двоичным файлам. Для текстовых файлов строка будет прочитана до разделителя. Для бинарных файлов в строку будет прочитано указанное количество символов.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWrite(int handle, ...)
Функция предназначена для записи данных в файл CSV, разделитель между данными включается автоматически. После записи в файл добавляется признак конца строки "\r\n". При выводе числовые данные преобразуются в текстовый формат (см. функцию Print()).
Возвращает количество записанных символов или отрицательное значение, если происходит ошибка .
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWriteArray(int handle, object array[], int start, int count)

Функция записывает массив в бинарный файл. Массивы типа int, bool, datetime и color записываются поэлементно как 4-байтовые целые числа. Массивы типа double записываются поэлементно как 8-байтовые числа c плавающей запятой. Массивы типа string записываются построчно, после каждой строки автоматически добавляется признак конца строки "\r\n".
Возвращает число записанных элементов или отрицательное значение в случае ошибки.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWriteDouble(int handle, double value, int size=DOUBLE_VALUE)

Функция записывает число с плавающей запятой в двоичный файл. Если формат задан FLOAT_VALUE, то значение будет записано как 4-байтовое число с плавающей запятой (тип float), иначе будет записан в 8-байтовом формате с плавающей запятой (тип double).
Возвращает фактически записанное число байт или отрицательное значение в случае ошибки.
Для того чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWriteInteger(int handle, int value, int size=LONG_VALUE)
Функция записывает значение целого числа в двоичный файл. Если размер - SHORT_VALUE, значение будет записано как 2-байтовое целое число (тип short), если размер - CHAR_VALUE, значение будет записано как 1-байтовое целое число (тип char), если размер - LONG_VALUE, значение будет записано как 4-байтовое целое число (тип long int).
Возвращает число фактически записанных байтов или отрицательное значение в случае ошибки.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

int FileWriteString(int handle, string value, int size)
Функция записывает строку в двоичный файл с текущей позиции.
Возвращает число фактически записанных байтов или отрицательное значение в случае ошибки.
Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().


Справку я и сам мог прочитать! ЗАчем ее скидывать, я понять не мог пары моментов и просил примерчик а не учебник скидывать!!! Сам уже дагодался!
 
DetRoyD писал(а) >>

Справку я и сам мог прочитать! ЗАчем ее скидывать, я понять не мог пары моментов и просил примерчик а не учебник скидывать!!! Сам уже дагодался!

Тогда надо корректно ставить вопросы. Правильный вопрос - половина ответа

 

Примерчик:

   double x[3][2];
   
   x[0][0]=1;
   x[0][1]=2;   
   x[1][0]=3;
   x[1][1]=4;     
   x[2][0]=5;
   x[2][1]=6;     
   
   int h=FileOpen("test.bin",FILE_BIN|FILE_WRITE);
   FileWriteInteger(h,ArraySize(x),LONG_VALUE);
   FileWriteArray(h,x,0,ArraySize(x));
   FileClose(h);
   
   double y[][2];
   
   h=FileOpen("test.bin",FILE_BIN|FILE_READ);
   int s=FileReadInteger(h,LONG_VALUE);
   ArrayResize(y,s);
   FileReadArray(h,y,0,s);
   FileClose(h);   
   
   
   Alert("===========");
   Alert(y[0][0]);
   Alert(y[0][1]);   
   Alert(y[1][0]);
   Alert(y[1][1]);     
   Alert(y[2][0]);
   Alert(y[2][1]);   
   
 
Integer >>:

Примерчик:


Большое спасибо!
Причина обращения: