Delphi单元文件之-简体繁体互转
Function GBCht2Chs(GBStr: String): AnsiString; {GBK繁体转简体} Var len:integer; pGBCHTChar: PChar; pGBCHSChar: PChar; Begin pGBCHTChar := PChar(GBStr); Len := SizeOf(pGBCHTChar); GetMem(pGBCHSChar, Len + 1); ZeroMemory(pGBCHSChar, Len + 1);
//GB CHS -> GB CHT LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, 2147483647 );
Result := String(pGBCHSChar); FreeMem(pGBCHSChar); End;
//----------------------------------------------
procedure TForm1.Button1Click(Sender: TObject); begin Memo2.Text := GBCht2Chs( Memo1.Text ); end;
unit BIG5TOGB; interface
uses Windows;
function GBCht2Chs(GBStr: string): AnsiString; function GBChs2Cht(GBStr: string): AnsiString;
implementation
function GBCht2Chs(GBStr: string): AnsiString; {进行GBK繁体转简体} var Len: integer; pGBCHTChar: PChar; pGBCHSChar: PChar; begin pGBCHTChar := PChar(GBStr); Len := MultiByteToWideChar(936, 0, pGBCHTChar, -1, nil, 0); GetMem(pGBCHSChar, Len * 2 + 1); ZeroMemory(pGBCHSChar, Len * 2 + 1); //GB CHS -> GB CHT LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, Len * 2); result := string(pGBCHSChar); //FreeMem(pGBCHTChar); FreeMem(pGBCHSChar); end;
function GBChs2Cht(GBStr: string): AnsiString; {进行GBK简体转繁体} var Len: integer; pGBCHTChar: PChar; pGBCHSChar: PChar; begin pGBCHSChar := PChar(GBStr); Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, nil, 0); GetMem(pGBCHTChar, Len * 2 + 1); ZeroMemory(pGBCHTChar, Len * 2 + 1); //GB CHS -> GB CHT LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2); result := string(pGBCHTChar); FreeMem(pGBCHTChar); //FreeMem(pGBCHSChar); end; end.
Delphi单元文件之-简体繁体互转的更多相关文章
- Delphi单元文件引用名称问题
Delphi新版本的单元文件格式变化了,如windows变成了winapi.windows,如果想在单元引用中使用简称,则需要在工程选项中配置: 这样就可以使用全名或简写来引用单元了.
- Delphi单元文件之-防止程序重复执行
//工程引用此单元就能防止同时出现多个实例unit MultInst;interfaceuses Windows ,Messages, SysUtils, Classes, Forms;impleme ...
- delphi基础篇之单元文件
Delphi单元文件 unit MainFrm; {库单元文件头} interface {接口部分由Interface开始implementation结束.声明引用的单元,常量,数据类型 ...
- Delphi项目构成之单元文件PAS
单元文件是Pascal源文件,扩展名为.pas. 有三种类型的单元文件: 窗体/数据模块和框架的单元文件(form/data module and frame units),一般由Delphi自动生成 ...
- Delphi窗体创建释放过程及单元文件小结(转)
Delphi窗体创建释放过程及单元文件小结 Delphi中的窗体,有模式窗体与非模式窗体两种.两种窗体的调用方式不同,模式窗体使用ShowModal显示,非模式窗体使用Show显示.当显示模式窗体的时 ...
- js如何实现简繁体互转
js如何实现简繁体互转 一.总结 一句话总结:其实无论是简体还是繁体,都是在显示端(前端),其实所有的我只用动js就好了,没必要动php. 当然,后端也可以做前端的事情,只是麻烦了点(要多通信两次,第 ...
- (转)Delphi工程文件说明
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- delphi 资源文件详解
delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便 ...
- 汉字简体繁体转换----Javascript
最近看到有个简体--繁体字互相转换的程序,是用JS实现的,感觉很好玩,所以拿来研究研究.先看看界面如下: 汉字简体繁体转换 // 0&&parent.frames.length) { ...
随机推荐
- 初入spring boot(四 )web项目
1. 模板引擎 spring boot提供了大量的模板引擎,包括FreeMark.Groovy.Thymeleaf.Velocity等,但spring boot中推荐用Thymeleaf,因为Thym ...
- js 前台ajax验证马克一下
function check_form(){ var email=$("#email").val(); var code=$("#code").val(); v ...
- JMS-activeMq发布订阅模式
上一篇对点对点模式进行总结,这一篇都发布订阅模式进行总结,代码都差不多,唯一区别就是创建队(session.createQueue(目的地))列改为创建主题(session.createTopic(目 ...
- Gulp实例(包括环境搭建的自动检测)
# Gulp实例(包括环境搭建的自动检测) Gulp是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务.下面我将完成如下的功能点并且附上源码: CSS文件打包 less文件打包 s ...
- python递归列出目录及其子目录下所有文件
python递归列出目录及其子目录下所有文件 一.前言 函数的递归,简单来说,就是函数内部调用自己 先举个小例子,求阶乘 def factorial(n): if n == 0: return 1 e ...
- 初试Orchard Core CMS
关于Orchard Core CMS,这是一套内容管理系统(Content Management System),看一下来自官方文档的解释,什么是Orchard CMS. Orchard is a f ...
- Appium 自动化测试(2)--环境安装:安装Android模拟器
一.安装java 环境-JDK 略,自行百度安装. 二.安装Android SDK Android SDK提供给我们API库和开发工具构建,测试和调试应用程序,Android.简单来讲,Android ...
- mysql中的左连接右连接内连接
一. 初始化SQL语句 /*join 建表语句*/ drop database if exists test; create database test; use test; /* 左表t1*/ dr ...
- HDU 1856 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1856 More is better Time Limit: 5000/1000 MS (Java/Others) ...
- Lucene快速入门
1. 什么是lucene lucene是Apache的一个全文检索工具,使用lucene能快速实现全文检索功能.Lucene是一个工具包,你可以调用它的函数, 但它不能独立运行,不单独对外提供服务. ...