Вверх ↑
Этот топик читают: Гость
Ответов: 52
Рейтинг: 0
#1: 2020-08-08 17:03:08 ЛС | профиль | цитата
Для меня это стало проблемой, хотел сократить схему, некоторые части просто перенес в DLL, с обработкой информации внутри него все хорошо. Сейчас решил внутри DLL сделать запрос и вывести из него ответы. Пример:


Ответом в программе было (слово: Лошадь):


В итоге я пробовал сохранять в память, и всякие подобные вещи. Если отправлять ответ запрос sql в список строк, а после перебором строк отправлять в программу то все нормально. И если в DLL поставить месседж то на всплывающем окне слово будет нормальным.

Конечный результат сейчас вот такой:


Если закликивать раз 6-15 примерно, то он раз может психануть и отправить неверное слово, которое на втором скриншоте.
карма: 0

0
Ответов: 52
Рейтинг: 0
#2: 2020-08-12 00:07:45 ЛС | профиль | цитата
Я не нашел пока ответов на этот вопрос.
А появился еще вопрос, как в окне отключить системные звуки, что бы окно не выдавало этот звук при нажатии?
карма: 0

0
Разработчик
Ответов: 26085
Рейтинг: 2124
#3: 2020-08-12 01:33:44 ЛС | профиль | цитата
atutunnik94 писал(а):
А появился еще вопрос, как в окне отключить системные звуки, что бы окно не выдавало этот звук при нажатии?

В индивидуальном окне -- никак. Для всей системы можно отключить программно. Вот к примеру отключение системного звука Beep, но если программа закрэшится, то звук останется в последнем состоянии для всей системы:

Схема

Add(MainForm,2953706,329,203)
{
Width=233
Height=110
Position=1
link(onCreate,5005951:doWork2,[])
}
Add(Button,4886028,455,273)
{
Left=130
Top=30
TabOrder=-1
Caption="Test"
link(onClick,7401773:doMessage,[])
}
Add(Message,7401773,525,273)
{
Message="Test Beep"
Icon=1
}
Add(CheckBox,14509333,455,168)
{
Left=20
Top=30
Width=100
TabOrder=-1
Checked=0
Caption="Enabled Beep"
link(onCheck,5005951:doWork1,[(494,174)(494,160)(410,160)])
}
Add(InlineCode,3415143,525,217)
{
WorkPoints=#13:doDisableBeep|12:doEnableBeep|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses Windows,kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|22: setbeep: boolean;|9: public|20: constructor Create;|33: destructor Destroy; override;|58: procedure doDisableBeep(var _Data:TData; Index:word); |56: procedure doEnableBeep(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|31:constructor THiAsmClass.Create;|5:begin|15: inherited; |52: SystemParametersInfo(SPI_GETBEEP, 0, @setbeep, 0);|5:end; |0:|31:destructor THiAsmClass.Destroy;|5:begin|78: SystemParametersInfo(SPI_SETBEEP, ord(setbeep), nil, SPIF_SENDWININICHANGE);|15: inherited; |5:end; |0:|66:procedure THiAsmClass.doDisableBeep(var _Data:TData; Index:word); |5:begin|67: SystemParametersInfo(SPI_SETBEEP, 0, nil, SPIF_SENDWININICHANGE);|4:end;|0:|64:procedure THiAsmClass.doEnableBeep(var _Data:TData; Index:word);|5:begin|67: SystemParametersInfo(SPI_SETBEEP, 1, nil, SPIF_SENDWININICHANGE);|4:end;|0:|0:|4:end.|
}
Add(IndexToChanel,12161559,455,217)
{
Point(Index)
link(onEvent1,3415143:doDisableBeep,[])
link(onEvent2,3415143:doEnableBeep,[])
link(Index,14509333:Checked,[])
}
Add(HubEx,5005951,406,217)
{
link(onEvent,12161559:doEvent,[])
}

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

Редактировалось 5 раз(а), последний 2020-08-12 02:03:49
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#4: 2020-08-12 10:14:59 ЛС | профиль | цитата
atutunnik94 писал(а):
Если закликивать раз 6-15 примерно, то он раз может психануть и отправить неверное слово, которое на втором скриншоте.

По-моему не хватает этого компонента:
Извини, какой вопрос - такой ответ
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 52
Рейтинг: 0
#5: 2020-08-23 22:47:01 ЛС | профиль | цитата
Tad писал(а):
12
А.. я попробую этот элемент поставить почти везде (по очереди), но почему нужна задержка не пойму?
Согласен что забыл бросить схему, заброшу.

nesco писал(а):
atutunnik94 писал(а):
В индивидуальном окне -- никак. Для всей системы можно отключить программно. Вот к примеру отключение системного звука Beep, но если программа закрэшится, то звук останется в последнем состоянии для всей системы:
Оо, огромное спасибо, за уже какое-то решение подобного.

Редактировалось 3 раз(а), последний 2020-08-23 22:50:15
карма: 0

0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)