我正在使用动作管理器处理具有大量动作(超过50个)的delph 7应用程序.并跟踪我有的每一个动作..现在我还有其他如下代码..
procedure TMainForm.OnActionExecute(Sender: TObject);
var
Action : TBasicAction;
begin
Action := Sender as TBasicAction;
if (Action is TAction) and not TAction(Action).Enabled then exit;
if Action = SQLQueryAction then
begin
//do somthing
end
else if (Action = NewSurveyAction) then
begin
//do somthing
end
else if ...
..
..
//lots of actions with if else latr..
end;// of OnActionExecute....
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我
如何使用'案例'之类的
case actions of
SQLQueryAction : //do somthing;
newsurveyaction : //do somthing;
//lots …Run Code Online (Sandbox Code Playgroud)您好我今天运行此代码,但问题是当字段上有相同的数据时它不会循环但只显示它过滤的第一个数据.这是代码
ADOTable1.First;
if ADOTable1.Locate('Last', Edit1.Text, []) then
begin
Label1.Caption := ADOTable1.FieldByName('Last').AsString;
Label2.Caption := ADOTable1.FieldByName('First').AsString;
Label3.Caption := ADOTable1.FieldByName('address').AsString;
Next;
end
else
begin
Label1.Caption := '';
Label2.Caption := '';
Label3.Caption := '';
end;
Run Code Online (Sandbox Code Playgroud) D7 需要这个PngComponents包.我只需要TPngImageList.如果我尝试在D7中编译此包(pas文件),我会收到很多错误:
unknown compiler directive {$Pointermath}
invalid operation for "PByte(ptr1) - PByte(ptr2)"
unknown feature "class var"
unknown ft "class function"
etc
Run Code Online (Sandbox Code Playgroud)
D7是否有一些现成的包装?或者只有在SpTBX中使用的TPngImageList?
为了覆盖TPanel的Paint程序在delphi 7中使背景颜色变为clwhite,我正在关注@RRUZ答案,但我找不到TCustomStyleServices类.
还有其他方法可以做我想要的吗?
我正在使用XPMan资源(IDK如果改变了什么).
我投降,我花了我的时间差不多12小时得到我想要的,但我不能.
此代码搜索所有文件夹和文件名,但我想排除一些文件夹,包括我要从搜索中排除的文件夹的子目录.
我希望有人可以提供帮助.
procedure TForm1.CombineDir(InDir : string; OutStream : TStream);
var AE : TArchiveEntry;
dFound:boolean;
procedure RecurseDirectory(ADir : string);
var sr : TSearchRec;
TmpStream : TStream;
begin
if FindFirst(ADir + '*', faAnyFile, sr) = 0 then begin
repeat
if (sr.Attr and (faDirectory or faVolumeID)) = 0 then begin
//ShowMessage('Filename is :>'+ ADir + sr.Name);
if (NotThisPath.IndexOf(ADir + sr.Name)>=0) or dFound then begin
ShowMessage('DO NOT INCLUDE THIS FILENAME :>'+ ADir + sr.Name);
end else begin
ShowMessage('>>> INCLUDE THIS FILENAME :>'+ ADir …Run Code Online (Sandbox Code Playgroud) 我有一个主窗体和一个辅助窗体,它们都有一个来自公共数据库的DBAware控件.目前我正在使用ShowModal,但我希望能够使用Modal返回主窗体并导航数据库.
在辅助中,我可以用TEdits替换TDBEdits,并在显示辅助表单时用数据填充它们.没有办法在辅助表单中导航数据库,但是,如果用户可以返回到可以导航的主表单,我将需要在返回辅助表单时重置数据库游标.
我如何判断二级表格刚刚失去焦点?我可以抓住数据库光标位置.
如何判断辅助表单何时再次获得焦点?因此,如果数据库游标在返回之前被移动,我可以重置它.
谢谢ps请不要质疑为什么和/或替代建议.这是一个现有的应用程序,我真的不想要修复数英里的代码.虽然它很糟糕,它已经工作多年,客户希望改变可能.:)
我需要使用7个不同的RadioButtons动态创建一个TRadioGroup.
RadioButtons如下:
Screws 12mm
Canned Peaches 250g
Refil Blue Pen
Tomatoes
Spaghetti
Twin Flex 5m
Clear glue 250ml
这是我认为它必须看起来的样子:
rgpOptions := TRadioGroup.Create(frmSale);
rgpOptions.Parent := frmSale;
rgpOptions.Left := 30;
rgpOptions.Top := 100;
rgpOptions.Width := 300;
rgpOptions.Height := 140;
rgpOptions.Visible := True;
rgpOptions.Items.Add := (
1 := 'Screws 12mm';
2 := 'Canned Peaches 250g';
3 := 'Refil Blue Pen';
4 := 'Tomatoes';
5 := 'Spaghetti';
6 := 'Twin Flex 5mm';
7 := 'Clear Glue';
);
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,我知道它不能编译,这就是我要问的原因)
初学者:)
我正在尝试创建一个需要用户输入的Delphi应用程序,然后添加和减去这些变量.
我成功创建了应用程序,一切正常,除了:
无法找到处理带小数的数字的正确方法.
例:
A,B,C,D,E,F:字符串; A1,B1,C1,D1,E1,F1:整数:
我使用InputBox来获取用户输入.我将输入存储在字符串变量中.我将字符串变量转换为整数,A1:= strToint(A); 最后,我想:A1 + B1-C1-D1-E1-F1如果输入是整数,则一切正常.如果用户输入带小数的数字,则会出现问题.
我搜遍了所有地方,但找不到我的问题的答案.(或者我不明白)
任何人都可以指出我正确的方向?
谢谢.
编译以下代码时:
procedure TMainWin.FormActivate(Sender: TObject);
var LineRaw : String;
LinesFile : TextFile;
i, i2 : integer;
tempChar : String;
CurTempCharPos : integer;
begin
AssignFile(LinesFile, 'Lines.txt');
Reset(LinesFile);
i := 0;
tempChar := '';
CurTempCharPos := 1;
while not EoF(LinesFile) do begin
i := i+1; //ticker
ReadLn(LinesFile, LineRaw);
for i2 := 0 to 4 do begin
tempChar := LineRaw[CurTempCharPos] + LineRaw[CurTempCharPos +1];
Lines[i,i2] := IntToStr(tempChar);
tempChar := '';
CurTempCharPos := CurTempCharPos + 3;
end;
end;
CloseFile(LinesFile);
end;
Run Code Online (Sandbox Code Playgroud)
使用另一种形式定义行:
unit uGlobal;
interface
type
aLines …Run Code Online (Sandbox Code Playgroud) 我使用以下代码显示总下载和上传.累积下载超过2 GB时出现问题,结果是位数:
var
Form1: TForm1;
Downloaded, Uploaded:integer;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Downloaded < 1024 then
Recv.Caption := FormatFloat(' + Recv: #,0 Bit',Downloaded)
else if (Downloaded > 1024) and (Downloaded < 1048576) then
Recv.Caption := FormatFloat(' + Recv: #,##0.00 Kb',Downloaded/1024)
else if (Downloaded > 1048576) and (Downloaded < 1073741824) then
Recv.Caption := FormatFloat(' + Recv: #,##0.00 Mb',Downloaded/1048576)
else if (Downloaded > 1073741824) then
Recv.Caption := FormatFloat(' + Recv: #,##0.00 Gb', Downloaded/1073741824);
if Uploaded < 1024 then
Sent.Caption …Run Code Online (Sandbox Code Playgroud)