小编G3n*_*Man的帖子

Delphi:为动态查询的字段设置OnGetText事件处理程序

我想在动态查询中将自己的过程设置为OnGetText字段事件

我的程序是这样的:

procedure TMainFrm.MyFieldGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin

  ...

end;
Run Code Online (Sandbox Code Playgroud)
  • "... Captions"是String数组常量

我在ADOQuery的OnAfterOpen事件中设置事件处理程序:

procedure TImportFrm.ADOQueryAfterOpen(DataSet: TDataSet);
var
 I : Integer;
begin
 for I := 0 to ADOQuery.FieldCount - 1 do
  ADOQuery.Fields[I].OnGetText := MainFrm.MyFieldGetText;
end;
Run Code Online (Sandbox Code Playgroud)

但是在打开ADOQuery之后,没有要显示的Text,看起来Text值为空!

似乎我的程序做什么并不重要,因为当我设置一个空程序(没有代码)时,也没有显示任何文本

出了什么问题?

谢谢 ...

delphi events tadoquery

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

如何从打印作业中获取份数?

我需要获得打印作业的份数.我在JOB_INFO_1记录中有它的信息,但是没有任何副本的字段.我怎样才能获得这个价值?

windows printing delphi

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

Delphi:如何在本地创建和使用Thread?

我的数据库在VPS中,我应该从我的表中获得一些查询

因为从服务器获取查询需要很长时间(取决于Internet速度!),我想使用线程来获取查询

现在我创建一个线程并获取查询,然后通过发送和处理消息将结果发送到我的表单

我想知道是否可以在本地创建和使用线程?!?

我的意思是:

procedure Requery;
var
 ...
begin
 Create Thread;
 ...

 Pass my Query Component to Thread
 ...

 Getting Query in Thread;
 ...

 Terminate and Free Thread
 ...

 Do next jobs with Query;
 ...

end;
Run Code Online (Sandbox Code Playgroud)

主要部分是最后一部分(做下一个工作......),我不想在消息处理程序中使用查询结果,我想在同一个程序和线程作业后使用它们

可能吗 ?!

我认为使用Delphi TThread类是不可能的,我应该使用其他线程技术......

  • 我正在使用Delphi XE6

delphi multithreading

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

如何在 VHDL 中连接两个数组

我有一些这样的类型:

Type MyCharacters is ('0', '1' ... '9', 'A', 'B', ... 'Z');

Type CharArray_8 is array(1 to 8) of MyCharacters;
Type CharArray_16 is array(1 to 16) of MyCharacters;
Type CharArray_32 is array(1 to 32) of MyCharacters;
Run Code Online (Sandbox Code Playgroud)

和 4 个这种类型的信号:

Signal S1, S2 : CharArray_8;
Signal S3 : CharArray_16;
Signal S : CharArray_32;
Run Code Online (Sandbox Code Playgroud)

我想连接 S1、S2 和 S3 并将结果分配给 S,如下所示:

S <= S1 & S2 & S3;
Run Code Online (Sandbox Code Playgroud)

但是这段代码是错误的并且有错误,我应该如何连接它们?

Array 类型应该声明为 MyCharacters 的 SubType 吗?

arrays fpga vhdl

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

如何获取打印作业Documnet名称(文件地址)?

我想获取打印作业的文件地址,我在JOB_INFO_2记录中有它的信息,它有一个名为"DocumentName"的字段,但它不是文档"文件名"!,它的Just Caption of Window已经发送了打印请求

是否可以获得Job的文件名/地址?

它可以获取"DocumentName"的窗口句柄,然后获取Handle的文件名(进程名称),但是如何获取文档文件名?

例如:我已经打开了DOC文件获胜MS-Word,通过上面的解决方案,我们可以获得MS-Word Exe文件地址,但我想获取DOC文件的文件名/地址

此外,当Document是图片时,没有标题!

windows printing delphi

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

使用ADO和Delphi从XLS文件导入数据

我想通过使用TADOConnection和从Excel文件(xls)导入一些数据TADOTable.

我连接到文件没有问题,但是当我打开TADOTable一些字段有ftFloat数据类型,因为它们在excel文件中的值是数字,但它们的值不是数字!

我希望TADOTable(Excel文件列)的所有字段都具有ftString数据类型.

我在Excel文件中设置了columms的类型,Text但没有受到影响!

我怎样才能做到这一点?

delphi excel ado delphi-2010

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

如何计算FPGA斯巴达板上的按键

我正在使用FPGA Spartan 2板并想要计算从键盘按下的键这是我的VHDL代码:

library ieee ;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;

ENTITY Keyboard IS
 PORT(CLOCK : IN STD_LOGIC;
      RESET : IN STD_LOGIC;
      RK : IN STD_LOGIC_VECTOR(3 DOWNTO 1);
      DE : OUT STD_LOGIC_VECTOR(3 DOWNTO 1);
      Invalid_Key : OUT STD_LOGIC := '0';
      Seg1 : OUT STD_LOGIC_VECTOR(7 Downto 0);
      Seg2 : OUT STD_LOGIC_VECTOR(7 Downto 0);
      LEDRow1 : OUT STD_LOGIC_VECTOR(7 Downto 0);
      LEDRow2 : OUT STD_LOGIC_VECTOR(7 Downto 0);       
      Key : OUT STD_LOGIC_VECTOR(0 TO 15));
END Keyboard;

Architecture Behavier OF Keyboard IS …
Run Code Online (Sandbox Code Playgroud)

spartan fpga vhdl

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

VHDL:加法器结果中的“ X”值

我创建了一个4位加法器,现在我想添加和将sub 2寄存器作为符号幅度值

因此,有两个名为A和B的寄存器,两个名为As和B的位在A和B中具有值的符号位,一个用于对B进行2补码减法的XOR门,最终结果应存储在A和As中(value和Sign)和名为AVF的寄存器中的溢出位

这是一个简单的图:

在此处输入图片说明

模式= 1 =>子; Mod = 0 =>添加

我写了这个代码:

4位加法器:

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY Adder_4_Bit IS
  PORT(
    A, B : IN STD_LOGIC_VECTOR(3 DOWNTO 0);
    Mode : IN STD_LOGIC;
    Sum  : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
    COut : OUT STD_LOGIC
  );  
END Adder_4_Bit;

ARCHITECTURE Structure OF Adder_4_Bit IS
COMPONENT FullAdder_1_Bit IS
  PORT(
    X, Y : IN STD_LOGIC;
    CIn  : IN STD_LOGIC;
    FSum  : OUT STD_LOGIC;
    COut : OUT STD_LOGIC
  );
END COMPONENT;

COMPONENT XORGate IS
  PORT(
    X1, X2 …
Run Code Online (Sandbox Code Playgroud)

vhdl

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