当前位置 : delphi

标签 delphi 下的文章

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

//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编码

今天群里讨论对图片进行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鍵盤?

方法一:点击事件中随便找个具有SetFocus功能的控件把焦点转移到它那里去。它可以不一定要展示在屏幕内。
方法二:通过 TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FVirtualKeyboardService));获得Service后,调用它里面的Hide什么什么的功能。

ImageEn 5.0.0 十大增强

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!

QuickBurro V4.29版本发布,本次主要更新:

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

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

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

Delphi版本号对照

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