Работа с таблицами Квика

Страницы: 1
RSS
Работа с таблицами Квика
 
Документация написана не очень понятно (для меня). Ответьте, пожалуйста, на вопросы и дополните документацию.

1. DestroyTable - написано что "закрывает окно таблицы". Эта функция просто закрывает окно таблицы (и потом его можно заново пересоздать с помощью CreateWindow) или она удаляет (освобождает) структуру таблицы, созданную в AllocTable? Результат ф-ции имеет тип NUMBER, при этом возвращает значения true и false.

2. AddColumn - параметр iCode назван как "код параметра, выводимого в колонке". Как это понимать? Просто как номер столбца? И нумеруется он с единицы или с нуля?
Чем отличаются QTABLE_CACHED_STRING_TYPE и QTABLE_STRING_TYPE? Какой использовать тип для вывода строки?

3. InsertRow - параметр key назван как "ключ". Это просто номер строки? И с какого числа он нумеруется (с 1/0)?
 
Добрый день,

Цитата
Constantin написал:
1. DestroyTable - написано что "закрывает окно таблицы". Эта функция просто закрывает окно таблицы (и потом его можно заново пересоздать с помощью CreateWindow) или она удаляет (освобождает) структуру таблицы, созданную в AllocTable?
Функция DestroyTable удаляет структуру таблицы. Все данные для отображения при закрытии окна удаляются.

Цитата
Constantin написал:
Результат ф-ции имеет тип NUMBER, при этом возвращает значения true и false.
Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Цитата
Constantin написал:
2. AddColumn - параметр iCode назван как "код параметра, выводимого в колонке". Как это понимать? Просто как номер столбца? И нумеруется он с единицы или с нуля?
Параметр iCode задает последовательность столбцов в таблице: наибольшее относительное значение будет означать размещение столбца правее остальных, наименьшее - левее. Нумерация может быть начата с нуля.
Цитата
Constantin написал:
Чем отличаются QTABLE_CACHED_STRING_TYPE и QTABLE_STRING_TYPE? Какой использовать тип для вывода строки?
При использовании QTABLE_CACHED_STRING_TYPE в ячейке таблицы хранится  ссылка на специальную таблицу уникальных строковых констант, которая  заполняется по мере добавления данных. Это экономит память при  многократном использовании  повторяющихся значений. Например, если Вы  хотите создать аналог таблицы всех сделок, то поле "направление сделки"  может принимать значение "Покупка" или "Продажа". В этом случае  использование QTABLE_CACHED_STRING_TYPE для столбца будет наиболее  эффективным.

Цитата
Constantin написал:
3. InsertRow - параметр key назван как "ключ". Это просто номер строки? И с какого числа он нумеруется (с 1/0)?
Параметр key функции InsertRow определяет строку таблицы. Может нумероваться с 1, значение -1 добавляет строку в конец таблицы.
 
Цитата
Stanislav Tvorogov написал:
Функция DestroyTable удаляет структуру таблицы. Все данные для отображения при закрытии окна удаляются.
У меня (в Квике 6.17.1.17) если окно таблицы открыто, то при вызове DestroyTable Квик на несколько секунд подвисает (Windows пишет что программа не отвечает), а потом продолжает работать. При этом окно таблицы остается открытым. Не знаю может быть в новых версиях Квика это исправлено.
 
Цитата
Constantin написал:
У меня (в Квике 6.17.1.17) если окно таблицы открыто, то при вызове DestroyTable Квик на несколько секунд подвисает (Windows пишет что программа не отвечает), а потом продолжает работать. При этом окно таблицы остается открытым. Не знаю может быть в новых версиях Квика это исправлено.
Добрый день,

Для диагностики проблемы просьба прислать скрипт, на котором наблюдается проблема на адрес: quiksupport@arqatech.com указав в письме ссылку на данную ветку форума.
 
Добрый день,
   
    Документация будет исправлена в одной из очередных версий программы.
    Приносим извинения за причиненные неудобства.
 
Цитата
Stanislav Tvorogov написал:
Constantin написал:
Результат ф-ции имеет тип NUMBER, при этом возвращает значения true и false.
Добрый день,  
     
    Описанная проблема была устранена в версии 7.4.0     терминала QUIK.      
    Рекомендуем Вам обновить версию программы.      
    Приносим извинения за причиненные неудобства.
 
Здравствуйте!

В документации сказано, что функция DestroyTable закрывает окно таблицы с идентификатором «t_id».  Однако, функция только очищает таблицу, а окно не закрывается. Какой функцией можно закрыть окно? Вообще странно, есть функция IsWindowClosed для проверки закрыто ли окно, но я не нашёл функции, которая закрывает. Получается нужно остановить скрипт, а потом ещё закрывать пустое окно.  :(
 
Здравствуйте,
Проблема изучается. Постараемся в ближайшее время дать ответ.
 
Цитата
Mikhail Ran написал:
Здравствуйте!

В документации сказано, что функция DestroyTable  закрывает окно таблицы с идентификатором «t_id».  Однако, функция только очищает таблицу, а окно не закрывается. Какой функцией можно закрыть окно? Вообще странно, есть функция IsWindowClosed для проверки закрыто ли окно, но я не нашёл функции, которая закрывает. Получается нужно остановить скрипт, а потом ещё закрывать пустое окно.  :(
Добрый день.

Действительно, описываемое поведение некорректно. IsWindowClosed()  возвращает TRUE только в случае, если окно таблицы было закрыть  "вручную" (т.е. кликом мыши по "крестику").
Ошибка будет исправлена в одной из очередных версий программы.
Приносим извинения за причиненные неудобства.
 
Здравствуйте!

Функция DestroyTable  будет закрывать окно таблицы?
 
Цитата
Mikhail Ran написал:
Здравствуйте!

Функция DestroyTable  будет закрывать окно таблицы?

Она и так ее закрывает.
Обнаружена ошибка в функции IsWindowClosed которая показывает будто таблица всё еще открыта.
 
Цитата
Alexey Ivannikov написал:
Действительно, описываемое поведение некорректно. IsWindowClosed()  возвращает TRUE только в случае, если окно таблицы было закрыть  "вручную" (т.е. кликом мыши по "крестику"). Ошибка будет исправлена в одной из очередных версий программы.

Главное исправить так, чтобы было понятно, какую таблицу можно повторно открыть с помощью CreateWindow, а кукую нужно создавать заново, чтобы результат работы кода
Код
if IsWindowClosed(id) == true then CreateWindow(id) end
был предсказуем.
Надо делать так, как надо. А как не надо - делать не надо.
 
Вдруг откуда ни возьмись появилось...

в вызове функции  NUMBER AddColumn (NUMBER t_id, NUMBER iCode, STRING name, BOOLEAN  is_default, NUMBER par_type, NUMBER width)

в примере документации (приложение 1)  появляется функция формата:

t:AddColumn("test1", QTABLE_INT_TYPE, 10,format1)
---------------
Предупреждать надо.
 
Цитата
nikolz написал:
В  друг откуда ни возьмись появилось...

в вызове функции  NUMBER AddColumn (NUMBER t_id, NUMBER iCode, STRING name, BOOLEAN  is_default, NUMBER par_type, NUMBER width)  в примере документации (приложение 1)  появляется функция формата:    t:AddColumn("test1", QTABLE_INT_TYPE, 10, format1 )
---------------
Предупреждать надо.
Это откуда дровишки? В документации LUA в файловом архиве и в файлах последней версии на arqatech.com/ru такого нет.
 
А, нашел. Забавно )
Страницы: 1
Читают тему
Наверх