Некорректная работа функции FileTell() ... - страница 2

 
FxRoller:

Про моду ничего сказать не могу, а вот функция FileTell работает неправильно!
покажи строчки из Журнала Эксперт = куды принт выводит инфу...
 
FxRoller:

Точку с запятой убирать пробовал - ничего не дает.
скинь файл с которого читаешь, создавать не охота
 
Aleksander:

писец... а что ты хотел? -

открыл файл - филетелл = 0

считал строку - Указатель переместился на конец считанной строки... Чего ты хотишь то?


В документации написано, что информация из CSV файлов читается до разделителя, почему же тогда указатель сразу должен быть в конце строки?
 
Aleksander:
покажи строчки из Журнала Эксперт = куды принт выводит инфу...
 
sanyooooook:
скинь файл с которого читаешь, создавать не охота
Файлы:
t1.zip  1 kb
 
Aleksander:


02:24:41 Test1 EURUSD,M15: loaded successfully

02:24:41 Test1 EURUSD,M15: Текущая позиция (должно быть 7): 53

02:24:41 Test1 EURUSD,M15: Текущая позиция (должно быть 24): 53

02:24:41 Test1 EURUSD,M15: Текущая позиция (должно быть 31): 53

02:24:41 Test1 EURUSD,M15: Текущая позиция (должно быть 38): 53

02:24:41 Test1 EURUSD,M15: Текущая позиция (должно быть 45): 53

02:24:41 Test1 EURUSD,M15: Текущая позиция (должно быть 53): 53

02:24:41 Test1 EURUSD,M15: uninit reason 0

 

Реальный глюк!

2010.12.13 01:45:29 Test1 EURUSD,H1: 1.32270000 _close Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 53): 53

2010.12.13 01:45:29 Test1 EURUSD,H1: 1.32250000 _low Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 45): 53
2010.12.13 01:45:29 Test1 EURUSD,H1: 1.32320000 _high Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 38): 53
2010.12.13 01:45:29 Test1 EURUSD,H1: 1.32310000 _open Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 31): 53
2010.12.13 01:45:29 Test1 EURUSD,H1: 2010.12.10 22:30 _date Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 24): 53
2010.12.13 01:45:29 Test1 EURUSD,H1: EURUSD symb Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 7): 53


Кстати, если не поставить в конец файла спуск каретки, то скрипт Зависает на чтении цены Close!!!!

2010.12.13 01:42:49 Test1 EURUSD,H1: 1.32250000 Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 45): 51
2010.12.13 01:42:49 Test1 EURUSD,H1: 1.32320000 Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 38): 51
2010.12.13 01:42:49 Test1 EURUSD,H1: 1.32310000 Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 31): 51
2010.12.13 01:42:49 Test1 EURUSD,H1: 2010.12.10 22:30 Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 24): 51
2010.12.13 01:42:49 Test1 EURUSD,H1: EURUSD Òåêóùàÿ ïîçèöèÿ (äîëæíî áûòü 7): 51

 

Народ, проверьте по быстрому этот скрипт. Будем писать коллективную жалобу в сервисдеск. :)

 

скорее всего функция

string FileReadString( int handle, int length=0) 

читает все таки до конца строки

 
   int MyFileTell=0;    
   
   
   handle = FileOpen("1.txt", FILE_CSV|FILE_READ);

   symb = FileReadString(handle);     
   MyFileTell+=StringLen(symb)+1;
   Alert(symb," ",MyFileTell);

   symb = FileReadString(handle);     
   MyFileTell+=StringLen(symb)+1;
   Alert(symb," ",MyFileTell);
      
   symb = FileReadString(handle);  
   MyFileTell+=StringLen(symb)+1;
   Alert(symb," ",MyFileTell);

   symb = FileReadString(handle);     
   MyFileTell+=StringLen(symb)+1;
   Alert(symb," ",MyFileTell);
   
   FileClose(handle);

Гы гы! Вот вам правильный FileTell.

Причина обращения: