windev支持多语言,且支持整站翻译,同时支持最终用户的多语言选择,可以说多语言功能已经非常的全面和强大。

windev原生支持英语、法语和葡萄牙语,在使用如中文等非拉丁字母语言时,需要在多个地方进行设置。咱们的一个汉字占两个字节,一个字母占1个字节。不进行声明设置的话,系统默认一个字节的方式来处理变量、数据,碰到汉字就会产生乱码。需要设置的地方包括:

1、在创建项目时,或项目>description>languages中,增加中文。并在languages的various中,选择simplified Chinese,Chinese/China/PinYin

2、设计项目运行的Configuration,Unicode选择Use UNICODE strings at runtime。提示:项目运行的Configuration位于项目面板下的第一行

3、数据库的analysis description,在Options的Unicode下,选择“Allow the input of non-Latin characters......”

4、数据表的字段设置,如果有中文字符出现的,选择Unicode string,Language parameters选择“Quick sort(multilingual)”。

5、程序设计的变量声明,我的习惯是,如果包括中文,就使用unicode string。(实际上,好像没什么影响)

完成以上5步,就可以放心使用中文了。本质上,就是将程序设计、运行以及数据库的字符,由默认的ansi,调整为Unicode。当然Unicode字符集中向下包容的,也就是说,在Unicode里,你也一样可以使用string。另外,使用unicode的话,表情符号也支持哦!

再来说一下控件、变量、方法、类、数据库、数据表、字段等命名的方法,此方法只是个人习惯,仅供参考。:

1、控件使用系统默认的前缀+中文,如确定按钮,命名为:BTN_确认。系统的默认前缀,我个人做了一点点修改,大部分是系统默认。如果是在TAB页窗口,因为可能会在多个标签页有一样的控件,这个时候可以在中文名前加TAB页名称,如BTN_[标签页名称]确认

2、变量也使用系统默认的前缀+中文,如str姓名。

3、方法和类,一般和系统默认方式一致,英文首写字母大写,如PROCEDURE MyWindow。

4、数据库、表和字段,名称用英文首写字母大写,说明Caption用中文。数据用英文的考虑,主要是为将来有可能会转库的问题,如果转库为SQLserver,英文总归会更好些。

5、因为数据字段用了英文名,所以表格绑定数据表的时候,字段名默认是英文,我一般只将显示名改为中文,字段名称就保持默认不改了。

6、For each循环中的元素,我开始还会用啥str遍历之类的变量名称,后来发现这么命名不是一个好方法,现在统一用n,不管是foreach string还是foreach row等,都用n,解决所有命 名烦恼。

P.S,中文表达的灵活性很强,在程序中使用时,就会不够严谨。所以控件和变量用中文时,一些常规字还是自己统一一下,比如选定行,不要一下选定行,一下选择行,又一下子已选行,统一一个称呼,把严谨性带进中文。

再P.S,我知道在20版本前,有中文版出现,即把if这些程序关键词都给翻译了,这样真不好,也建议甚用,英文程序语言的表达一定比中文强,况且你用得还是二手翻译过来的。

windev的字符集选择设置及元素命名方法建议的更多相关文章

  1. jQuery基础之获取和设置标签元素属性

    jQuery基础之获取和设置标签元素属性方法,如下图: 代码实现: <script src="JS/jquery-1.12.4.min.js"></script& ...

  2. Oracle字符集的查看查询和Oracle字符集的设置修改

    本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题. 一.什么是Oracle字符集 Oracle字符集是 ...

  3. Oracle字符集的查看查询和Oracle字符集的设置修改(转)

    最近郁闷的字符集2014年7月31日16:32:58 本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题 ...

  4. Oracle字符集的查看查询和Oracle字符集的设置修改(转载)

    本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的Oracle UTF8字符集和Oracle exp 字符集问题. 一.什么是Oracle字符集 Oracle字符集是 ...

  5. 深入学习jQuery选择器系列第二篇——过滤选择器之子元素选择器

    × 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 在上一篇中已经介绍过基础选择器和层级选择器,本文开始介绍过滤选择器.过滤选择器是jQuery选择器中最为庞大也是最为 ...

  6. JQuery获取与设置HTML元素的值value

    JQuery获取与设置HTML元素的值value 作者:简明现代魔法图书馆 发布时间:2011-07-07 10:16:13 20481 次阅读 服务器君一共花费了13.221 ms进行了6次数据库查 ...

  7. [转]在.NET Core 2.x中将多个强类型设置实例与命名选项一起使用

    自1.0版之前,ASP.NET Core已使用“ 选项”模式配置强类型设置对象.从那时起,该功能获得了更多功能.例如,引入了ASP.NET Core 1.1 IOptionsSnapshot,它允许您 ...

  8. 1、如何在列表,字典,集合种根据条件筛选数据?2、如何为元组中的每个元素命名,提高程序的可读性3、如何统计出序列中元素出现的频度4、如何根据字典中value的大小,对字典的key进行排序

    一.数据筛选: 处理方式: 1.filter函数在py3,返回的是个生成式. from random import randint data = [randint(-100,100) for i in ...

  9. JavaScript 数组 length 属性获取数组长度或设置数组元素的数目

    JavaScript 数组 length 属性 JavaScript 数组 length 属性可返回或设置或组中元素的数目,语法如下: array_object.length 利用 length 属性 ...

随机推荐

  1. 20个 CSS 快速提升技巧

    作者:web秀 http://www.javanx.cn/20190321/css-skill/ 本文涵盖了20个css技巧,可以解决许多工作中常见的问题. 1.使用CSS重置(reset) css重 ...

  2. 前端 | Vue nextTick 获取更新后的 DOM

    前两天在开发时遇到一个需求:打开对话框的时候自动聚焦其中的输入框.由于原生的 autofocus 属性不起作用,需要使用组件库提供的 focus 方法手动手动获取焦点.于是有如下代码: <el- ...

  3. 不难懂——CSS 匹配指定name元素

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  4. linux中uniq命令全面解析

    目录 一 :uniq作用 二:uniq格式 1.参数 2.参数案例解析: linuxuniq简介 Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用. u ...

  5. unixbench服务器性能测试

    使用 Unixbench5 进行linux系统服务器性能综合测试 1.简介 Unixbench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linu ...

  6. 面向次世代的Windows App SDK 近况

    Project Reunion作为面向次世代Windows App Development的统一工具集.在2021年11月,第三个稳定版正式以1.0的版本号发布的同时,改名部果断出手,以全新的名称Wi ...

  7. 如何美化 Matplotlib 的工具栏和绘图风格

    前言 matplotlib 功能十分强大,就是工具栏丑了点.忍了一个学期之后,还是决定自己动手,魔改一波 matplotlib 的工具栏样式.同时给大家分享一下自己按照 MATLAB 写的 matpl ...

  8. 多种方式告诉你如何计算DM同步数据到TiDB的延时时间

    背景 用户在做技术选型的过程中,总是会对一些数据指标比较关心,特别是在和竞品相比较的时候,更加需要一些有说服力的数据.基于MySQL开发的项目在迁移到TiDB的时候,使用DM同步数据是必不可少的一个环 ...

  9. 新手应该如何学习 PHP 语言?

    其实php开发,不只是一个简单的php开发,而是整个一个行业,一般叫web开发,或者php后端开发,所以从html,css,js,jq,php,sql基本这些都要有了解.当然你有html,css基础, ...

  10. ArrayList和LinkList的区别

    底层实现区别 ArrayList 底层实现就是数组,且ArrayList实现了RandomAccess,表示它能快速随机访问存储的元素,通过下标 index 访问,只是我们需要用 get() 方法的形 ...