Например, у меня есть открытая таблица текущих торгов. Там три строки с инструментами : GAZP, VTBR, SMLT. И три колонки: Оборот в деньгах, Спрос по лучшей цене, Цена последней сделки. Я хочу сделать самодельную таблицу в которую будут передаваться данные из таблицы текущих торгов и плюс мои какие-то данные. Чтобы, если бы я добавил в таблицу текущих торгов новую колонку (например Средневзвешенная цена), то она так же передавалась бы в мою таблицу без изменения кода. Возможно такое сделать? Если возможно, то как?
Вася, Во-первых, ТТТ в принципе не редактируется со стороны клиента. Во-вторых, не имеет значения, какие там строки и столбцы показываются и даже открыта ли она вообще. В-третьих, любые данные из ТТТ достаются обращением к ней через getParamEx.
Владимир, мне не нужны любые данные из ТТТ. Я понимаю, что можно достать любые данные через getParamEx, но по определенным причинам я не хочу их доставать таким образом. Через getParamEx я должен конкретно указать какие данные мне нужны, а мне нужны именно те, которые показываются без конкретного их указания. Так вот, можно ли их получить?
Вася, А что Вам мешает добавлять новую колонку не в ТТТ, а в Вашу "самодельную таблицу" и набивать её данными из ТТТ? Вот скрин работы моего скрипта: третий столбец - это цена последней сделки, четвёртый - процент её изменения с конца предыдущей сессии. Оба параметра я читаю из ТТТ, содержимое остальных столбцов считаю сам.
Владимир, потому что я, начинающий программист, выполняю заказ клиента. Таково его желание. Ему нужно выводить в эксель те данные, которые он сам выберет в ТТТ. И он, естественно, не сможет залезть в код и добавить новую колонку когда решит это сделать. Он сможет только добавить новую колонку в ТТТ и она должна быть выведена. Сложность в том, что выводить данные нужно не только из ТТТ, а еще из одной самодельной таблицы. Вот я и хотел объединить их сперва как-то, а потом сборную таблицу вывести.
Владимир написал: не сможет реализовать ни один человек с планеты Земля
Чрезмерно категоричное утверждение. В конце концов, табличка квикова - это окно, у него есть определенный апи, и этот апи гораздо легче расковырять, чем можно было бы подумать. Другое дело, что я б попытался заказчика отговорить от такого решения, даже если ему бюджет девать некуда, бо оно требует ковыряния в кишках квика, а кишки квика имеют свойство неожиданно меняться в одной из новых версий. Но если он крайне желает хорошенько заплатить за приключения себе на копчик, то тксть любой каприз, с оговоркой, что на новую версию новый каприз будет за новый бюджет.
Anton, Это не утверждение - это шутка. Тем более, что я и сам такой, особенно в молодости был: "Как это, я ещё не пробовал, а уже говорят, невозможно".
Так Вася написал, что он начинающий программист, и я сильно подозреваю, что заказчик этот вообще очень слабо представляет, чего он, собственно, хочет от скрипта. Так что риски скорее у Васи.
Да, есть такое. Надеюсь, он не полезет квик хачить. Проблема не в том что не всхачит, а в том, что потом будет хачить до конца жизни каждую версию и все в рамках "гарантийного обслуживания", то есть даром.
Вася написал: Владимир, потому что я, начинающий программист, выполняю заказ клиента. Таково его желание. Ему нужно выводить в эксель те данные, которые он сам выберет в ТТТ. И он, естественно, не сможет залезть в код и добавить новую колонку когда решит это сделать. Он сможет только добавить новую колонку в ТТТ и она должна быть выведена. Сложность в том, что выводить данные нужно не только из ТТТ, а еще из одной самодельной таблицы. Вот я и хотел объединить их сперва как-то, а потом сборную таблицу вывести.
Пусть ваш клиент работает с вашей пользовательской таблицей напрямую, а не с ТТТ. Сделайте в этой таблице возможность добавлять новые колонки, а все данные будете получать через getParamEx.
Вася написал: Владимир, потому что я, начинающий программист, выполняю заказ клиента. Таково его желание. Ему нужно выводить в эксель те данные, которые он сам выберет в ТТТ. И он, естественно, не сможет залезть в код и добавить новую колонку когда решит это сделать. Он сможет только добавить новую колонку в ТТТ и она должна быть выведена. Сложность в том, что выводить данные нужно не только из ТТТ, а еще из одной самодельной таблицы. Вот я и хотел объединить их сперва как-то, а потом сборную таблицу вывести.
Предлагаю реализовать так: TTT выводите в Excel по DDE всю, которая на экране. Убрать лишние столбцы из TTT клиент может без написания кода, по инструкции для терминала QUIK. Убрать(срыть) лишние столбцы в таблице Excel клиент может без написания кода по учебнику Excel . ------------------- В итоге, для получения TTT в Excel писать код вообще не требуется. ========================== Если работаете с Excel, то дополнительные столбцы создавайте в Excel Писать код в терминале КВИК для этого не надо. Передайте всю необходимую информацию из таблиц КВИКА по DDE и пишите код в Excel. ========================= Если комп многоядерный, то Excel и КВИК будут работать параллельно.