DEMO_VKBD - Virtual KeyBoard Demo.

Эта ДЕМО конфигурация показывает как использовать виртуальную клавиатуру - &VkbdSrv для редактирования тегов в системах, где вместо клавиатуры и мыши используются сенсорные экраны.

Если очень кратко, это работает так. При клике на сенсор тега клиент вызывает VKbdEditTag

   // Если нажат сенсор - начать редактирование тега...
   if ClickButton=1 then
   if ClickTag=tagDemo then
   if VKbdEditTag(ClickTag,0,3,'Please edit tag DEMO')>0 then {Ok} else {Error};
  
По окончании редактирования клиент получает сообщение @Vkbd.EditTag Имя_Тега=Значение.

В обработчике консольных команд клиент по этому сообщению присваивает тегу новое значение или игнорирует его, если оно недопустимо.

Например:

     {
     Analyse data coming from standard input.
     }
     procedure StdIn_Process(Data:string);
     var cmd,arg:String; b:Boolean; tag:Integer;
     begin
      cmd:=''; arg:='';
      if Length(Data)>0 then
      if Data[1]='@' then begin
       cmd:=ExtractWord(1,Data);
       arg:=Copy(Data,Pos(cmd,Data)+Length(cmd)+1);
       ...
       if IsSameText(cmd,'@Vkbd.EditTag') then begin
        tag:=FindTag(ExtractWord(1,arg));
        if TypeTag(tag)>0 then begin
         if tag=tagDemo then UpdateTag(tag,SkipWords(1,arg),_MinusInf,_PlusInf);
         Success(cmd+' '+NameTag(tag)+'='+TagAsText(tag));
        end;
        Data:='';
       end;
       ...
      end;
      cmd:=''; arg:='';
     end;
  
Функции SkipWords,UpdateTag,TagAsText есть в шаблонах редактирования.