delphi 菜鸟教程,delphi中的stringgridDrawCell过程中。当想要调用这个过程时。里面的5个参数分别都因该是什么?(菜鸟)
delphi 菜鸟教程,delphi中的stringgridDrawCell过程中。当想要调用这个过程时。里面的5个参数分别都因该是什么?(菜鸟)详细介绍
本文目录一览: delphi 菜鸟请教,如何编写多层If then语句
对于你列举的情形不需要多层if判断。
if (a>1) and (a<2) Thenbegin x:=1; y:=2; z:=3;end;if (a>2) and (z<3) Thenbegin x:=0.5; y:=0.6; z:=0.7;end;if (a>3) and (z<4) Thenbegin x:=0.7; y:=0.8; z:=0.9;end;如果是嵌套的话,一般这样:
var score,Rate:integer; isPass:Boolean;const Good=100;if (score>60) Thenbegin isPass:=True; if (score>=90) Then begin Rate:=Good; ShowMessage('优秀!'); end;endelsebegin isPass:=False;end;(我个人习惯,具体可以参见相关教材。)
请教DELPHi中的查找相同数的问题(我是菜鸟新手)
你为什么不直接在数据库中把查询解决掉呢。
用模糊查询,直接把相应的结果查询出来,然后在memo中显示。
数据表中的结构?用SQL语句可以很简单地解决 这个问题
用query控件
with adoquery1 do begin
close;
sql.clear;
sql.add('select * from yourtable where 字段名 like ''%'+edit1.text+'%'' and 字段名 like ''%'+edit2.text+'%'' and 字段名 like ''%'+edit3.text+'%'' ');//eidt1.text等,是你输入进去的。
execsql;
open;
//然后把获取到的数据读到memo里就行了.都是你要查找的.
end;
在delphi中如何实现当鼠标指针经过按钮是发出声音,本人菜鸟望大侠详细点
uses mmsystem;
B: Boolean;
procedure TTowerForm.Panel1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
B:= True;
sndplaysound(0,0);//关闭语音
end;
procedure TTowerForm.BtnPriorMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if B then
sndplaysound('PriData.wav',snd_async);//一边播放语音档,一边执行程式
B:= False;
end;
delphi语言 使adotable1当前指针指向第一行记录的程序代码
首先我也是菜鸟,我是利用暑假时间才开始关注Delphi的,按照你的界面设计,以下代码供参考,还需进一步完善,如数据合法性验证等功能。 上图是我编译后的结果。不过本月总业绩这个位置遗漏了。可参考查询窗体中的部分代码。 SQL查询条件改成取本月的时间范围。
unit Unit1; //主窗体
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls,unit2, DB, ADODB, Mask, DBCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit8: TEdit;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
Edit1: TEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DateTimePicker1: TDateTimePicker;
DBEdit13: TDBEdit;
Button5: TButton;
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure DBEdit13Click(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button4Click(Sender: TObject);//关闭
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Application.CreateForm(TForm2,Form2);
Form2.ShowModal;
Form2.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Button2.Enabled:=false;
Button3.Enabled:=true;
datasource1.dataset.Append;
end;
procedure TForm1.Button3Click(Sender: TObject); //保存
Var sqlstr:string;
begin
Button3.Enabled:=false;
Button2.Enabled:=true;
sqlstr:='insert so_det (so_date,achive1,memo1,achive2,memo2,achive3,memo3,achive4,memo4,achive5,memo5,achive6,memo6,achiveTotal)';
sqlstr:=sqlstr+'values('''+datetostr(DateTimePicker1.time)+''','''+dbedit1.text+''','''+dbedit7.text+''','''+dbedit2.text+''','''+dbedit8.text+''','''+dbedit3.text+''','''+dbedit9.text+''','''+dbedit4.text+''','''+dbedit10.text+''','''+dbedit5.text+''','''+dbedit11.text+''','''+dbedit6.text+''','''+dbedit12.text+''','''+dbedit13.text+''')';
// 在Delphi环境中,SQL语句最好不要换行,呵呵,换行还是可以的,只是有些麻烦
//so_det 是SQL数据库中的表,字段如上面的语句所示。
if trim(dbedit1.Text)<>'' then
begin
try
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.ExecSQL;
Application.MessageBox('增加记录成功','提示',64);
self.OnShow(Sender);
dbedit1.SetFocus;
except
Application.MessageBox('增加记录失败','提示',64);
Close;
end;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from so_det order by so_date');
ADOQuery1.Open;
end;
procedure TForm1.Button5Click(Sender: TObject); //刷新数据
begin
self.OnShow(Sender);
Button2.Enabled:=true;
end;
procedure TForm1.DBEdit13Click(Sender: TObject); //数据汇总
begin
dbedit13.Text:=inttostr(strtoint(Trim(dbedit1.Text))+ strtoint(Trim(dbedit2.Text))+ strtoint(Trim(dbedit3.Text))+ strtoint(Trim(dbedit4.Text))+ strtoint(Trim(dbedit5.Text))+ strtoint(Trim(dbedit6.Text)));
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject); //根据选定的日期刷新数据
Var A:string;
begin
A:=datetostr(DateTimePicker1.Date);
Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('select * from so_det where so_date='''+A+'''');
Adoquery1.open;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
end.
-------------------------
//unit Unit2; 查询窗体
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, ADODB;
type
TForm2 = class(TForm)
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label2: TLabel;
Button1: TButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
Var A,B: string;
begin
A:=datetostr(DateTimePicker1.Date);
B:=datetostr(DateTimePicker2.Date);
Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add
('select sum(ahiveTotal) as total from so_det where so_date>='''+A+''' and so_date<='''+B+''''); //SQL语句分行的时候需留意,我一般写成一行
Adoquery1.open;
edit2.Text:=Adoquery1.fieldbyname('total').AsString; //显示查询结果在文本框中
end;
end.
Delphi 打开源码显示这个是怎么回事?我是菜鸟不懂,高手解答下,最好附教程
凡是这类问题,通常都表示这个代码引用了第三方控件,需要单独安装的,搜索一下rxgiganimator就可以知道它是属于rxlib控件库的,去下载一个rxlib安装上就可以了。
rx控件是俄国老做的,你的DELPHI没有安装这种控件,这是一个能放GIF动画的控件.在网上搜索一下,找到它并正确安装,源码文件就可以打开了.
这个控件或类是第三方提供的,没有安装
没装第三方控件~
delphi string字符串怎么放到char数组里 就是把string的值给char,他们是如何互相转换的菜鸟求简单代码。
var
s:string;
s:='1234567890';
则s本身就是一个char数组,s[1] = '1';也是字符串
vartostr
delphi中的stringgridDrawCell过程中。当想要调用这个过程时。里面的5个参数分别都因该是什么?(菜鸟)
TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Sender : 指向自身的一个TObject指针,每个控件事件里都有这个;
ACol : 当前CELL所在第几列
ARow:当前CELL所在第几行
Rect: 当前CELL的矩形
State:当前CELL的状态(包括gdSelected(当前被选中的cell), gdFocused(当前焦点所在cell), gdFixed(是否是fixedcell))
delphi 对excel 的控制
1、连接
if OpenDialog1.Execute then
begin
ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Open(OpenDialog1.FileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)) ;
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Activesheet as _Worksheet);
end;
2、打开
////////打开表//////////
ExcelApplication1.Connect;
ExcelApplication1.Visible[0]:=True;
////////打开表//////////
3、导入数据
DataModule2.Query1.FieldByName('kehu_name').AsString :=trim(ExcelWorksheet1.Cells.Item[hh,3]);
4、关闭
////////////////关闭表///////////////////
ExcelApplication1.Quit;
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
////////////////关闭表///////////////////
delphi interface单元里面的方法怎么调用 我是菜鸟请高手指点
interface是个虚的东西,只是描述了原型,而调用是需要有实体的,得通过实现了该接口(WeatherWSSoap)的类之实例(也称为对象)来调用,因此,你要找找看哪个类的定义中有继承WeatherWSSoap的写法,创建该类的实例,然后才能调用。