小编Dia*_*ian的帖子

如何区分Delphi中的多个键盘?

我有两个连接到PC的键盘.一个用于键入TMemo1,另一个用于TMemo2.两者都允许同时输入.问题是我无法区分键盘键入的键盘和键盘键入的键盘.

有什么方法可以区分,某些输入来自哪个设备?

delphi keyboard

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

有没有办法将整个数组复制到另一个数组?(除了使用For循环)

有没有办法将整个数组复制到另一个数组?除了使用for循环.

移动复制命令是否适用于此?我确实尝试了,但它有一个错误:"不兼容的类型".

我应该坚持使用for-loop吗?

delphi

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

我怎么摆脱这个?(看起来像鼠标轨迹的表格版本)

我有光标形状的形式(作为实际游标).每当我拖动它,看起来像鼠标轨迹.红色和白色的东西.看到上心脏的小红箭和最低心脏的小白箭头?这些是我的光标形状,它是一个小图片上的图片(我剪切区域,使形状的形状像它上面的图片).这些是在MainUnit中创建的(我最小化).

形成小径http://img10.imageshack.us/img10/9718/mousetrails.png

当我点击并按住时,它会使这些踪迹......将鼠标悬停在那些轨道上会将其删除.我如何摆脱这种行为?

我可以通过刷新摆脱这些,但如果我每次刷新鼠标时都会刷新,那就是可怕的闪烁.只要有一个点击,我当前的解决方案就会刷新,但是我想要一个能够摆脱行为的解决方案,而不仅仅是在绘制之后将其删除.


好的,我试过没有壁纸. 没有壁纸http://img830.imageshack.us/img830/6595/nowallpaper.png 它在文件夹内也是一样的效果.


通过一点点实验.我发现它根本不是(光标)形式.这不是代码.我尝试移动(随机)表单(使用它的左侧和顶部属性的计时器).一开始似乎没问题,但是当我点击并按住桌面时.发生这种情况: Form Trails http://img411.imageshack.us/img411/7409/formg.png Soooooo.有什么建议我应该做些什么来避免/最小化/控制这个?

forms delphi

8
推荐指数
1
解决办法
740
查看次数

哪种处理记录数据更有效?

什么是更有效的方式?

FUserRecords[I].CurrentInput:=FUserRecords[I].CurrentInput+typedWords;
Run Code Online (Sandbox Code Playgroud)

要么

var userRec: TUserRec;
...
userRec:=FUserRecords[I];
userRec.CurrentInput:=userRec.CurrentInput+typedWords;
FUserRecords[I]:=userRec;
Run Code Online (Sandbox Code Playgroud)

delphi

7
推荐指数
1
解决办法
334
查看次数

我可以捕获Capslock/Shift键吗?

我刚刚发现大写锁定和移位键(可能还有一些键)会影响连接到计算机的所有键盘.(测试我编码的程序的危险之一,我只有两只手,所以我花了很长时间才意识到这样的问题)所以分离按键很好,但是转换/大写锁定驱动一切疯狂(当一个用户转向大写,此时所有用户的输入也被大写

我可以在FormKeyPress中捕获Capslock和Shift键吗?其他任何地方的事情?
我可以保存Shift键吗?(所以我可以正确地将'shift'应用到相应的用户输入)

任何其他解决这个问题的建议也是受欢迎的.

delphi keyboard

5
推荐指数
1
解决办法
7639
查看次数

我怎么知道是否使用RawInput按下了班次?

我正在使用RawInput来处理击键.我发现很难确定换档是否与钥匙一起按下.

RawInputStructure - > RawKeyboard,我可以检索被按下的键但是如果同时按下键我不知道如何处理.

RI.Data.keyboard.VKey (获取密钥代码)

我正在尝试为每个用户/键盘分离Shift,因为当一个用户/键盘移动所有用户/键盘时,与Capslock相同.同时打字变得非常混乱.

如何知道换档是否与另一把钥匙一起按下?我是在正确的结构中寻找它还是应该在其他地方寻找?

windows delphi winapi

5
推荐指数
1
解决办法
787
查看次数

有没有更简单的方法将Delphi 7转换为Delphi 2009?

有没有更简单的方法将Delphi 7转换为Delphi 2009?或者有没有办法在Delphi 2009项目中使用Delphi 7单元?

我在Delphi 7中有一个单元,但是当我尝试在我的Delphi 2009项目中使用它时,行为都搞砸了.

它有很多不同之处,如:

 Hangul = '???????????????????' +
           '??????????????';
 ShowMessage(Copy(Hangul, 1 + (I) * 2, 2));
Run Code Online (Sandbox Code Playgroud)

在Delphi 7中一次显示一个字符,但在Delphi 2009中一次显示两个字符.所以我需要将其更改为:

ShowMessage(Copy(Hangul, 1 + I, 1));
Run Code Online (Sandbox Code Playgroud)

但那是最简单的,它会让人更加困惑......算法不是我的,所以我无法弄清楚整个程序.

任何帮助,将不胜感激.

编辑:如果有人有兴趣看到这里的代码是LINK.这是unit HanInput;一部分.它翻译键(英文)并输出韩文字符.不,我不懂韩语.

delphi delphi-7 delphi-2009

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

我应该把我的实用工具放在哪里?我如何使用自定义表单?(DELPHI)

我已经使用Delphi一个多月了,但我仍然不知道正确的做事方式.

如果我有很多可以在很多项目上使用的方法,我应该将它们放在Unit,Form或DataModule上吗?我没有使用过单位(本身),New-> Unit.我应该把我的实用工具放在那里吗?如果是这样,我可以看一个例子,教程或其他什么.我过去曾经使用过DataModules,虽然它给我的印象是它只应该在我处理数据库等时使用.

另一件事,我正在定制一些表单(例如一个带有一些特定事物的TEdits的表单).要使用它,首先我将它
CustomizedForm in '\CForm\CustomizedForm.pas' ;
添加CustomizedForm到.dpr中的用法然后我添加到我的mainform中的用法(我将使用它).
这是正确的方法吗?我只是猜测,虽然我不是特别相信这是正确的方式,但它似乎有效.

delphi

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

TRichEdit颜色问题

ans:= RichEdit1.Text     
for i:=1 to Length(ans) do
begin
   RichEdit1.SelStart :=  i-1;
   RichEdit1.SelLength:= 1;
   if ans[i] = correct[i] then
      RichEdit1.SelAttributes.Color := clRed
   else
      RichEdit1.SelAttributes.Color := clBlue;  
Run Code Online (Sandbox Code Playgroud)

如果字母ans匹配字母与字母相同位置的字母correct,则为红色,否则为蓝色.

我的问题是,当我再次输入时,整个RichEdit1文本的颜色与第一个字母相同(如果第一个字母RichEdit1是蓝色,则整个文本变为蓝色).

顺便说一句,这不是我简化它的实际代码,因为有多个TRichEdits.
TRichEdits是只读的,我通过类似的方式分配字母RichEdit1.Text := RichEdit1.Text+Key; (这样做是因为它是一个多键盘程序,我需要分开用户输入)

这是正确的行为吗?如何阻止我的颜色更改覆盖默认颜色?

更新:解决它...以一种草率的方式(每当有人打字时应用默认颜色),但我保持这个开放,以防有人提出更好的解决方案.

delphi trichedit

2
推荐指数
1
解决办法
1262
查看次数

如何从其他单元调用程序(处理消息)?

我希望我procedure WMInput(var Mess: TMessage); message WM_INPUT;被安置在一个单独的单元中.

我应该在另一个单元中以相同的方式声明这一点(我问的是原型是否仍然相同procedure WMInput(var Mess: TMessage); message WM_INPUT;)?
我怎么称呼这个?以下是否可以接受?

procedure WMInput(var Msg: TMessage)
begin
FUnit:= Fotherunit.create(self);
FUnit.WMInput(Msg);
end;
Run Code Online (Sandbox Code Playgroud)

还有其他选择吗?

delphi

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

什么是Delphi 7和Delphi 2009的差异处理字符,字符串,unicode等?

我有一个只在Delphi 7中工作的课程,经过多次尝试将其转换为Delphi 2009后,我们终于同意将我们的项目改为Delphi 7.

该项目或多或少完成,但我想给2009年的东西另一个镜头.

除了Delphi 7中的Sizeof(Char)等于1和Delphi 2009中的等于1之外,还需要注意哪些其他更改?

附加:这可能有助于知道我转换为2009年,所以这里是.这是unit HanInput;一部分.它翻译键(英文)并输出韩文字符.他使用索引的方式实在令人困惑,每个韩文字符HAD的大小为2,因此必须更改许多代码.

可悲的是,我不懂韩语,所以我很难猜出算法的某些外观.

delphi delphi-7 delphi-2009

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

如何知道表单是否悬停在组件上?

我需要知道一个(移动)形式是否悬停在一个组件上(可能是没有鼠标的MouseEnter和MouseLeave).

我有这个想法,即获取组件的左,上,高,宽,并计算(移动)表单的位置是否在表单的位置内.(我不确定如何做到这一点)

有关实施我的想法的任何建议?有没有其他方法可以做到这一点?

forms delphi components

0
推荐指数
1
解决办法
117
查看次数