小编Ama*_*tel的帖子

如何从表中创建以max值开头的Oracle序列?

尝试在Oracle中创建一个以特定表的最大值开头的序列.为什么这不起作用?

CREATE SEQUENCE transaction_sequence
  MINVALUE 0
  START WITH (SELECT MAX(trans_seq_no)
     FROM TRANSACTION_LOG) 
  INCREMENT BY 1
  CACHE 20;
Run Code Online (Sandbox Code Playgroud)

sql oracle sequence

43
推荐指数
6
解决办法
20万
查看次数

如何区分C#中的多个输入设备

我有一个条形码扫描仪(就像一个键盘),当然我有一个键盘太连接到计算机.该软件接受来自扫描仪和键盘的输入.我只需要接受扫描仪的输入.代码是用C#编写的.有没有办法从键盘"禁用"输入,只接受扫描仪的输入?

注意:键盘是笔记本电脑的一部分...因此无法拔下插头.此外,我尝试将以下代码保护覆盖布尔ProcessDialogKey(System.Windows.Forms.Keys keyData){return true; 但是,随着忽略键盘上的击键,条形码扫描器输入也被忽略.

我不能让扫描仪发送sentinal字符,因为扫描仪正被其他应用程序使用,添加一个sentinal字符流意味着修改其他代码.

此外,我无法使用定时方法来确定输入是否来自条形码扫描仪(如果它是一堆字符后跟一个暂停),因为扫描的条形码可能是单字符条形码.

是的,我正在从流中读取数据.

我试图跟随文章:在WinForms中区分条形码扫描器和键盘.不过我有以下问题:

  1. 我收到错误由于其保护级别,NativeMethods无法访问.好像我需要输入一个dll; 它是否正确?如果是这样,我该怎么办?
  2. 我应该使用哪个受保护的覆盖void WndProc(ref Message m)定义,文章中有两个实现?
  3. 我收到与[SecurityPermission(SecurityAction.LinkDemand,Flags = SecurityPermissionFlag.UnmanagedCode)]相关的错误错误CS0246:找不到类型或命名空间名称'SecurityPermission'(您是否缺少using指令或程序集引用?).我该如何解决这个错误?
  4. 该行还包含以下内容:if((来自hardwareId中的hardwareId,其中deviceName.Contains(hardwareId)选择hardwareId).Count()> 0)错误是错误CS1026 :)预期.
  5. 我应该将文章中的所有代码放在一个名为BarcodeScannerListener.cs的.cs文件中吗?

关于C#解决方案源代码的后续问题由Nicholas Piasecki在http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/上发布:

  1. 我无法在VS 2005中打开解决方案,因此我下载了Visual C#2008 Express Edition,并运行了代码.但是,在连接条形码扫描仪并扫描条形码后,程序无法识别扫描.我在OnBarcodeScanned方法中设置了一个断点,但它从未被击中过.我确实更改了App.config,其中包含使用设备管理器获取的条形码扫描程序的ID.似乎有2个带有HID#Vid_0536和Pid_01c1的设备名称(当连接扫描仪时从设备管理器获取).我不知道这是否导致扫描无法正常工作.迭代deviceNames时,这里是我找到的设备列表(使用调试器):

"\ ??\HID#Vid_0536&Pid_01c1&#MI_01 9 25ca5370&0� {4d1e55b2-F16F-11CF-88cb-001111000030}"

"\ ??\HID#Vid_0536&Pid_01c1&#MI_00 9 38e10b9&0� {884b96c3-56ef-11D1-bc8c-00a0c91405dd}"

"\ ??\HID#Vid_413c&Pid_2101&MI_00#8&1966e83d&0� {884b96c3-56ef-11D1-bc8c-00a0c91405dd}"

"\ ??\HID#Vid_413c&Pid_3012#7&960fae0&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}"
"\ ??\Root#RDP_KBD#0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}""\ ??\ACPI#PNP0303#4&2f94427b&0#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}""\ ??\Root#RDP_MOU#0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}""\ ??\ACPI#PNP0F13 #4&2f94427b&0#{378de44c-56ef-11D1-bc8c-00a0c91405dd}"

所以HID#Vid_0536和Pid_01c1有两个条目; 可能导致扫描不起作用?

好吧所以我似乎不得不想办法不依赖于扫描仪发送的ASCII 0x04字符...因为我的扫描仪不发送该字符.之后,条形码扫描事件被触发,并显示带有条形码的弹出窗口.谢谢尼古拉斯的帮助.

c# barcode-scanner

22
推荐指数
1
解决办法
3万
查看次数

使用USB条形码扫描仪读取条形码,同时忽略键盘数据输入,而扫描仪产品ID和供应商ID未知

有没有办法从USB条形码阅读器读取而忽略键盘而不知道USB扫描仪的PID或VID?我知道有一种方法可以通过使用USB扫描仪的VID和/或PID来区分USB扫描仪输入和键盘输入; 这是使用http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/中的代码完成的. 但是有另一种解决方案来区分键盘和USB扫描仪不将扫描仪的VID或PID放在配置文件(或源代码)中?不想在配置文件中放置各种VID或PID的原因是,正在开发的应用程序将部署在多台笔记本电脑上,并且附加了任意类型的扫描仪.

此外,我不想配置扫描仪的输出开始和结束序列,因为扫描仪也被同一台机器上的其他软件使用,我不想更改代码在其他软件上.出于与前面提到的相同的原因,我不想将条形码阅读器编程为串行模式.

c# usb barcode-scanner

11
推荐指数
1
解决办法
4万
查看次数

C#或.NET Flushing键盘缓冲区

如何使用Windows窗体在C#中刷新键盘缓冲区?

我有一个条形码扫描仪,就像一个键盘.如果扫描了一个非常长的条形码并在表单上点击取消按钮,我需要清除键盘缓冲区.所以我需要刷新并忽略所有挂起的输入.我需要清除缓冲区,因为如果条形码包含空格,则空格将被处理为按钮点击,这是不必要的.

c# keyboard buffer flush

6
推荐指数
2
解决办法
2万
查看次数

OpenSSL客户端基于证书的身份验证失败

我试图运行以下命令:

[root@localhost certs]# openssl s_client -connect localhost:7043 -cert /opt/openssl-1.0.0a/ssl/certwork_client/client.crt -key /opt/openssl-1.0.0a/ssl/certwork_client/client.key -CAfile /opt/openssl-1.0.0a/ssl/certwork/ca.crt -showcerts -state -verify 2
verify depth is 2
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
depth=1 C = US, ST = Florida, L = Orlando, O = Company XYZ, OU = MyApp, CN = MyApp CA
verify return:1
depth=0 C = US, ST = Florida, L = Orlando, O = Company XYZ, OU = MyApp, CN = MyApp Manager Server
verify …
Run Code Online (Sandbox Code Playgroud)

authentication openssl server-side client-side

4
推荐指数
1
解决办法
4万
查看次数

Windows.Form ComboBox无法设置Unbound Control的SelectedValue属性

我无法为未绑定的组合框设置默认的组合框选择值.这是我的代码:

         System.Console.WriteLine("Current Tag Org Id = " + CurrentTag.Org.OrgId);
         ddlRUC.SelectedValue = CurrentTag.Org.OrgId;
         System.Console.WriteLine("ddlRUC selected value = " + ddlRUC.SelectedValue);

这是输出:Current Tag Org Id = 285 ddlRUC selected value =

请注意,ddlRUC.SelectedValue尚未设置为285.是否需要绑定数据源才能使用SelectedValue属性?如果是这样,如何设置未绑定的组合框中显示的默认项?

c# combobox

3
推荐指数
3
解决办法
2万
查看次数