Guest:
Register
|
Login
|
Member List
|
Search
|
Statistics
|
FAQ
Language
----------
Simplifed Chinese
Traditional Chinese
English
CnPack Forum
»
CnVCL 组件包
» 我是一名新手程序员!请各位大大多多照顾!
‹‹ Last Thread
|
Next Thread ››
Poll
Trade
Reward
Activity
Printable Version
|
Email to Friend
|
Subscription
|
Favorites
Subject: 我是一名新手程序员!请各位大大多多照顾!
piaolingfeihu
新警察
UID 21233
Digest Posts 0
Credits 39
Posts 15
点点分 39
Reading Access 10
Registered 2007-7-26
Status Offline
#1
Post at 2007-7-26 14:09
Profile
|
Blog
|
P.M.
我是一名新手程序员!请各位大大多多照顾!
出来乍到,我从网上看到了CnPack这个控件,然后下载并且试用,感觉很好用,而且想得也非常周全。小弟我也试着做了一个多语言的单元,但是很缺乏完善!
1、不能够遍历窗体界面上的所有组件!(因为我写的Writeinifile这个函数中的类的数量还是有限的,致使一些扩展类,当使用控件假如BS控件:我在函数中添加的一般是这样的类:TBsSkinSpeedButton,TBsSkinLabel等),所以我的写Ini文件函数,不能够遍历所有的组件,并且将其Caption或者其他的可显示信息以自己的方式写到ini文件中!
2、读函数和写函数问题类似,也是这样的情况!
请各位大大,指教一下,应该怎么样去添加相应的类,才能做出像CnPack那样能够遍历所有组件包括,第三方控件!
小弟先在这儿谢过了!
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#2
Post at 2007-7-26 15:56
Profile
|
Blog
|
P.M.
遍历的代码在cnpack\Source\MultiLang\CnLangMgr中。
TCnCustomLangManager的几个方法:
TranslateRecurComponent 递归搜索Component和其子Component
TranslateRecurObject 递归搜索其属性中的Object
piaolingfeihu
新警察
UID 21233
Digest Posts 0
Credits 39
Posts 15
点点分 39
Reading Access 10
Registered 2007-7-26
Status Offline
#3
Post at 2007-7-27 09:53
Profile
|
Blog
|
P.M.
谢谢您
我看了一下那些代码!好多地方我还是不很懂,我才学了不多两个月,有些地方没有接触过!感觉关联性很强,好多的函数定义相互才实现这样的功能?还是有单独的几个函数就能够实现那?
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#4
Post at 2007-7-27 10:28
Profile
|
Blog
|
P.M.
一个类里头的代码本来就是互相关联的。我说的是看这两函数的实现思想,包括循环遍历,防止重复的机制等。
代码要拿来在你的程序里头用自然得稍微改改,不是完全现成的。
piaolingfeihu
新警察
UID 21233
Digest Posts 0
Credits 39
Posts 15
点点分 39
Reading Access 10
Registered 2007-7-26
Status Offline
#5
Post at 2007-8-20 15:15
Profile
|
Blog
|
P.M.
搞定!
谢谢!
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#6
Post at 2007-8-20 16:16
Profile
|
Blog
|
P.M.
不错,学习能力值得肯定。
piaolingfeihu
新警察
UID 21233
Digest Posts 0
Credits 39
Posts 15
点点分 39
Reading Access 10
Registered 2007-7-26
Status Offline
#7
Post at 2007-8-21 09:22
Profile
|
Blog
|
P.M.
谢谢
我已经仿照cnpack实现了多语言!
对您表示感谢!
goodcyg
新警察
UID 29882
Digest Posts 0
Credits 14
Posts 6
点点分 14
Reading Access 10
Registered 2007-10-29
Status Offline
#8
Post at 2007-10-29 14:28
Profile
|
Blog
|
P.M.
我做了个MultiLang咋不行呢?
我看了cnpack多语言设计,觉得设计的很好,想做demo试试,咋不行呢?我也看了它的使用说明?
新增窗体时,窗体必须继承自CnWizTranslate单元中的TCnTranslateForm。然后再生成整个窗体的翻译字符串,添加入Lang目录下的多语文件中。
最好在所有功能完成、窗体控件以及文字都确定以后再来实现多语,免得更新的时候因为可能潜在的bug而发生丢失字符串或错位的情况。:=)
生成翻译字符串的步骤如下:
在控件都放置好后,拖一个CnHashLangFileStorage到窗体上,设置其LanguagePath为一临时目录,用来存放临时生成的多语文件。
拖一CnLangManager到窗体上,把LangStorage属性设置成CnHashLangFileStorage1。
编辑CnHashLangFileStorage1的Languages属性,增加一种语言。因为需要的只是目标字符串,所以一种语言足够,而且LangID随便设置。
拖一CnTranslator到窗体上,双击。在弹出的窗体中左边选中该语言,点击生成按钮,右面会生成字符串,点击复制按钮以生成完整的带翻译值的字符串,点保存按钮。
在LanguagePath的临时目录中找到该语言文件,打开,复制,剩下的工作就是翻译后加入Lang目录下的多语文件中。
新增资源字符串按下列三步走:
第一,在CnWizConst单元里头加入这个字符串变量。
第二,在WizTranslate翻译单元里头加上这个字符串变量的翻译赋值语句。
第三,在各个语言文件里头加上新字符串的翻译条目。
是咋回事?
Passion
(LiuXiao)
管理员
UID 359
Digest Posts
19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
#9
Post at 2007-10-29 15:37
Profile
|
Blog
|
P.M.
楼上的问题已新开贴讨论。
Poll
Trade
Reward
Activity
CnPack Forum
CnPack English Forum
> CnWizards IDE Wizards
> CVSTracNT
> Announcements & Others
All times are GMT++8, the time now is 2024-11-24 14:48
Powered by
Discuz!
5.0.0
© 2001-2006
Comsenz Inc.
Processed in 0.011389 second(s), 9 queries , Gzip enabled
TOP
Clear Cookies
-
Contact Us
-
CnPack Website
-
Archiver
-
WAP
Member's CP Home
Edit Profile
Credits Transaction
Public User Groups
Buddy List
Main
Page Views
User Agents
Posts History
Top Forums
Top Threads
Post Ranking
Credit Ranking
Online Time
Team
Moderation Stats