Sergey Gorokhov (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 62 63 64 65 66 67 68 69 70 71 72 ... 78 След.
Расчет премии опционов
 
Здравствуйте,
К сожалению в текущей реализации нет доступа к таблице параметров опционов, поэтому получить данные не получится.
Вы можете решить задачу произведя расчеты
Формулы есть в википедии
Премия_по_опциону
Паузы 15 мске при отправке TRANS2QUIK_SEND_ASYNC_TRANSACTION, обнаружил странные паузы
 
Мне кажется задержка в 15 мсек имеет что-то общее с темой таймера Windows
http://habrahabr.ru/company/intel/blog/186998/
Уж больно цифры похожите
Паузы 15 мске при отправке TRANS2QUIK_SEND_ASYNC_TRANSACTION, обнаружил странные паузы
 
Цитата
Павел Bosco пишет:
думаю если вы скажете чтоTRANS2QUIK_SEND_ASYNC_TRANSACTION не выполняет никаких ожиданий, мне этого будет достаточно, спасибо
При отправке асинхронной транзакции возврат из функции происходит сразу же
Паузы 15 мске при отправке TRANS2QUIK_SEND_ASYNC_TRANSACTION, обнаружил странные паузы
 
Здравствуйте,
Между какими моментами Вы замеряете задержки?
Задержки происходят периодически или случайным образом?
Как часто они происходят?
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
Sergey Gorokhov пишет:
Если упомянутая выше настройка не помогает, пришлите нам архив всей папки с Вашим терминалом (без ключей доступа) на адрес 911@quik.ru
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
max max пишет:
Подскажите какие настройки указывать в тек таблице ?
Может в этом проблема
Цитата
Sergey Gorokhov пишет:
в таблице должны быть добавлены колонки "Расчетная цена", "Страйк", "До исполнения" и "Волатильность"
И в этих колонках должны быть данные.
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
max max пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
max max пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
max max пишет:
Греки не показывает
Цитата
Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -> Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты)
Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт
Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба
Скрипт останавливается до тех пор пока не получит нужные данные из таблицы текущих параметров.
Соответственно, либо какие-либо параметры были указаны неверно (например несуществующий код инструмента опциона) либо доступа к этим данным нет. Если ТТП была открыта после запуска скрипта, попробуйте перезапустить скрипт. Если настройки скрипта менялись, верните их в изначальное положение
В таблицу текущих параметров загнал фьюч и все опционы по этому фьючу
Включил все параметры (и волу и теорию и пр)
Потом запустил скрипт. Ничего не менял. Инструмент RIU5 и тп
Опять не показывает
Брокер Октрытие и Втб24
И там и там пусто
Могу Вас уверить что данный скрипт прекрасно работает. Проблема именно в настройках о чем было сказано в последнем посте.
Если упомянутая выше настройка не помогает, пришлите нам архив всей папки с Вашим терминалом (без ключей доступа) на адрес 911@quik.ru
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
"Sergey Gorokhov пишет:
Цитата
max max пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
max max пишет:
Греки не показывает
Цитата
Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -> Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты)
Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт
Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба
Скрипт останавливается до тех пор пока не получит нужные данные из таблицы текущих параметров.
Соответственно, либо какие-либо параметры были указаны неверно (например несуществующий код инструмента опциона) либо доступа к этим данным нет. Если ТТП была открыта после запуска скрипта, попробуйте перезапустить скрипт. Если настройки скрипта менялись, верните их в изначальное положение
Для работы скрипта в таблице должны быть добавлены колонки "Расчетная цена", "Страйк", "До исполнения" и "Волатильность"
И в этих колонках должны быть данные.
Если их нет, проверьте настройки терминала. в меню Настройки - Основные - Программа - Получение данных, должно быть "Исходя из настроек открытых пользователем таблиц
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
max max пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
max max пишет:
Греки не показывает
Цитата
Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -> Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты)
Именно так и сделал. Опционы по RIU5 открыты в текущей таблице. Сам фьючерс тоже открыт
Все равно не показывает греки. Выскакивает таблица а там одна строка и заполнены первые 4 столба
Скрипт останавливается до тех пор пока не получит нужные данные из таблицы текущих параметров.
Соответственно, либо какие-либо параметры были указаны неверно (например несуществующий код инструмента опциона) либо доступа к этим данным нет. Если ТТП была открыта после запуска скрипта, попробуйте перезапустить скрипт. Если настройки скрипта менялись, верните их в изначальное положение
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
max max пишет:
Греки не показывает
Цитата
Как использовать: откройте Таблицу Текущих Параметров (меню Таблицы -> Текущая Таблица) Укажите настройки, после чего, запустите скрипт (меню Таблицы - Lua - Доступные скрипты)  
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
Imersio Arrigo пишет:
Просто поясняю откуда в людях такая жажда квиковых цифр.
Поясняю подробней. Если у Вас цифры не совпадают, возьмите наши формулы из примера в котором они совпадают.
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
Imersio Arrigo пишет:
Поэтому вопрос не в том как посчитать греки самому, а как получить "те же цифры" из квика.
Ответ уже был дан, еще раз:

Цитата
единственный способ их получить это рассчитать по формулам.
У нас есть готовый пример скрипта, можете взять формулы от туда:
Подскажите какая функция читает "доску опционов" ?, доска опционов
 
Цитата
Imersio Arrigo пишет:
Цитата
Egor Zaytsev пишет:
Греки только в доске опционов.
В доске нет греков
Они только в "Таблице параметров опционов"
Здравствуйте,
Если Вам нужны греки в LUA единственный способ их получить это рассчитать по формулам.
У нас есть готовый пример скрипта, можете взять формулы от туда:
Скрытый текст
CreateDataSource
 
Цитата
Старатель пишет:
Цитата
Sergey Gorokhov пишет:
Такая функция уже есть называется Size, однако она ведь не решает проблему не так ли?
Size() возвращает текущее количество свечек на локальном месте, а не на сервере, не так ли?
а как отличить что это не одно и тоже?
Цитата
Старатель пишет:
TIME возвращает время последней сделки, но не дату, не так ли?
На графике есть
CreateDataSource
 
Поверьте эта тема уже миллион раз подымалась, на каждое предложение всегда найдется контр аргумент. И наше обсуждение заведомо ни к чему не приведет.
Цитата
Passport пишет:
1) Можно ли добавить функцию
NUMBERgetDataCount(STRING class_code, STRING sec_code, NUMBER interval, [, STRING param])
которая бы сообщала сколько на данный момент есть данных на сервере для данного инструмента? (подозреваю, что отличие будет только COUNT в SQL запросе, но повысит нагрузку на сервер...)
Такая функция уже есть называется Size, однако она ведь не решает проблему не так ли?
Цитата
Passport пишет:
Или же добавить функции getSecurityInfo() ещё один возвращаемый параметр. По хорошему конечно дату-время последней известной серверу сделки
Это уже есть, смотрите параметр time из ТТП, однако и она не решает проблему не так ли?
Цитата
Passport пишет:
Поэтому может не очень элегантно, но зато просто и надёжно - true-false параметр указывающий были ли сделки до начала сегодняшней торговой сессии
Это уже есть, достаточно посмотреть на график. Но и это не является решением.

Цитата
Passport пишет:
Выглядит может и не очень красиво, но я уверен, что это решит 99% случаев возникновения моего вопроса.
Попробуйте с учетом выше сказанного
CreateDataSource
 
Цитата
"Passport пишет:
Цитата
Sergey Gorokhov пишет:
Здравствуйте,
Вопрос уже многократно поднимался на форуме.
Ответ: никак.
Прошу понять, что прочитать весь форум довольно затруднительно, а поиском не всегда находится нужное.
Поэтому ещё вопрос - а планируется ли добавление срабатывания callback'а в такой ситуации? Ведь это решило бы проблему.
Вы не совсем понимаете. Дело в том, что нет такого критерия который позволил бы отличить ситуацию "продолжения ожидания" от "отсутствия данных", а значит и решить эту проблему нельзя.
CreateDataSource
 
Цитата
Passport пишет:
как отличить ситуацию продолжения ожидания данных с сервера от ситуации отсутствия данных?
Здравствуйте,
Вопрос уже многократно поднимался на форуме.
Ответ: никак.
Quik перестает соединяться с серверами
 
Цитата
Sergey Gorokhov пишет:
Цитата
green_X5 пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
green_X5 пишет:
Сергей, ответ "Не будем заниматься этой проблемой, потому что - не будем!" - тоже ответ, имеет право на жизнь. )
А вот "выполнил ли брокер процедуру - мы не знаем" и "какой именно форс-мажор имел место трудно установить" - не принимается. Я Вам дал описание проблемы, её дату, временной диапазон, назвал брокера, который имеет моё обращение (и не только моё), вроде как можете связаться с брокером (своим клиентом) и разобраться в проблеме.
И в третий раз укажу Вам на важность проблемы - Если данные исправились только после "Перезаказать данные с сервера", значит терминал не получал обновленные данные, когда они уже лежали (но почему-то не принимаются клиентским местом) на сервере. В результате клиентское место имеет неправильный параметр торгуемой бумаги, а именно "0", на не "28".
Была бы пустая строка "" или nil, мы бы могли обнаружить это скриптом.
Терминал отображал данные, не соотв. данным на сервере.

Если это проблема на серверной части, Вы наверное имеете возможность взаимодействовать и с их разработчиками. Подскажу адрес - support@quik.ru
Критика это конечно хорошо, но есть ли у Вас конкрентое предложение в изменении текущего поведения?
Да нет никакой критики. Есть просьба смоделировать проблемную ситуацию у себя. Наверняка у вас есть тестовая пара сервер-клиент. Перед "началом новой сессии" забейте фьючерсам "до погашения" ноль. Дайте соединение клиенту с сервером, клиент должен получить этот ноль. Затем, не разрывая соединения и не меняя сессии и даты торгов измените принудительно у сервера этот ноль на например 10. Посмотрите, изменились ли данные на клиентском месте. И как скоро изменились.
Вот и предложение.
Здравствуйте,
Для анализа проблемы мы связались с Вашим брокером Промсвязьбанк
К сожалению по имеющейся информации и логам брокера нам не удалось установить причину произошедшего, ровно как и найти какие-либо следы "сбоя". Возможно это следствие недостатка информации.
Сообщите, точную дату и время когда наблюдалась проблема с трансляцией параметра "до погашения".
А также сообщите свой UID и ip адрес сервера брокера к которому Вы подключаетесь.
еще сообщите код инструмента и код класса на котором на котором была проблема с трансляцией параметра "до погашения".
Quik перестает соединяться с серверами
 
Цитата
green_X5 пишет:
Цитата
Sergey Gorokhov пишет:
Цитата
green_X5 пишет:
Сергей, ответ "Не будем заниматься этой проблемой, потому что - не будем!" - тоже ответ, имеет право на жизнь. )
А вот "выполнил ли брокер процедуру - мы не знаем" и "какой именно форс-мажор имел место трудно установить" - не принимается. Я Вам дал описание проблемы, её дату, временной диапазон, назвал брокера, который имеет моё обращение (и не только моё), вроде как можете связаться с брокером (своим клиентом) и разобраться в проблеме.
И в третий раз укажу Вам на важность проблемы - Если данные исправились только после "Перезаказать данные с сервера", значит терминал не получал обновленные данные, когда они уже лежали (но почему-то не принимаются клиентским местом) на сервере. В результате клиентское место имеет неправильный параметр торгуемой бумаги, а именно "0", на не "28".
Была бы пустая строка "" или nil, мы бы могли обнаружить это скриптом.
Терминал отображал данные, не соотв. данным на сервере.

Если это проблема на серверной части, Вы наверное имеете возможность взаимодействовать и с их разработчиками. Подскажу адрес - support@quik.ru
Критика это конечно хорошо, но есть ли у Вас конкрентое предложение в изменении текущего поведения?
Да нет никакой критики. Есть просьба смоделировать проблемную ситуацию у себя. Наверняка у вас есть тестовая пара сервер-клиент. Перед "началом новой сессии" забейте фьючерсам "до погашения" ноль. Дайте соединение клиенту с сервером, клиент должен получить этот ноль. Затем, не разрывая соединения и не меняя сессии и даты торгов измените принудительно у сервера этот ноль на например 10. Посмотрите, изменились ли данные на клиентском месте. И как скоро изменились.
Вот и предложение.
Здравствуйте,
Для анализа проблемы мы связались с Вашим брокером Промсвязьбанк
К сожалению по имеющейся информации и логам брокера нам не удалось установить причину произошедшего, ровно как и найти какие-либо следы "сбоя". Возможно это следствие недостатка информации.
Сообщите, точную дату и время когда наблюдалась проблема с трансляцией параметра "до погашения".
А также сообщите свой UID и ip адрес сервера брокера к которому Вы подключаетесь.
CreateDataSource
 
Здравствуйте!

Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Получение стоп заявок, через TRANS2QUIK.dll
 
Цитата
Валерий Григорьев пишет:
Небольшая правка. Правильная транзакция выглядит так

TRANS_ID=1437043906; ACCOUNT=SPBFUT00B89; ACTION=KILL_ALL_FUTURES_ORDERS; OPERATION=B; CLASSCODE=SPBFUT; BASE_CONTRACT=RTS;


но все равно не дает результата.
Здравствуйте,
Согласно документации на терминал (вызывается клавишей Ф1)
-Раздел 6. Совместная работа с другими приложениями
--Импорт транзакций
---Формат .tri-файла с параметрами транзакций
Цитата:
Цитата
«KILL_ALL_STOP_ORDERS» - снять все заявки на рынке ФОРТС,
То есть KILL_ALL_STOP_ORDERS не предназначен для снятия условных заявок, а только для обычных и только по ФОРТС
Для снятия стоп заявок используется KILL_ALL_STOP_ORDERS, однако через TRANS2QUIK.dll данная транзакция не поддерживается
Единственный вариант, снимать стоп заявки по одной используя KILL_STOP_ORDER
Добавить функцию getServerTime()
 
Здравствуйте!

Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Функция os.exit().
 
Цитата
Некто пишет:
Цитата
Sergey Gorokhov пишет:
Попробуйте функцию error (message [, level])
Так она, вроде, не прекращает выполнение скрипта?
Если рекомендация не вызывает доверия, никто не мешает проверить
Функция os.exit().
 
Цитата
Некто пишет:
Завершить работу скрипта прямо в той функции, где обнаружена ошибка
Ответ уже был дан, функция error решает вопрос
Цитата
Некто пишет:
error() во-первых требует вызова ра?ом во-вторых, возвращает управление.
А Вы проверьте.
Цитата
Некто пишет:
1. А с os.exit() в Quik что не так?
Согласно документации на Lua
Цитата
os.exit ([code])
Calls the C function exit, with an optional code, to terminate the host program.


Цитата
Некто пишет:
2. Можно ли в QLua использовать assert()?
Можно все что можно в обычном Lua
Функция os.exit().
 
Попробуйте функцию error (message [, level])
Максимальная длина идентификаторов.
 
Цитата
Некто пишет:
Какая максимальная длина идентификаторов (имён функций, перемеменных, ну и что там ещё бывает) поддерживается в QLua?
Здравствуйте,
Длина поля "Идентификатор" ограничена 49 символами.
Остальные ограничения из перечисленных такие же как и в обычном LUA
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
Цитата
Sergey Gorokhov пишет:
Кстати у нас даже готовый пример есть:
Просматривая код скрипта, я сразу обратил внимание, что в нём без нужды используется OnInit(), OnStop(), while WORK do. Я делаю без этого.
Запустил скрипт, жду... А он всё работает и работает... Пришлось останавливать.
А выход из while WORK do ... end сделать нельзя?
Скрипт написан так чтобы постоянно записывать свежие данные. Если это не устраивает никто не запрещает написать так как Вам нужно. Следует понимать разницу между примером и готовой программой под Ваши задачи.
Обмен данными между Lua-скриптами
 
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
Цитата
DATE,TIME,OPEN,HIGH,LOW,CLOSE,VOL
20030605,000000,8.2,8.269,8.075,8.10205,596600
20030606,000000,8.148,8.189,8.06,8.172,314300
20030609,000000,8.13194,8.27,8.121,8.20197,731000
20030610,000000,8.2,8.23655,7.94,8.02473,1092500
Сразу видно, что время 000000 - это ошибка. Остальное не проверял, нет желания.
Сразу видно что интервал дневной а на нем в принципе не может быть указания времени.
Остальное на Ваше усмотрение
Обмен данными между Lua-скриптами
 
Цитата
Старатель пишет:
Зарегистрируйте пожелание на доработку такого функционала.
Требуется более конкретное описание, как Вы себе это представляете?
Как в Metatrader со списком глобальных переменных или как-то еще?
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Sergey Gorokhov пишет:
Цитата
Некто пишет:
вместо элементарного использования getCandlesByIndex?
Так в чем проблема, используйте getCandlesByIndex если он больше нравится.
Кстати у нас даже готовый пример есть:
Скрытый текст
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
вместо элементарного использования getCandlesByIndex?
Так в чем проблема, используйте getCandlesByIndex если он больше нравится.
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
А я уж начал с getCandlesByIndex возиться... Все темы на этом форуме, в инете, которые через поиск нашел посмотрел, но не нашёл инфу о структуре TABLE t, которую возвращает эта функция. Может, кто подскажет?
Попробуйте поискать например в документации Qlua.chm
-Функции для работы с графиками
--Функции для работы с графиками
---Функции O, H, L, C, V, T

Цитата
Время свечи возвращается с точностью до миллисекунд в виде таблицы с полями:
{year, month, day, week_day, hour, min, sec, ms, count}
Цитата
Некто пишет:
А это не "из пушки по воробьям"? Мне всего-то надо раз в день сохранить в файл истории новые данные.
Нет это не "из пушки по воробьям" а вполне нормальный доступ к данным.
Цитата
Некто пишет:
1. Что такое "ds:"?
Это то что создается функцией CreateDataSource
Цитата
Некто пишет:
2. Индекс свечи какого графика (или чего-то другого?) вернёт O(1) ?
O вернет не индекс свечи, а значение цены Open свечи под номером 1.
Динамическое изменение верхней/нижней границы вертикальной оси
 
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Обмен данными между Lua-скриптами
 
Цитата
Старатель пишет:
Добрый день.

Возможно ли сделать в QUIK общее хранилище данных для обмена информацией между скриптами?

Я знаю, что есть стороннее решение . Но оно не удобно тем, что при обращении к объекту из общего "пространства имён" создаётся новый экземпляр объекта (вместо ссылки), что негативно сказывается на ресурсах.
Здравствуйте,
К сожалению штатной возможности не предусмотренно
Скрипт, сохраняющий историю., Я пока учусь :)
 
Цитата
Некто пишет:
Цитата
s_mike@rambler.ru пишет:
Создайте таблицу с целочисленными индексами и присваивайте по этим индексам таблицы с нужными вам полями.
С этим разобрался.

Теперь подскажите, пожалуйста, как получать год, месяц, число, час, минута, OHLC для свечи?
Пытался по справке разобраться, по разделу "Функции для доступа к источнику данных" и "Функции O, H, L, C, V, T", но там всё очень сумбурно - не понял.
Здравствуйте,
Задачу можно решить без открытия окна с графиком, через функции CreateDataSource и SetUpdateCallback
Пример есть в руководстве QLUA.chm
-Функции взаимодействия скрипта Lua и Рабочего места QUIK
--Функции для работы с графиками
---SetUpdateCallback
Динамическое изменение верхней/нижней границы вертикальной оси
 
Цитата
Старатель пишет:
Чтобы иметь возможность самостоятельно указывать границы оси и не зависеть от автомасштабирования.
Скрытый текст
Мне, например, в данной ситуации хотелось бы задать другие границы оси.
К сожалению реализация доступа к параметрам диаграммы через LUA сейчас вызывает ряд технических трудностей.
На сколько становится понятно, цель масштабировать по графику цены, а не по индикатору.
Ранее мы уже регистрировали пожелание на то чтобы при автомасштабировании учитывать какой-то конкретный график.
Поэтому предлагаю зарегистрировать еще одно от Вас.
Динамическое изменение верхней/нижней границы вертикальной оси
 
Цитата
Старатель пишет:
Добрый день.

Добавьте возможность из кода Lua-индикатора задавать и динамически изменять верхнюю и нижнюю границы вертикальной оси.
Здравствуйте,
Уточните зачем это может понадобиться?
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Хорошо, вот такой скрипт:


function main()
local ImyaCFGFaila=getScriptPath().."\" .. "1.txt"
local file = io.open(ImyaCFGFaila, "w")
file:seek("set", 0)
file:write(tostring("11"))
file:seek("set", 6)
file:write(tostring("....... его рот"))
file:flush()
file:close()
end

Исходная строка в файле "1.txt" такая: "11111111111111111111111111111111111111111111111111111111111­111111" (без всяких переносов и без кавычек)
После работы скрипта: строка в файле "1.txt" такая: "11<NUL><NUL><NUL><NUL>....... его рот", где <NUL> - то самое.
Как видите никакого смещения в пустоту.
Вас не удивляет что NUL символов 4 штуки?
Может это потому что Вы смещаете курсор на шесть символов влево, в то время как в строке всего 2 символа?
6-2=4
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Тут дело не в стирании
Дело не в стирании файла а в том что Вы смещаете курсор за пределы файла.
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Хорошо, вот такой скрипт:


function main()
local ImyaCFGFaila=getScriptPath().."\" .. "1.txt"
local file = io.open(ImyaCFGFaila, "w")
file:seek("set", 0)
file:write(tostring("11"))
file:seek("set", 6)
file:write(tostring("....... его рот"))
file:flush()
file:close()
end

Исходная строка в файле "1.txt" такая: "11111111111111111111111111111111111111111111111111111111111­111111" (без всяких переносов и без кавычек)
После работы скрипта: строка в файле "1.txt" такая: "11<NUL><NUL><NUL><NUL>....... его рот", где <NUL> - то самое.
Как видите никакого смещения в пустоту.
Режим w тоже стирает файл.
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Прочитайте текст скрипта, который выше - я его ВООБЩЕ НИКУДА НЕ СМЕЩАЛ, а он все равно тупит
Читаю.
Код
local file = io.open(ImyaCFGFaila, "w+")  --Открыли файл и стерли в нем все что есть, так как режим w+
 file:seek("set", 15)  --смефаем курсор на 15 символов в пустоту,, так как файл пустой.
         file:write("22") --пишем строку "22" после 15 пустых символов
         file:flush() --обновляем файл
         file:close() -- закрываем


Еще читаю:
Код
local file = io.open(ImyaCFGFaila, "w+")   --Открыли файл и стерли в нем все что есть, так как режим w+
         file:flush() --обновляем файл
         file:close() -- закрываем


Что не так?
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Еще раз пишу:
Еще раз пишу, режим w+ полностью затирает файл при открытии. Таким образом, если Вам нужно изменить уже имеющиеся данные в этом файле, ищите другой способ.
При выводе информации в лог-файл выводится тарабарщина
 
Lua.org
Цитата
  • "r": read mode (the default);
  • "w": write mode;
  • "a": append mode;
  • "r+": update mode, all previous data is preserved;
  • "w+": update mode, all previous data is erased;
  • "a+": append update mode, previous data is preserved, writing is only allowed at the end of file.
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Можно и не смещать никуда курсор - те же яйца. И смещаю не в пустоту а там, где есть символы, если в пустоту сместить он так то ошибку викидывает сразу
Простите но Вы именно смещаете в пустоту.
Так как режим w+ перезаписывает файл. То есть стирает все и пишет по новой.
Почему не переносится «Со связанной заявкой»?
 
Цитата
Виталий пишет:
Цитата
Sergey Gorokhov пишет:
Если функционал Вам нужен, достаточно просто попросить его добавить, мы зарегистрируем обращение и рассмотрим возможность его реализации.
Прошу добавить этот функционал.


Я правильно оформил обращение ?
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Sergey Gorokhov пишет:
Чтобы решить проблему используйте режим a+

Или допишите в файл что-нибудь прежде чем делать смещение

Код
ImyaCFGFaila="G:\\!!!!\\qwe.log"
local file = io.open(ImyaCFGFaila, "w+")
file:write("111111111111111111111111111111")
file:seek("set", 15)
file:write("22")
file:flush()
file:close()
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Sergey Gorokhov пишет:
SiceTW
опечатка имелось в виду SciTE
При выводе информации в лог-файл выводится тарабарщина
 
Цитата
Deserf пишет:
Кто что может про разрядность ОСи сказать?
При чем тут разрядность ОС?
Вы смещаете курсор на 15 символов в пустоту, вот и получаете эту самую пустоту NUL.
Цитата
Deserf пишет:
Дело похоже в самой Quik и я не удивлен
Это легко проверить, достаточно запустить код без QUIK на том же SiceTW

Чтобы решить проблему используйте режим a+
Почему не переносится «Со связанной заявкой»?
 
Цитата
Виталий пишет:
В фирме-разработчике, экономя деньги на доработке продукта, возможно, так и считают.
Если какого-то функционала нет это совсем не значит что его нет умышленно.
Следует понимать что в любом софте у пользователей возникает желание что-либо добавить/доработать
И с нашей стороны для реализации таких желаний существует специальна процедура (без всяких "их проблема").
Если функционал Вам нужен, достаточно просто попросить его добавить, мы зарегистрируем обращение и рассмотрим возможность его реализации.
Страницы: Пред. 1 ... 62 63 64 65 66 67 68 69 70 71 72 ... 78 След.
Наверх