//---------------------------------------------------------------------------
#include <fmx.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.fmx"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void MultiLanguage(int k)
{
AnsiString pathc = GetCurrentDir();
String Path = pathc + "\\5.xml";
_di_IXMLDocument document ;
_di_IXMLNode rootnode,langnode,formnode;
document = interface_cast<Xmlintf::IXMLDocument>(new TXMLDocument(NULL));
document->LoadFromFile(Path); //
document->Active = true;
TForm *form[2] = {Form1,Form2};
rootnode = document->ChildNodes->FindNode("root");
langnode = rootnode->ChildNodes->Get(k);
for(int i = 0; i < langnode->ChildNodes->Count;i++)
{
formnode = langnode->ChildNodes->Get(i);
int n= form[i]->ComponentCount;
TComponent *tComp;
form[i]->Caption = formnode->GetAttribute("Caption");
for(int j = 0; j < n; j++){
tComp = form[i]->Components[j];
if(form[i]->Components[j]->ClassNameIs("TButton")){
dynamic_cast<TButton*>(tComp)->Text =
formnode->ChildNodes->FindNode(dynamic_cast<TButton*>(tComp)->Name)->GetAttribute("Text");
}else if(form[i]->Components[j]->ClassNameIs("TMenuItem")){
dynamic_cast<TMenuItem*>(tComp)->Text =
formnode->ChildNodes->FindNode(dynamic_cast<TMenuItem*>(tComp)->Name)->GetAttribute("Text");
}else if(form[i]->Components[j]->ClassNameIs("TLabel")){
dynamic_cast<TLabel*>(tComp)->Text =
formnode->ChildNodes->FindNode(dynamic_cast<TLabel*>(tComp)->Name)->GetAttribute("Text");
}else if(form[i]->Components[j]->ClassNameIs("TGroupBox")){
dynamic_cast<TGroupBox*>(tComp)->Text =
formnode->ChildNodes->FindNode(dynamic_cast<TGroupBox*>(tComp)->Name)->GetAttribute("Text");
}else if(form[i]->Components[j]->ClassNameIs("TListBoxItem")) {
//这里需要判断节点是否存在!
if(formnode->ChildNodes->FindNode(dynamic_cast<TListBoxItem*>(tComp)->Name)!= NULL){
dynamic_cast<TListBoxItem*>(tComp)->Text =
formnode->ChildNodes->FindNode(dynamic_cast<TListBoxItem*>(tComp)->Name)->GetAttribute("Text");
}
}else{
}
}
}
}
void __fastcall TForm1::mi_enClick(TObject *Sender)
{
MultiLanguage(0);
mi_cn->IsChecked = false;
mi_en->IsChecked = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::mi_cnClick(TObject *Sender)
{
MultiLanguage(1);
mi_cn->IsChecked = true;
mi_en->IsChecked = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MultiLanguage(0);
}
//---------------------------------------------------------------------------
没有合适的资源?快使用搜索试试~ 我知道了~
XML做配置文件实现多国语言切换
共68个文件
~2~:4个
~1~:4个
cpp:3个
1星 需积分: 50 104 下载量 33 浏览量
2015-08-03
16:55:02
上传
评论 2
收藏 11.7MB RAR 举报
温馨提示
一个简单的小程序,实现中文、英文切换。新手,代码写的比较渣,仅供参考。。
资源推荐
资源详情
资源评论
收起资源包目录
多语言切换(XML实现).rar (68个子文件)
多语言切换(XML实现)
Project1.cbproj 42KB
Unit1.cpp 3KB
Unit2.cpp 539B
Unit1.fmx 1KB
Unit2.h 2KB
Project1.res 52KB
Unit1.h 1KB
__history
Unit2.cpp.~1~ 535B
Unit1.fmx.~20~ 2KB
Unit1.cpp.~32~ 3KB
Unit1.h.~6~ 1KB
Unit1.fmx.~21~ 2KB
Unit1.cpp.~27~ 8KB
Unit1.cpp.~31~ 4KB
Unit1.fmx.~15~ 2KB
Unit2.cpp.~3~ 1KB
Unit1.fmx.~22~ 2KB
Unit1.h.~10~ 2KB
Unit1.cpp.~33~ 3KB
Unit1.cpp.~26~ 8KB
Unit1.cpp.~24~ 7KB
Unit2.fmx.~1~ 8KB
Unit1.fmx.~14~ 2KB
Unit2.h.~1~ 2KB
Unit1.cpp.~30~ 5KB
Project1.cpp.~2~ 859B
Unit2.fmx.~2~ 8KB
Unit2.cpp.~2~ 537B
Unit2.h.~3~ 2KB
Unit1.fmx.~16~ 2KB
Unit1.h.~5~ 1KB
Project1.cpp.~1~ 859B
Unit1.h.~4~ 1KB
Unit1.fmx.~19~ 2KB
Unit1.h.~8~ 1KB
Unit1.h.~9~ 1KB
Unit1.h.~11~ 1KB
Unit1.fmx.~18~ 2KB
Unit2.fmx.~3~ 8KB
Unit1.fmx.~17~ 2KB
Unit1.h.~12~ 1KB
Unit1.cpp.~28~ 8KB
Unit1.h.~7~ 1KB
Unit2.h.~2~ 2KB
Unit2.cpp.~4~ 1KB
Unit1.cpp.~29~ 8KB
Unit1.h.~13~ 1KB
Unit1.fmx.~23~ 1KB
Unit1.cpp.~25~ 7KB
Project1PCH1.h 63B
Win32
Debug
Unit2.obj 80KB
Project1.exe 137KB
Project1.ilc 896KB
Project1.pdi 39B
Project1.map 246B
5.xml 2KB
Project1.#00 4.52MB
Project1.ilf 4.13MB
Project1.pch 37.89MB
Project1.ild 320KB
Unit1.obj 206KB
Project1.ils 9.81MB
Project1.tds 5.38MB
Project1.#01 4.52MB
Project1.obj 25KB
Unit2.fmx 8KB
Project1.cpp 944B
Project1.cbproj.local 7KB
共 68 条
- 1
资源评论
- 遇到问题2019-06-24我想下载C#,看错了,白费5分!!塞
程序员4J
- 粉丝: 3
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功