存档

文章标签 ‘delphi’

[转]delphi中Record 和Packed Record的区别

2015年3月9日 没有评论

//Integer类型刚好是4个字节,ShortInt类型是1个字节,但是Windows中内存是4字节分配,
//所以这里其实还是4个字节,用SizeOf可以看到这个record的大小是8字节,这样虽然浪
//费了空间,但是加快了速度(Windows内存分配中的边界对齐原理)
TPerson = record
Age: Integer;
Sex: ShortInt;
end;

TPackedPerson = packed record
Age: Integer;
Sex: ShortInt; //使用packed record,用Sizeof可以看到这个record的大小是5字节;
end;

TEmployee = record
ID: Integer; //Integer是4字节
case Integer of
0:(YearMoney: Integer); //YearMoney和MonthMoney共用内存,按最大内存分配
1:(MonthMoney: ShortInt); //该record的大小是8字节
end;

TTagEmployee = record
ID: Integer;
case Grade: Integer of //这里加入了Grade变量
0:(YearMoney: Integer); //YearMoney和MonthMoney共用内存,按最大内存分配
1:(MonthMoney: ShortInt); //该record的大小是12字节(ID+Grade+YearMoney)
end;

阅读全文…

分类: 技术 标签:

Delphi图片BASE64编码

2015年1月21日 没有评论

今天群里讨论对图片进行BASE64编码的问题就简单的写了下。
编码:

procedure TForm1.btn1Click(Sender: TObject);
var
  fs :TFileStream;
  ss:TStringStream;
begin
  fs := TFileStream.Create('1.jpg',fmOpenRead);
  ss := TStringStream.Create;
  try
    TNetEncoding.Base64.Encode(fs,ss);
    mmo.Text := ss.DataString;
  finally
    fs.Free;
    ss.Free;
  end;
end;

解码:



procedure TForm1.btn2Click(Sender: TObject);
    var
      ss:TStringStream;
      fs:TFileStream;
    begin
      ss := TStringStream.Create(mmo.Text);
      fs := TFileStream.Create('2.jpg',fmOpenWrite + fmCreate);
      try
      TNetEncoding.Base64.Decode(ss,fs) ;
      finally
        fs.Free;
        ss.Free;
      end;
    end;
分类: 技术 标签: ,

Tedit輸入完畢,如何隱藏android鍵盤?

2014年3月3日 没有评论

方法一:点击事件中随便找个具有SetFocus功能的控件把焦点转移到它那里去。它可以不一定要展示在屏幕内。

方法二:通过 TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FVirtualKeyboardService));获得Service后,调用它里面的Hide什么什么的功能。

分类: 技术 标签: ,

ImageEn 5.0.0 十大增强

2013年10月23日 没有评论

1。 TImageEnFolderMView
专为显示文件夹的内容,包括支持的后代ImageEnMView:

-文件夹图标
-从Windows的文件拖放
-剪切,复制和粘贴从Windows资源管理器的文件
-文件信息,当鼠标悬停在帧
-自动刷新文件夹的内容发生变化
-显示的标准文件夹弹出菜单
-文件功能移动时 ,复制,重命名和删除文件
-内置的文件浏览,文件快捷方式等功能

TImageEnFolderMView

2。 DICOM节能
ImageEn现在提供了原生支持DICOM文件的保存

3。 旋转对话框
“图像处理”对话框现在包括支持旋转,让您一个的ImageEn TAction或一行代码,提示用户当前图像的旋转数据:ImageEnView1.Proc.DoPreviews([peRotate])

4。 改进的加密
新的算法提供了很大的提高加密(没有加密的无损图像的轮廓)

5。 ImageEnMView造型
已作出重大改进到ImageEnMView造型与文字边距,背景颜色和图标的新选项。为了方便的使用致电ImageEnMView1.SetModernStyling自动设置所有的样式属性来匹配Windows。甚至让缩略图显示区域自动裁剪到一个新的“ThumbnailCli??pping”属性

6。 ImageEnMView文本
让您全套condtants的缩略图帧自动输出文本信息,如尺寸,文件大小,日期等

7。 ImageEnMView排序
现在一个ImageEnMView可以按文件大小进行排序,创建日期,修改日期和类型

8。 图像处理预览改进
“预览”对话框中的造型已经改善,因此它更适合当一个单一的目的,如旋转或调整。它也提供了更好的预览性能与较大的图像,并且可以使用抗锯齿

9。 改进的旋转预览
ImageEnView现在可以显示旋转层抗锯齿

10。 XE5支持
现在兼容Delphi和C + + Builder XE5的

分类: 技术 标签: , ,

QuickBurro V4.29发布,支持XE5、支持Android!

2013年10月23日 没有评论

QuickBurro V4.29版本发布,本次主要更新:
———-
1、开始支持Delphi XE5、支持Android移动开发
2、新增通用客户端插件框架,大幅提高应用开发效率
3、新增服务端模块触发器、服务端插件编程更灵活
4、新增异步远过程调用方法,长耗时任务处理编程更简单
5、新增《客户端插件编程指南》资料
www.quickburro.com

分类: 软件 标签: , , ,

注册了个delphi的域名

2013年10月23日 1 条评论

delphi.net.cn
没想到还要上传身份证资料才能解析。

分类: 个人 标签: ,

Delphi XE5 Remobjects、Fastreport、Raize控件工作正常

2013年10月14日 没有评论

下载了LSuper的Lite8.0 安装完毕后没有找到适合的remobjects版本,于是去官方网站下载了最新的版本,运行程序提示要导入授权文件,用旧版覆盖安装后一切正常,fastreport直接安装即可,Raize已有支持XE5的版本。

分类: 技术 标签: , , , ,

delphi XE5 安卓设置屏幕横屏竖屏

2013年9月27日 没有评论
Application.FormFactor.Orientations := [TFormOrientation.soLandscape, TFormOrientation.soInvertedLandscape];
分类: 技术 标签: , ,

Delphi7编辑器的一个配色方案

2013年8月24日 没有评论
分类: 技术 标签: ,

Delphi版本号对照

2013年8月24日 没有评论

VER10  :Turbo Pascal 1

VER20  : Turbo Pascal 2

VER30  : Turbo Pascal 3

VER40  : Turbo Pascal 4

VER50  : Turbo Pascal 5

VER60  : Turbo Pascal 6

VER70  : Turbo Pascal 7

VER80  : Delphi 1

VER90  : Delphi 2

VER100 : Delphi 3

VER120 : Delphi 4

VER130 : Delphi 5

VER140 : Delphi 6

VER150 : Delphi 7

VER160 : Delphi 8

VER170 : Delphi 9.0  CodeGear2005

VER180 : Delphi 10.0 CodeGear 2006

VER185 : Delphi 11.0 CodeGear 2007

VER190 : Delphi 12.0 CodeGear 2008

VER200 : Delphi 13.0 CodeGear 2009

VER210 : Delphi 14.0 Embarcadero RAD Studio 2010

VER220 : Delphi 15.0 Embarcadero RAD Studio XE

VER230 : Delphi 16.0 Embarcadero RAD Studio XE2

VER240 : Delphi 17.0 Embarcadero RAD Studio XE3

编译时可以判断版本号:{$IF CompilerVersion >= 18.5}

//some code only compiled for Delphi 2007 and later

{$IFEND}

Delphi XE3  – 24

Delphi XE2  – 23Delphi XE   – 22

Delphi 2010 – 21

Delphi 2009 – 20

Delphi 2007 – 18.5

Delphi 2006 – 18

Delphi 2005 – 17

Delphi 8    – 16

Delphi 7    – 15

Delphi 6    – 14

分类: 技术 标签: