易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : delphi

Delphi的发展方向

读“Delphi2010,DELPHI的希望?”有感
 
原文:http://www.gowjq.com/forum-29-1.html
 
 
1)  盛大的主要开发工具是Delphi, 详见: http://act.sdo.com/Delphi/, 游戏是一种复杂交互界面的开发,Delphi可以胜任。同样作为企业应用的前端,用DELPHI开发也是很好的选择。
2)  以下是关于Delphi发展方向文章,可以看到Delphi与JavaDotNet是两个不同的方向。Delphi是通过“数据封装”实现企业级应用后端开发(DBX, DataSnap),而Java与DotNet是通过序列化对象方法实现企业级后端开发。“数据封装”虽然高效,但不是后端开发的主流。David I的方向有问题。
3)  我认为Delphi的方向应是:
1)企业级应用的前端开发的利器。移动开发是企业级应用的前端,Delphi应支持。
2)为访问企业级后端应用提供丰富接口。不应集中在dBx或datasnap上,应多支持sdo, json, soap等。 ......

Delphi Register Test

var
Form1: TForm1;
a, b, c: Integer;
implementation
{$R *.dfm}
procedure test1(x, y, z: integer);
asm
mov a,eax
mov b,edx
mov c,ecx
end;
procedure test2(x, y, z: integer);
var
i,j,k: integer;
asm
mov i,eax
mov j,edx
mov k,ecx
mov eax,[esp+8]
mov a,eax
mov eax,[esp+4]
mov b,eax
mov eax,[esp+0]
mov c,eax
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
test2(1,2,3);
ShowMessage(Format('%d,%d,%d', [a, b, c]));
end;
end.
new
var
Form1: TForm1;
a,b,c,d,e: Integer;
implementation
{$R *.dfm}
procedure test1(p1,p2,p3,p4,p5: integer);
asm
mov a,eax
mov b,edx
mov c,ecx
mov eax,[esp+$0c]
mov d,eax
mov eax,[esp+8]
mov e,eax
end;
procedure test2(p1,p2,p3,p4,p5: integer);
var
i,j,k: integer;
asm
mov i,eax
mov j,edx
mov k,ecx
mov eax,[esp+8]
mov a,eax
mov eax,[esp+4]
mov b,eax
mov eax,[esp+0]
mov c,eax
mov eax,[esp+$0c+$8+4]
mov d,eax
mov eax,[esp+$0c+$ ......

Delphi第三方控件安装卸载指南


Delphi第三方控件安装卸载指南
 
基本安装
1、对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;
2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可;
3、对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可;
4、如果以上Install按钮为失效的话,试试Compile按钮;
5、是run time lib则在option下的packages下的runtimepackes加之。如果编译时提示文件找不到的话,一般是控件的安装目录不在Delphi的Lib目录中,有两种方法可以解决: 1、反安装的源文件拷入到Delphi的Lib目录下; 2、或者Tools-->Environment Options中把控件源代码路径加入到Delphi的Lib目录中即可。注意:所安装的控件是否与你所用的Delphi版本相适应。控件删除在Component/Install Packages中删除。 选Component/configure Palette… 有pages和components两个区域双击components区域,选中要删除得控件,下面有得Delete按钮但系统提供的控件只能Hide,不能delete。打开控件所在的包文件(*.dpk),从中删除控件那个文件,再重新编译该包即可如果是整个控件包都要删除的话,project->Option ......

Delphi中截取文件名

Delphi中截取文件名不含后缀部分 收藏
当文件名含有中文时,不能直接用LeftStr(FileName, Length(FileName - 4))或者用Pos来定位"."的位置来获取。因为中文一个字符相当与两个英文字符。这样截取往往还是把整个FileName都截下来了。
应当使用Copy函数,如下:
TmpFileLength := Pos(extFile, FileName); TmpFileName := Copy(FileName, 1, TmpFileLength-1);
FileName为AA.txt之类,如果是包含path,可以先用ExtractFileName截取包含后缀的文件名。
发表于 @ 2008年06月23日 16:54:00 | 评论( 2 ) | 编辑| 举报| 收藏
旧一篇:Delphi中类似Map的HashTable | 新一篇:国务院参事:房产商操控舆论逼宫政府
相关文章 SmallHand 发表于2008年12月12日 10:10:24  IP:举报删除
试试这个
procedure TForm1.Button9Click(Sender: TObject);
begin
button9.Caption := ChangeFileExt('我的a文件.txt','');
end;SmallHand 发表于2008年12月12日 10:11:15  IP:举报删除
试试这个
procedure TForm1.Button9Click(Sender: TObject);
begin
button9.Caption := ChangeFileExt('我的a文件.txt','');
end;
本文来自CSDN博客,转载请标明出处:http://blog.csdn.n ......

delphi资料

1.防止刷新时闪烁的终极解决办法
{ 防止刷新时闪烁的终极解决办法(对付双缓冲无效时) }
  Perform($000B, 0, 0); //锁屏幕  防止闪烁
  // 做一些会发生严重闪烁的事情..
  //解锁屏幕并重画
  Perform($000B, 1, 0);
  RedrawWindow(Handle, nil, 0, RDW_FRAME + RDW_INVALIDATE + RDW_ALLCHILDREN + RDW_NOINTERNALPAINT);
2.图片上显示透明文字
//图片上显示透明的文字
//直接用.Canvas.Brush.Style:=bsClear;
//然后.Canvas.TextOut(x,y,'文字显示透明');
procedure TForm1.Button1Click(Sender: TObject);
var
  bitBuf:TBitmap;
begin
  bitBuf := TBitmap.Create;
  try
    bitbuf.LoadfromFile('测试图片.bmp');
    Self.Canvas.Draw(0,0,bitbuf);
    bitbuf.Transparent := True;
    bitbuf.TransparentColor := clWhite;    //文字显示透明
    bitbuf.Canvas.font.color := clBlue;     //文字颜色
    bitbuf.Canvas.TextOut(10,10,'这样就是透明的字 ......

《Delphi 算法与数据结构》: 数据对齐

为了加快硬件的访问速度, 编译器通常要使用"数据对齐", 譬如:
//下面结构中: SizeOf(TRec) = 6; 因为 b 在这里也要占 2 字节.
TRec = record
a: Word;
b: Byte;
c: Word;
end
;
//下面结构中: SizeOf(TRec) = 16; 这里的 a 和 b 共占了 8 个字节.
TRec = record
a: Byte;
b: Byte;
c: Double;
end
;
//下面结构中: SizeOf(TRec) = 8; 这里的 a 和 b 共占了 4 个字节.
TRec = record
a: Byte;
b: Byte;
c: Integer;
end
;
//下例使用了结构压缩(压缩后就对不齐了), 它们的大小会分别是: 2、1、8 字节
TRec = packed
record
a: Word;
b: Byte;
c: Double;
end
;
下面是一个测试:
unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class
(TForm)
Memo1: TMemo;
procedure
FormCreate(Sender: TObject);
end
;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
rec1 = record
x: Integer;
y: Integer;
z: Integer;
end
;
rec2 = record
x: ......
总记录数:644; 总页数:108; 每页6 条; 首页 上一页 [60] [61] [62] [63] 64 [65] [66] [67] [68] [69]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号