849
break; // Выход из чтения и рисования
//--------------------------------------------------------- 6 --
Dat_DtTm =StrToTime(Str_DtTm); // Преобразование типа данных
Instr =StringSubstr(Text,0,3);// Извлекаем первые 3 символа
One=StringSubstr(Symbol(),0,3);// Извлекаем первые 3 символа
Two=StringSubstr(Symbol(),3,3);// Извлекаем вторые 3 символа
Stl=STYLE_DOT; // Для всех - стиль пунктир
Col=DarkOrange; // Для всех - цвет такой
if(Instr==One || Instr==Two) // А для событий по нашему ..
{ // .. финансовому инструменту..
Stl=STYLE_SOLID; // .. такой стиль..
Col=Red; // .. и такой цвет верт. линии
}
//--------------------------------------------------------- 7 --
Obj_Name="News_Line "+Str_DtTm; // Имя объекта
ObjectCreate(Obj_Name,OBJ_VLINE,0,Dat_DtTm,0);//Создаем объект..
ObjectSet(Obj_Name,OBJPROP_COLOR, Col); // ..и его цвет,..
ObjectSet(Obj_Name,OBJPROP_STYLE, Stl); // ..стиль..
ObjectSetText(Obj_Name,Text,10); // ..и описание
}
//--------------------------------------------------------------- 8 --
FileClose( Handle ); // Закрываем файл
PlaySound("bulk.wav"); // Звуковое сопровождение
WindowRedraw(); // Перерисовываем объекты
return; // Выход из start()
}
//--------------------------------------------------------------- 9 --
В блоке 2-3 эксперта открыты и описаны используемые переменные. В блоке 3-4
осуществляется попытка открытия файла и производится анализ результатов этой
операции. Для открытия файла используется функция FileOpen():
Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");// Открытие файла
Попытка открытия файла не всегда заканчивается успехом. Неудача может быть в том
случае, если файла с указанным именем не существует. При неудачной попытке открыть
файл (файловый описатель - отрицательное число) выводится необходимое сообщение
пользователю и исполнение функции start() заканчивается.
В случае успешного открытия файла управление передаётся оператору цикла while (блоки
4-8). На каждой итерации этого цикла выполняется чтение данных из файла (блок 5-6),
преобразование и анализ этих данных (блок 6-7) и создание графического объекта с
координатами и свойствами, соответствующими последним прочитанным данным (блок
7-8).