Просьба - проблема с алертом

 
В Виндоуз, стандартный алерт раздвижной. То есть, если я ввожу Alert("string1\r\nstring2\r\nstring3"), то диалог увеличивается, чтобы вместить текст. У вас же он обрезает текст по нижнему краю диалога. Нельзя ли поправить?
 
думаю, нельзя =)
скажут "используй месседжбокс"... а он останавливает работу эксперта, насколько я знаю....
 
Предложение разработчикам. Сделайте, пожалуйста, окно текстового вывода, в который можно писать текст, также, как мы пишем в файл. То есть:

1. Окно уникально. Собственно, это не окно даже, а таб, такой же как журнал.
2. Есть возможность сохранить его в файл или скопировать в буфер.
3. Вывод осуществляется функциями, полностью аналогичными функциям файлового вывода, с той лишь разницей, что хэндлер не нужен. В идеале - одни и те же функции пишут в файл либо в это окно (если хэндлер равен -2).

Надеюсь, другие члены форума меня поддержат, и мы вместе сможем и разработчиков убедить.
 
типа дополнительный лог, только с отображением, как закладки "Журнал" и "Эксперты"?
Я за.
 
типа дополнительный лог, только с отображением, как закладки "Журнал" и "Эксперты"?
Я за.

Вкладка "Эксперты" как раз задумывалась для вывода данных эксперта.
Других вкладок и выводов не будет.
 
типа дополнительный лог, только с отображением, как закладки "Журнал" и "Эксперты"?
Я за.

Вкладка "Эксперты" как раз задумывалась для вывода данных эксперта.
Других вкладок и выводов не будет.


Попробую Вас переубедить. Как мне получить вывод ОДНОГО эксперта, а не всех кучей? В данный момент - только в файл. Но на данный момент я не нашел способа писать в файл из метатрейдера с закрыванием файла, затем открыванием его и записью в конец. Ну стирает он содержимое. Не согласны - покажите, как сделать. То есть в цикле for десять раз откройте текстовый файл, допишите строчку и закройте файл - тоже 10 раз, внутри цикла.

При других подходах (файл остается открытым до вызова деинит), чтобы посмотреть лог надо закрывать МТ. Неудобно.

Хорошо, если не хотите делать таб, сделайте обычное (уникальное) MDI окно. Пусть болтается наравне с экспертами. Это НИЧЕМУ в вашем дизайне не противоречит, зато будет удобно... Хотя таб был бы удобнее...
 
... или сделайте скроллируемый алерт. Разработчик сможет туда выводить предварительно скомпонованный текст. Назовите это не алерт, а как-то иначе, чтобы не было конфликтов, и введите возможность вызывать его не только программно, но и из интерфейса. То есть, вывел я текст, закрыл алерт, затем хочу освежить в памяти, что же там было. Из меню вызываю "показать алерт", и он всплывает с последним текстом.

А еще лучше - алерт (повторяю, название будет другим, чтобы нынешний алерт не портить) хранит в себе весь текст, и можно дописывать в конец. То есть, read only редактор с кнопкой закрытия, всегда поверх всех окон. Очистка - либо другой кнопкой, либо флагом при вызове следующей функции вывода текста, либо руками, если редактор не read only.

По-моему, будет удобно.
 
Но на данный момент я не нашел способа писать в файл из метатрейдера с закрыванием файла, затем открыванием его и записью в конец. Ну стирает он содержимое. Не согласны - покажите, как сделать.

Это делается очень просто - файл надо открывать с флагами FILE_READ | FILE_WRITE и не забывать скроллиться в конец файла.

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OutToLog(string filename,string str)
  {
   int handle;
//---- откроем файл на дозапись (FILE_READ | FILE_WRITE)
   handle=FileOpen(filename,FILE_BIN | FILE_READ | FILE_WRITE,';');
   if(handle<1) return;
//---- перейдем в конец файла
   FileSeek(handle,0,SEEK_END);
//---- допишем строчку
   FileWrite(handle,str);
   FileClose(handle);
  }
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
void start()
  {
   OutToLog("test","Symbol: "+Symbol()+" Bid: "+Bid);
  }



... или сделайте скроллируемый алерт

Алерты сделаем с хранением истории и возможностью просмотра любого из последних N-выводов. И окно алертов будет улучшено.

 
При других подходах (файл остается открытым до вызова деинит), чтобы посмотреть лог надо закрывать МТ. Неудобно.
еще можно FileFlush =)
ты всё-таки не смотрел мою библиотеку - там это уже есть =) не обязательно передирать один в один, но идею посмотреть мог бы ;)
 
По-моему я это пробовал. Но не уверен - попробую еще раз. Спасибо.
А все-таки, последний вариант с алертом могли бы сделать...
Причина обращения: