标签: delphi-2010

Delphi和SQL服务器之间的冲突

我有一个在SQL Server中工作的查询,但是当我在delphi中的ado查询中保存它时它不起作用并停止此错误:

Incorrect syntax near 'GO'
Run Code Online (Sandbox Code Playgroud)

但是下面的代码是正确的,没有任何错误.我在sql server中测试过它.下面的代码不是Regular,因为我从delphi复制并通过它.

我的查询:

create function GetTedad(@pfcode INT, @pdcode INT) returns int
as begin declare @Tedad int;
select @Tedad= sum(t2.tedade_avalie) from Tbl_avalie_salon t2 where t2.FCode = @pfcode and t2.DCode = @pdcode
return (@Tedad); end;
GO
create function getSumBSen2(@pfcode INT, @pdcode INT, @pSen INT) returns int
as begin declare @r int;
select @r= sum(t2.t_shab + t2.t_rooz) from tbl_talafat_dan t2 where t2.FCode = @pfcode and t2.DCode = @pdcode and t2.sen <= @pSen;
return (@r); end;
GO
select …
Run Code Online (Sandbox Code Playgroud)

sql delphi sql-server-2008-r2 delphi-2010 delphi-xe

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

VCL表单应用程序和控制面板小程序之间有什么区别

首先,维基百科将控制面板小程序定义为:

图形用户界面,允许用户通过applet查看和操作基本系统设置和控件

它是否正确?

其次,在功能方面,VCL应用程序和控制面板小程序之间有什么区别.与VCL应用程序相比,使用CP Applet更改基本系统设置更容易吗?

delphi delphi-2010

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

如何解决Delphi 2010应用程序中未处理的win32异常?

我在XP Pro机器上运行Delphi 2010 Professional.我已经在一个项目上工作了好几天.每次我在我的开发机器上运行程序它都运行正常或者我想.我从IDE中运行该程序,它运行正常.我从输出目录(IDE外部)运行程序,它运行正常.我在我的机器上运行这个程序时没有任何问题.

因此,为了模拟客户体验,我将.exe文件复制到记忆棒上,然后将其复制到完全不同的机器上.当我在不同的机器上运行程序时,我得到一个未处理的win32异常.

这是错误对话框:

+------------------------------------------------------------------------------+
| Visual Studio Just-In-Time Debugger                                          |
+------------------------------------------------------------------------------+
| An unhandled win32 exception occured in ZilchStd.exe [984]. Just-In-Time     |
| debugging this exception failed with the following error: No installed       |
| debugger has Just-In-Time debugging enabled. In Visual Studio, Just-In-Time  |
| debugging can be enabled from the Tools/Options/Debugging/Just-In-Time.      |
|                                                                              |
| Check the documention index for "just-in-tim debugging, errors' from more    |
| information.                                                                 |
+------------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

我以前从来没有遇到过这种情况.如何解决此错误?

delphi unhandled-exception delphi-2010

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

下载加密(XOR)内容

我有一个用XOR加密的在线TXT文件.我正在使用Indy HTTP来读取此文件.当我这样做:

Buff.Text:= HTTP.Get('http://www.blabla.com/xor.txt');
Run Code Online (Sandbox Code Playgroud)

Buff中的内容已损坏,我无法正确解密.怎么解决这个?下面我将粘贴我正在使用的函数来对Xxt文件进行XOR:

function TForm1.XorStr(Input: AnsiString; Seed: integer): AnsiString;
var
i : integer;
Output : AnsiString;
begin
    Output := '';
    for i := 1 to Length(Input) do
        Output := Output + AnsiChar(Ord(Input[i]) XOR (Seed));
    Result:= Output;
end;
Run Code Online (Sandbox Code Playgroud)

希望有人可以帮助我.感谢你们!

delphi delphi-2010

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

自定义组件TImage事件导致错误"不存在"

我有一个自定义组件,包含以下事件

 private
    { Private declarations }
    ...
    fOnImageClick: TNotifyEvent;
    fOnImageMouseUp: TMouseEvent;
    fOnImageMouseDown: TMouseEvent;
    fOnImageMouseMove:  TMouseMoveEvent;
    fOnImageMouseEnter: TNotifyEvent;
    fOnImageMouseLeave: TNotifyEvent;
    fOnImageSelect: TNotifyEvent;
    fOnImageDblClick: TNotifyEvent;
  protected
    ...
  public
    { Public declarations }
     ...
  published
     ...
     property OnImageClick: TNotifyEvent read  fOnImageClick write  fOnImageClick;
     property OnImageSelect: TNotifyEvent read  fOnImageSelect write  fOnImageSelect;
     property OnImageDblClick: TNotifyEvent read  fOnImageDblClick write  fOnImageDblClick;
     property OnImageMouseDown: TMouseEvent read  fOnImageMouseDown write  fOnImageMouseDown;
     property OnImageMouseUp: TMouseEvent read  fOnImageMouseUp write  fOnImageMouseUp;
     property OnImageMouseMove:  TMouseMoveEvent read  fOnImageMouseMove write  fOnImageMouseMove;
     property OnImageMouseLeave: TNotifyEvent read  fOnImageMouseLeave …
Run Code Online (Sandbox Code Playgroud)

delphi vcl delphi-2010

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

如何将字符串参数传递给TADOQuery?

使用Delphi 2010

任何人都可以通过我的代码告诉我我在做错了什么.注释显示了我尝试将参数传递给ADOQuery的特定方法所收到的错误

procedure CreateAdminLogin(const APasswd: string);
var
  qry: TADOQuery;
  //P1, P2: TParameter;
begin
  qry := TADOQuery.Create(nil);
  try
    qry.Connection := frmDataModule.conMain;
    qry.SQL.Text := 'INSERT INTO Users (User_Id, Password) VALUES (:u, :p)';

    //Syntax error in INTO statement
    qry.Parameters.ParamByName('u').Value:= 'Admin';
    qry.Parameters.ParamByName('p').Value:= GetMd5(APasswd);


    //invalid variant operation
    {qry.Parameters.ParamByName('u').Value.AsString:= 'Admin';
    qry.Parameters.ParamByName('p').Value.AsString:= GetMd5(APasswd);}

    //invalid variant operation
    {P1:= qry.Parameters.ParamByName('u');
    P1.Value.asString:= 'Admin';
    P2:= qry.Parameters.ParamByName('p');
    P2.Value.asString:= GetMd5(APasswd);}


    qry.Prepared := True;
    qry.ExecSQL;
  finally
    qry.Free;
  end;

end;
Run Code Online (Sandbox Code Playgroud)

注意:GetMD5声明如下

function GetMd5(const Value: String): string;
var
  hash: MessageDigest_5.IMD5;
  fingerprint: string;
begin
  hash := …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-2010

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

如何将方法的嵌套过程作为参数传递?

如果TForm有一个TListBox上面,下面的工作:

procedure TForm1.FormCreate(Sender: TObject);
  procedure _WorkOnListBox;
  begin
    ListBox.Items.Append('Test');
  end;
begin  
  _WorkOnListBox;
end;
Run Code Online (Sandbox Code Playgroud)

如下所示:

procedure TForm1.DoWithoutListBoxEvents(AProc: TProc);
begin
  ListBox.Items.BeginUpdate;
  try
    AProc;  
  finally
    ListBox.Items.EndUpdate;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DoWithoutListBoxEvents(procedure
  begin
    LayersListBox.Items.Append('Test'); 
  end);
end;
Run Code Online (Sandbox Code Playgroud)

但以下不是:

procedure TForm1.FormCreate(Sender: TObject);
  procedure _WorkOnListBox;
  begin
    ListBox.Items.Append('Test');
  end;
begin  
  DoWithoutListBoxEvents(_WorkOnListBox);
end;
Run Code Online (Sandbox Code Playgroud)

我得到了E2555 Cannot capture symbol '_WorkOnListBox'.为什么?有没有办法在DoWithoutListBoxEvents不使用匿名程序的情况下开始工作?虽然我认为它看起来很优雅,但我试图保持FPC兼容.

delphi freepascal delphi-2010

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

如何在Delphi中将一个数组附加到另​​一个相同类型的数组?

如何在不使用Delphi中的迭代语句(forwhile循环)的情况下将一个数组附加到另​​一个相同类型的数组?

arrays delphi append delphi-2010

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

如何在delphi中的SQL(Delete)语句中包含整数值

在数据库中,DoctorID是整数列.编辑后的"//"代码行都不起作用.如果有人能告诉我如何在SQL语句中正确指定整数值,我将非常感激.

procedure TForm1.btnDeleteDocClick(Sender: TObject);
var
  iID : Integer;
begin
  iID := StrToInt (InputBox('Delete Doctor','Please enter in your Doctor ID',''));
  with dmHospital do
  begin
    qryDoctors.SQL.Clear;
    //qryDoctors.SQL.Add('DELETE FROM Doctors WHERE DoctorID = iID ' ) ;
    //qryDoctors.SQL.Add('DELETE FROM Doctors WHERE DoctorID = ' + QuotedStr(iID));
    qryDoctors.ExecSQL;
    qryDoctors.SQL.Clear;
    qryDoctors.SQL.Add('SELECT * FROM Doctors');
    qryDoctors.Open;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

sql delphi delphi-2010 sql-delete

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

在快速报告6中禁用最小化

是否可以在快速报告6中禁用最小化?

出于某种原因,在delphi中,fastreport会自动最小化。

仅关闭并最大化按钮。

有什么办法吗?

delphi fastreport delphi-2010 delphi-xe

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