Последняя версия DataExpress 3 beta от 9 октября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

База данных обслуживания техники

Раздел для обсуждения и помощи в процессе разработки баз данных пользователей.
Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Ср авг 08, 2018 11:20 am

Большое спасибо буду пробовать.
А еще нашел самый хардкорный вариант: использовать специальную библиотеку python имитирующую действия пользователя. Например кнопку на экране можно найти по шаблону вырезанной картинки, получить координаты экрана, кликнуть по координатам и т.д.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1131
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: База данных обслуживания техники

Сообщение Гocть » Ср авг 08, 2018 11:36 am

Если присмотреться внимательнее в скрипт, то можно увидеть прототип крутейшего внешнего API. Практически любые действия без питонов и имитаций. В вашем внешнем приложении достаточно просто генерировать простой текст: параметры командной строки.
Фрилансер. Разработка на заказ. Консультирование.

Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Ср авг 08, 2018 1:33 pm

Гocть писал(а):В dxdb_icon эту базу можно добавить запись командой (ярлыком): dxdb://base.mydataxpress.ru:GETCOMMANDLINE {@ Форма 1 @}


Очень интересно. дайте ссылку где есть описание что такое dxdb://base.mydataxpress.ru
не совсем ясен прицип

Аватара пользователя
Гocть
Эксперт
Сообщения: 1131
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: База данных обслуживания техники

Сообщение Гocть » Ср авг 08, 2018 2:18 pm

Prepod писал(а):дайте ссылку где есть описание что такое dxdb://base.mydataxpress.ru

http://base.mydataxpress.ru

Prepod писал(а):не совсем ясен прицип

Принцип чего?
Фрилансер. Разработка на заказ. Консультирование.

Аватара пользователя
rausNT
Знаток
Сообщения: 473
Зарегистрирован: Чт авг 24, 2017 9:23 am

Re: База данных обслуживания техники

Сообщение rausNT » Ср авг 08, 2018 2:28 pm

Prepod писал(а):
Гocть писал(а):В dxdb_icon эту базу можно добавить запись командой (ярлыком): dxdb://base.mydataxpress.ru:GETCOMMANDLINE {@ Форма 1 @}


Очень интересно. дайте ссылку где есть описание что такое dxdb://base.mydataxpress.ru
не совсем ясен прицип


http://base.mydataxpress.ru/ - почитайте.

Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Ср авг 08, 2018 5:37 pm

Я воспользовался функциями OpenRecord(ID), где ID - номер моей записи.
подправил скрипт

Код: Выделить всё

function GetCommandLine:PChar;
external 'GetCommandLineA@Kernel32 stdcall';

function ParseCL:String;
var CL:String;
  iFrom:integer;
begin
  CL:=WinCPToUtf8(GetCommandLine);
  if (Utf8Pos('{@',CL,1)=0) and (Utf8Pos('@}',CL,1)=0) then
begin result:=''; exit; end;
  iFrom:=Utf8Pos('{@',CL,1)+2;
  result:=Trim(Utf8Copy(CL,iFrom,Utf8Pos('@}',CL,1)-iFrom));
end;

function GetEntryID:String;
var CL:String;
  iFrom:integer;
begin
  CL:=WinCPToUtf8(GetCommandLine);
  if (Utf8Pos('{*',CL,1)=0) and (Utf8Pos('*}',CL,1)=0) then
begin result:=''; exit; end;
  iFrom:=Utf8Pos('{*',CL,1)+2;
  result:=Trim(Utf8Copy(CL,iFrom,Utf8Pos('*}',CL,1)-iFrom));
end;

procedure OpenRec(Sender:TObject);
var Fm:TdxForm;
var entryID:integer;
begin
    if Trim(ParseCL)='' then exit;
    MainWindow.Hide; // опционально
    Fm:=TDxForm.Create(ParseCL);
    entryID:=StrToInt(GetEntryID)
    Fm.OpenRecord(entryID);
    Fm.EditWindow.ShowModal;
  if Fm.EditWindow.ModalResult = mrOk then
    Fm.Post else Fm.Cancel;
    Fm.Close;
    Fm.Free;
    MainWindow.Close; // опционально
end;

procedure DataBase_Open;
begin
  OpenRec(nil);
end;           

Заработало, только OpenRecord открывает существующую запись на просмотр, а мне бы нужно редактировать, и как мне автоматически логиниться в DataExpress?
нужных функций не нашел.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1131
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: База данных обслуживания техники

Сообщение Гocть » Ср авг 08, 2018 6:05 pm

Prepod писал(а):только OpenRecord открывает существующую запись на просмотр, а мне бы нужно редактировать

Код: Выделить всё

    Fm.OpenRecord(entryID);
    Fm.Edit;
    Fm.EditWindow.ShowModal;

Prepod писал(а):как мне автоматически логиниться в DataExpress?
нужных функций не нашел.

u:Пользователь p:Пароль. (В справке черным по бежевому написано)
Фрилансер. Разработка на заказ. Консультирование.

Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Чт авг 09, 2018 10:30 am

Гocть писал(а):
Prepod писал(а):только OpenRecord открывает существующую запись на просмотр, а мне бы нужно редактировать

Код: Выделить всё

    Fm.OpenRecord(entryID);
    Fm.Edit;
    Fm.EditWindow.ShowModal;

Prepod писал(а):как мне автоматически логиниться в DataExpress?
нужных функций не нашел.

u:Пользователь p:Пароль. (В справке черным по бежевому написано)


Спасибо.

Есть в DataExpress возможность возвращать параметры, например при неудачной аутентификации?
Схема работы: моя внешняя программа просит ввести логи и пароль, затем с полученным логином и паролем вызывается DataExpress, а при неудачном входе DataExpress возвращает значение и моя программа закрывает все.
Я так понял мне для реализации подобный вещей надо Delphi капать, стандартный API?
Последний раз редактировалось admin Чт авг 09, 2018 1:09 pm, всего редактировалось 2 раза.
Причина: Будьте добры, исправляйте свои очепятки.

Аватара пользователя
Гocть
Эксперт
Сообщения: 1131
Зарегистрирован: Пн ноя 27, 2017 8:02 am

Re: База данных обслуживания техники

Сообщение Гocть » Чт авг 09, 2018 10:45 am

Prepod писал(а):Есть в DataExpress возможность возвращать параметры, например при неудачной аутентификации?

Такой возможности нет.
Prepod писал(а):какпать

Именно. "Какпать" :lol:
Фрилансер. Разработка на заказ. Консультирование.

Prepod
Интересующийся
Сообщения: 68
Зарегистрирован: Чт июн 28, 2018 12:07 am

Re: База данных обслуживания техники

Сообщение Prepod » Чт авг 09, 2018 10:51 am

Гocть писал(а):
Prepod писал(а):Есть в DataExpress возможность возвращать параметры, например при неудачной аутентификации?

Такой возможности нет.


А как же "неограниченные возможности" скриптов? :)

Гocть писал(а):Именно. "Какпать" :lol:

Чувство юмора на высоте.


Вернуться в «Помогите собрать базу!»