Добрый день.
Нужно ли после создания объекта Drv:=CreateOleObject('Addin.DrvFR')
освобождать объект Drv.Free ?
101 2018-08-21 14:43:40
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
102 2018-08-20 07:09:07
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
Получилось подключиться к ККТ, вот пример подключения:
procedure Form1_OnShow (Sender: TObject; Action: string);
var
Drv: Variant;
begin
Drv:=CreateOleObject('Addin.DrvFR');
Drv.ConnectionType := 6; // подключение через TCP socket
Drv.ProtocolType := 0; // Стандартный протокол
Drv.IPAddress := '192.168.137.111'; // IP адрес ККТ
Drv.UseIPAddress := True; // Используем свойство IPAddress
Drv.TCPPort := 7778; // TCP Порт ККТ
Drv.Timeout := 5000; // Таймаут в мс
Drv.Password := 30; // Пароль системного администратора
if Drv.Connect <> 0 then showmessage('Not Connected((( ERR_MSG:'+inttostr(Drv.Connect)) else showmessage('Connected!!!');
Drv.Beep; //гудок для сигнализации подключения
end;
103 2018-08-19 19:56:11
Re: Онлайн кассы (5 replies, posted in Russian)
Привет. Обсуждаем управление ККТ здесь: http://myvisualdatabase.com/forum/viewtopic.php?id=4452
104 2018-08-17 13:37:07
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
Если бы в программе можно было провернуть такую штуку: CreateOleObject('Addin.DrvFR') программа заиграла бы совсем другими красками, появилась бы возможность написать полноценную кассовую программу.
105 2018-08-17 12:39:38
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
Вот, на базе найденного здесь примера допилил для печати на ККТ.
В программе можно "погудеть" ККМ и вывести на печать строку.
https://yadi.sk/d/I4GMp4043aKcny
А вообще я забросил идею печати через СОМ порт и занялся написанием модуля на Delphi, гораздо интереснее получается.
106 2018-08-03 11:32:40
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
а можно будет потом проект глянуть??)))
А что конкретно интересует?
"Свой драйвер" это я, конечно, сильно сказал, планирую реализовать всего лишь одну функцию протокола ККТ v 2.0, для передачи строки символов для печати на ККТ.
107 2018-08-02 15:15:13
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
Супер! Всё получилось. Спасибо.
Похоже я собственный драйвер для ККТ напишу...
108 2018-08-01 12:54:07
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
Спасибо, Дмитрий, получилось!
А как можно также в массив получить данные из СОМ порта?
109 2018-08-01 07:26:34
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
А подскажите, как правильно сформировать строку для передачи в СОМ порт, например мне нужно передать последовательность байт (НЕХ): 02 05 13 1E 00 00 00 08. Разбираюсь с примером "COM port", который нашёл здесь на форуме.
110 2018-07-31 15:17:36
Re: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
Понятно, спасибо. Буду ковырять СОМ порт...
111 2018-07-31 07:40:27
Topic: Подключение периферийных устройств через драйвер (25 replies, posted in Russian)
Добрый день.
Можно ли в программе подключить устройство через драйвер в виде DLL?
Хочу попробовать создать базу с подключением контрольно кассовой техники и выводом информации на неё.
Есть готовый код на Delphi, можно ли его реализовать в Myvisualdatabase?
uses SysUtils, DrvFRLib_TLB; // драйвер DrvFR.DLL
//...
procedure TestSale;
var
Drv: TDrvFR;
begin
Drv := TDrvFR.Create(nil); // Создание объекта драйвера
try
Drv.ConnectionType := 6; // подключение через TCP socket
Drv.ProtocolType := 0; // Стандартный протокол Drv.IPAddress := '192.168.0.2'; // IP адрес ККТ
Drv.UseIPAddress := True; // Используем свойство IPAddress
// для указания адреса ККТ
// (в противном случае будет
// использоваться свойство
// ComputerName)
Drv.TCPPort := 7778; // TCP Порт ККТ
Drv.Timeout := 5000; // Таймаут в мс
Drv.Password := 30; // Пароль системного администратора
if Drv.Connect <> 0 then // Проверяем подключение
raise Exception.Create(Drv.ResultCodeDescription);
// ну и т.д. ....
if Drv.FNCloseCheckEx <> 0 then
raise Exception.Create(Drv.ResultCodeDescription);
finally
Ну или просто подключить драйвер так получится?
function Code(s: PChar; Key: integer): PChar; stdcall;
external 'DrvFR.DLL';
112 2016-10-19 06:31:02
Re: Блокировка и синхронизация в многопользовательском режиме (7 replies, posted in Russian)
Здравствуйте.
А можно сделать так, чтобы у других пользователей заблокированная запись подсвечивалась красным, например, чтобы они знали, что запись редактирует другой пользователь?
113 2016-10-04 07:34:37
Re: Скидка на программу в связи с возросшим курсом доллара (48 replies, posted in Russian)
Добрый день.
Вы не думали над созданием версии "лайт", например без поддержки MySQL, с более низкой ценой?
Зачем мне переплачивать за неиспользуемый функционал программы, если мне достаточно SQLite...
114 2016-04-15 07:10:41
Re: Авторизация с изменением пароля пользователем при первом входе (10 replies, posted in Russian)
1) Действительно, инструментов импорта в программе нет, придётся руками добавлять таблицы, формы и код в скрипт.
Только проверяйте, чтобы имена переменных не дублировались с Вашим кодом.
2) По второму вопросу, к сожалению, не посоветую ни чего. Я не программист, а такой же любитель...
115 2016-04-12 14:56:33
Re: Авторизация с изменением пароля пользователем при первом входе (10 replies, posted in Russian)
Здравствуйте.
А какие трудности возникли при внедрении шаблона?
И что Вы имеете в виду под "сохранение и восстановление данных в базе"?
116 2016-03-17 11:30:29
Re: Авторизация с изменением пароля пользователем при первом входе (10 replies, posted in Russian)
Добрый день.
Задачу решил, проект прикрепил в первом сообщении, посмотрите, может есть какие-то замечания...
117 2016-03-05 21:03:03
Topic: Авторизация с изменением пароля пользователем при первом входе (10 replies, posted in Russian)
Добрый день.
Дмитрий, помогите разобраться со следующей задачей:
Хочу сделать вход в программу с авторизацией, но чтобы при первом входе пользователь сам себе задавал пароль.
Предварительно в базу внесены пользователи и когда пользователь выбирает себя из выпадающего списка, ему предлагается придумать себе пароль.
Проект на я.диске https://yadi.sk/d/kiJ6iz-qpwNV5
В моём проекте две проблемы:
1. Если выбрать из выпадающего списка пользователя, который уже входил в программу, появляется ошибка
Could not convert variant of type (UnicodeString) into type (Double)
2. SQL запрос на изменение пароля ошибок не выдаёт, но новый пароль в таблицу не записывает.
Помогите пожалуйста.
P.S.: Решил кое как свою задачу, но чувствую, что не совсем грамотно. Посмотрите, укажите на ошибки.
118 2015-10-30 13:02:37
Re: Настраиваемый (условный) фильтр для комбобокса. (2 replies, posted in Russian)
Спасибо!
То, что нужно.
119 2015-10-29 22:14:10
Topic: Настраиваемый (условный) фильтр для комбобокса. (2 replies, posted in Russian)
Здравствуйте.
Подскажите, как сделать фильтр для комбобокса в зависимости от выбора в другом комбобоксе.
Поясню на примере:
Есть список парковочных мест, разбитых на линии (1 линия - места 1,2,3; 2 линия - места 4,5,6 и т.д.) и список машин, привязанных к парковочным линиям. Как сделать так, чтобы при выборе номера машины в первом комбобоксе, во втором комбобоксе был список только тех парковочных мест, к линии которых привязана машина?
120 2015-10-16 10:47:24
Re: Добавление/Правка в одной форме (14 replies, posted in Russian)
Получилось воспроизвести пример в версии 1.45. Только заменил событие для кнопки "редактировать" (bEdit) на OnClick вместо OnAfterClick
Работает, но при нажатии на кнопку "редактировать" появляется окно с ошибкой.
---------------------------
Cannot make a visible window modal.
---------------------------
После закрытия окна с ошибкой вкладка переключается и запись доступна для редактирования.
https://yadi.sk/d/1ElIRd1MjmyFp
121 2015-10-16 07:32:06
Re: Добавление/Правка в одной форме (14 replies, posted in Russian)
Ура! Заработала!
Спасибо...
Ещё вопросик - сделал базу, положил на файловое хранилище, ярлыки на исполнительный файл раскидал по рабочим местам. Может надо было на файловом сервере только базу разместить, а на рабочие места скопировать exe-шники и dll-ки со скриптами? Как правильно и почему?
122 2015-10-15 19:31:09
Re: Добавление/Правка в одной форме (14 replies, posted in Russian)
Спасибо за молниеносную поддержку.
Открыл Ваш пример в версии программы 1.52, кнопка "добавление" работает как надо, "сохранение" тоже, но кнопка "редактировать" не работает. При нажатии кнопки "редактировать" на вкладке "search" поля вкладки заполняются значениями выбранной для редактирования записи, переключение на вкладку "Create/Edit record" не происходит. И ещё заметил, что кнопке "bEdit" назначено 2 события - OnClick и OnAfterClick, но процедуры для события OnClick в скрипте нет. Это так задумано, или это из-за версии 1.52?
123 2015-10-15 11:23:34
Re: Добавление/Правка в одной форме (14 replies, posted in Russian)
Здравствуйте.
Тот же вопрос - как реализовать сохранение в базу и редактирование записей из одной формы, но на разных вкладках (чтобы не открывать множество окон)?
Необходимо чтобы на одной вкладке можно было выполнять поиск, а в другой редактировать и добавлять новые записи (вкладки находятся на одной форме). Например, после выполнения поиска при нажатии кнопки "редактировать" нужная запись открывалась на другой вкладке. А при добавлении записи, после нажатия кнопки сохранить, появлялось сообщение "сохранено" и поля очищались для добавления новой записи.
Ну или хотя бы как сделать так, чтобы при нажатии кнопки "сохранить" форма не закрывалась, а очищались поля и появлялось сообщение "сохранено".
Спасибо...
PS: ситуация, конечно, анекдотичная... Сделал базу, нужно заполнить большим объёмом информации с бумажных носителей, отдал в работу. Прибегает пользователь и говорит, что окно добавления записи пропало при нажатии кнопки сохранить! Я ему объясняю, что нужно каждый раз нажимать кнопку "добавить"...
Вот поэтому и хочу сделать чтобы при нажатии кнопки "сохранить" поля формы очищались и появлялось сообщение "сохранено".
Пытался сделать процедуру, чтобы при нажатии кнопки "сохранить" форма закрывалась, выводилось сообщение "сохранено" и форма снова открывалась для добавления новой записи, но чего-то не получается.