因为Delphi自带的转换函数遇到其无法识别的字符串就返回空,下面函数可解决该问题. function DecodeUtf8Str(const S: UTF8String): WideString;var  lenSrc, lenDst  : Integer;begin  lenSrc := Length(S);  if (lenSrc=0) then Exit;  lenDst := MultiByteToWideChar(CP_UTF8, 0, Pointer(S), lenSrc, nil…
今天帮别人解决一个关于 Base64 编解码的问题,竟然发现 Delphi 自带了 Base64 编解码的单元,叫 EncdDecd,这名字很拗口而且不直观,估计这是一直很少人关注和知道的原因. 这个单元提供两套四个公开函数: 对流的编解码:procedure EncodeStream(Input, Output: TStream); // 编码procedure DecodeStream(Input, Output: TStream); // 解码 // 对字符串的编解码:function E…
Delphi 自带了 Base64 编解码的单元,叫 EncdDecd,这名字很拗口而且不直观,估计这是一直很少人关注和知道的原因.  这个单元提供两套四个公开函数:  对流的编解码: procedure EncodeStream(Input, Output: TStream); // 编码 procedure DecodeStream(Input, Output: TStream); // 解码  // 对字符串的编解码: function  EncodeString(const Input:…
最近在写的程序与SOAP相关,所以用到了一些Base64编码/解码及数据压缩/解压方面的知识. 在这里来作一些总结:一.Base64编码/解码 一般用到的是Delphi自带的单元EncdDecd,当然还有第三方提供的单元或控件,其中我所接触到的认为比较好的有Indy的TIdMimeEncode / TIdMimeDecode组件,以及RjMime单元. 在这里主要想讲讲如何才能获得最好的编码/解码性能,EncdDecd提供了EncodeStream/DecodeString, EncodeStr…
http://anony3721.blog.163.com/blog/static/511974201082235754423/ 解决Delphi窗体缩放の疑难杂症 2010-09-22 15:57:54|  分类: 默认分类 |  标签:delphi  |举报|字号 订阅     下载LOFTER我的照片书  |     No.1 Delphi中如何限制窗体大小? Delphi中可以限制窗体或者元件的大小,只要指定它的Constraints属性即可(默认是0,就是不限制).但是Delphi这个…
Delphi 的 DateTimePicker 组件有一个CalColors属性,可以设置 DropDown 打开的日历节目的风格.但如果不使用 Delphi 自带的 Style,在这里设置属性看不到期望的效果. 而使用了 delphi 自带的style,效果又存在瑕疵——日历面板大小有问题. 如果把自带 style 的 client 项关闭,大小倒是对了,之前设置的MonthBackColor属性在边框上也体现出来了,但是和窗体的风格又不统一了. 网上一搜,Stack Overflow 给出了…
Delphi 自带的那个 Hand 光标很难看?没关系,一行代码解决问题: Screen.Cursors[crHandPoint] := LoadCursor(0, IDC_HAND);放在主窗体 OnCreate 事件里,或放在任意一个单元 initialization 节都可以.同样的方法还可以替换掉其它感觉不爽的默认光标.…
比如,MessageBox在Delphi自带帮助的参数说明中,对其第四个参数的MB_类型说明只有最常见的6种类型,这么多年搞得我天经地义的以为MessageBox就是这么简单.今天看了一位前辈写的老代码,才发现,还有 MB_SETFOREGROUND和MB_SERVICE_NOTIFICATION_NT3X等等参数,比如可以这样调用: Result := MessageBox(0, lpText, lpCaption, uType or MB_SETFOREGROUND or MB_SERVIC…
package com.sixin.view; import android.content.Context; import android.graphics.Canvas; import android.text.Layout; import android.text.StaticLayout; import android.text.TextPaint; import android.util.AttributeSet; import android.widget.TextView; /**…
最近因业务需要,需要搭建一个Oracle数据库,当然Oracle数据库支持Linux,但是在上面搭建很是复杂,所以我想起了Docker ,果然在上面发现了一个OracleDB的镜像,所以下载之,运行,登录什么的都正常,但是这个镜像不支持中文字符集,所以为了更好的使用,下面使用Dockerfile文件构建了一个简单的Docker镜像,文件内容如下: 构建镜像文件 这里使用Oracle镜像作为参考,如果你有其他的Image需要天剑UTF-8字符集支持,也可以参考下面的构建脚本. FROM wname…