当前位置 : 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编码的问题就简单的写了下。
<h3>编码:</h3>

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;

<h3>解码:</h3>



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