{$D-,O+,Q-,R-,S-}
Unit Langage;
interface
uses Inifiles,Windows,Classes,SysUtils,Controls;
type languageString=record
TabSheet1,TabSheet2,TabSheet3:array[0..50] of char;
Button1,Button2,Button3,Button4,Button5,Button6,Button7,Button8,
Button9,Button10,Button14:array[0..50] of char;
CheckBox1,CheckBox2,CheckBox3,CheckBox4,CheckBox5,CheckBox6,CheckBox7,
CheckBox8,CheckBox9,CheckBox10,CheckBox11,CheckBox12,CheckBox13,
CheckBox14,CheckBox15,CheckBox16,CheckBox17,CheckBox18,CheckBox19,CheckBox20,CheckBox21:array[0..100] of char;
Label1,Label2,label3,label4,label5,label6,label7,label8,label9,label10,
label11,label12,label13,label14,label21,label27,label28,label29,label30,
label31,label33:array[0..100] of char;
ComboBox1:array[0..100] of char;
Radio1,Radio2:array[0..100] of char;
Edit1Hint,LabelCommentHint:array[0..260] of char;
formTitle:array[0..50] of char;
GroupBox1,GroupBox2,GroupBox3:array[0..100] of char;
Language,EmptyScheme,Author,Email,HomePage:array[0..100] of char;
end;
pLanguageString=^LanguageString;
Type TMonLangage=Class
public
Langue:languageString;
procedure loadLanguage(LngToLoad:pchar);
procedure ListAvailableLanguage(MyIni:pchar;List:Tstringlist);
procedure SetLanguage(MyIni,NewValue:pchar);
end;
implementation
{==============================================================}
procedure TMonLangage.loadLanguage(LngToLoad:pchar);
var LNG:TInifile;
s1:string;
path:string;
ModName:array[0..260] of char;
begin
SetString(path, ModName,Windows.GetModuleFileName(HInstance, ModName, SizeOf(ModName)));
path:=ExtractFilePath(path)+'Lng\';
LNG:=TIniFile.create(path+LngToLoad);
fillchar(Langue.Button1,sizeof(Langue.Button1),#0);
s1:=LNG.readString('Button','Button1','');
strlcat(Langue.Button1,pchar(s1),sizeof(Langue.Button1)-1);
fillchar(Langue.Button2,sizeof(Langue.Button2),#0);
s1:=LNG.readString('Button','Button2','');
strlcat(Langue.Button2,pchar(s1),sizeof(Langue.Button2)-1);
fillchar(Langue.Button3,sizeof(Langue.Button3),#0);
s1:=LNG.readString('Button','Button3','');
strlcat(Langue.Button3,pchar(s1),sizeof(Langue.Button3)-1);
fillchar(Langue.Button4,sizeof(Langue.Button4),#0);
s1:=LNG.readString('Button','Button4','');
strlcat(Langue.Button4,pchar(s1),sizeof(Langue.Button4)-1);
fillchar(Langue.Button5,sizeof(Langue.Button5),#0);
s1:=LNG.readString('Button','Button5','');
strlcat(Langue.Button5,pchar(s1),sizeof(Langue.Button5)-1);
fillchar(Langue.Button6,sizeof(Langue.Button6),#0);
s1:=LNG.readString('Button','Button6','');
strlcat(Langue.Button6,pchar(s1),sizeof(Langue.Button6)-1);
fillchar(Langue.Button7,sizeof(Langue.Button7),#0);
s1:=LNG.readString('Button','Button7','');
strlcat(Langue.Button7,pchar(s1),sizeof(Langue.Button7)-1);
fillchar(Langue.Button8,sizeof(Langue.Button8),#0);
s1:=LNG.readString('Button','Button8','');
strlcat(Langue.Button8,pchar(s1),sizeof(Langue.Button8)-1);
fillchar(Langue.Button9,sizeof(Langue.Button9),#0);
s1:=LNG.readString('Button','Button9','');
strlcat(Langue.Button9,pchar(s1),sizeof(Langue.Button9)-1);
fillchar(Langue.Button10,sizeof(Langue.Button10),#0);
s1:=LNG.readString('Button','Button10','');
strlcat(Langue.Button10,pchar(s1),sizeof(Langue.Button10)-1);
fillchar(Langue.Button14,sizeof(Langue.Button14),#0);
s1:=LNG.readString('Button','Button14','');
strlcat(Langue.Button14,pchar(s1),sizeof(Langue.Button14)-1);
fillchar(Langue.CheckBox1,sizeof(Langue.CheckBox1),#0);
s1:=LNG.readString('CheckBox','CheckBox1','');
strlcat( Langue.CheckBox1,pchar(s1),sizeof(Langue.CheckBox1)-1);
fillchar(Langue.CheckBox2,sizeof(Langue.CheckBox2),#0);
s1:=LNG.readString('CheckBox','CheckBox2','');
strlcat( Langue.CheckBox2,pchar(s1),sizeof(Langue.CheckBox2)-1);
fillchar(Langue.CheckBox3,sizeof(Langue.CheckBox3),#0);
s1:=LNG.readString('CheckBox','CheckBox3','');
strlcat( Langue.CheckBox3,pchar(s1),sizeof(Langue.CheckBox3)-1);
fillchar(Langue.CheckBox4,sizeof(Langue.CheckBox4),#0);
s1:=LNG.readString('CheckBox','CheckBox4','');
strlcat( Langue.CheckBox4,pchar(s1),sizeof(Langue.CheckBox4)-1);
fillchar(Langue.CheckBox5,sizeof(Langue.CheckBox5),#0);
s1:=LNG.readString('CheckBox','CheckBox5','');
strlcat( Langue.CheckBox5,pchar(s1),sizeof(Langue.CheckBox5)-1);
fillchar(Langue.CheckBox6,sizeof(Langue.CheckBox6),#0);
s1:=LNG.readString('CheckBox','CheckBox6','');
strlcat( Langue.CheckBox6,pchar(s1),sizeof(Langue.CheckBox6)-1);
fillchar(Langue.CheckBox7,sizeof(Langue.CheckBox7),#0);
s1:=LNG.readString('CheckBox','CheckBox7','');
strlcat( Langue.CheckBox7,pchar(s1),sizeof(Langue.CheckBox7)-1);
fillchar(Langue.CheckBox8,sizeof(Langue.CheckBox8),#0);
s1:=LNG.readString('CheckBox','CheckBox8','');
strlcat( Langue.CheckBox8,pchar(s1),sizeof(Langue.CheckBox8)-1);
fillchar(Langue.CheckBox9,sizeof(Langue.CheckBox9),#0);
s1:=LNG.readString('CheckBox','CheckBox9','');
strlcat( Langue.CheckBox9,pchar(s1),sizeof(Langue.CheckBox9)-1);
fillchar(Langue.CheckBox10 ,sizeof(Langue.CheckBox10),#0);
s1:=LNG.readString('CheckBox','CheckBox10','');
strlcat( Langue.CheckBox10,pchar(s1),sizeof(Langue.CheckBox10)-1);
fillchar(Langue.CheckBox11 ,sizeof(Langue.CheckBox11),#0);
s1:=LNG.readString('CheckBox','CheckBox11','');
strlcat( Langue.CheckBox11,pchar(s1),sizeof(Langue.CheckBox11)-1);
fillchar(Langue.CheckBox12 ,sizeof(Langue.CheckBox12),#0);
s1:=LNG.readString('CheckBox','CheckBox12','');
strlcat( Langue.CheckBox12,pchar(s1),sizeof(Langue.CheckBox12)-1);
fillchar(Langue.CheckBox13 ,sizeof(Langue.CheckBox13),#0);
s1:=LNG.readString('CheckBox','CheckBox13','');
strlcat( Langue.CheckBox13,pchar(s1),sizeof(Langue.CheckBox13)-1);
fillchar(Langue.CheckBox14 ,sizeof(Langue.CheckBox14),#0);
s1:=LNG.readString('CheckBox','CheckBox14','');
strlcat( Langue.CheckBox14,pchar(s1),sizeof(Langue.CheckBox14)-1);
fillchar(Langue.CheckBox15 ,sizeof(Langue.CheckBox15),#0);
s1:=LNG.readString('CheckBox','CheckBox15','');
strlcat( Langue.CheckBox15,pchar(s1),sizeof(Langue.CheckBox15)-1);
fillchar(Langue.CheckBox16 ,sizeof(Langue.CheckBox16),#0);
s1:=LNG.readString('CheckBox','CheckBox16','');
strlcat( Langue.CheckBox16,pchar(s1),sizeof(Langue.CheckBox16)-1);
fillchar(Langue.CheckBox17 ,sizeof(Langue.CheckBox17),#0);
s1:=LNG.readString('CheckBox','CheckBox17','');
strlcat( Langue.CheckBox17,pchar(s1),sizeof(Langue.CheckBox17)-1);
fillchar(Langue.CheckBox18 ,sizeof(Langue.CheckBox18),#0);
s1:=LNG.readString('CheckBox','CheckBox18','');
strlcat( Langue.CheckBox18,pchar(s1),sizeof(Langue.CheckBox18)-1);
fillchar(Langue.CheckBox19 ,sizeof(Langue.CheckBox19),#0);
s1:=LNG.readString('CheckBox','CheckBox19','');
strlcat( Langue.CheckBox19,pchar(s1),sizeof(Langue.CheckBox19)-1);
fillchar(Langue.CheckBox20 ,sizeof(Langue.CheckBox20),#0);
s1:=LNG.readString('CheckBox','CheckBox20','');
strlcat( Langue.CheckBox20,pchar(s1),sizeof(Langue.CheckBox20)-1);
fillchar(Langue.CheckBox21 ,sizeof(Langue.CheckBox21),#0);
s1:=LNG.readString('CheckBox','CheckBox21','');
strlcat( Langue.CheckBox21,pchar(s1),sizeof(Langue.CheckBox21)-1);
fillchar(Langue.Label1,sizeof(Langue.label1),#0);
s1:=LNG.readString('Label','Label1','');
strlcat( Langue.Label1,pchar(s1),sizeof(Langue.Label1)-1);
fillchar(Langue.Label2,sizeof(Langue.label2),#0);
s1:=LNG.readString('Label','Label2','');
strlcat( Langue.Label2,pchar(s1),sizeof(Langue.Label2)-1);
fillchar(Langue.Label3,sizeof(Langue.label3),#0);
s1:=LNG.readString('Label','Label3','');
strlcat( Langue.Label3,pchar(s1),sizeof(Langue.Label3)-1);
fillchar(Langue.Label4,sizeof(Langue.label4),#0);
s1:=LNG.readString('Translation','Language','');
strlcat( Langue.Label4,pchar(s1),sizeof(Langue.Label4)-1);
fillchar(Langue.Label5,sizeof(Langue.label5),#0);
s1:=LNG.readString('Label','Label5','');
strlcat( Langue.Label5,pchar(s1),sizeof(Langue.Label5)-1);
fillchar(Langue.Label6,sizeof(Langue.label6),#0);
s1:=LNG.readString('Translation','Author','');
strlcat( Langue.Label6,pchar(s1),sizeof(Langue.Label6)-1);
fillchar(Langue.EmptyScheme,sizeof(Langue.EmptyScheme),#0);
s1:=LNG.readString('Other','EmptyScheme','');
strlcat( Langue.EmptyScheme,pchar(s1),sizeof(Langue.EmptyScheme)-1);
fillchar(Langue.Label7,sizeof(Langue.label7),#0);
s1:=LNG.readString('Label','Label7','');
strlcat( Langue.Label7,pchar(s1),sizeof(Langue.Label7)-1);
fillchar(Langue.Label8,sizeof(Langue.label8),#0);
s1:=LNG.readString('Translation','Email','');
strlcat( Langue.Label8,pchar(s1),sizeof(Langue.Label8)-1);
fillchar(Langue.Label9,sizeof(Langue.label9),#0);
s1:=LNG.readString('Label','Label9','');
strlcat( Langue.Label9,pchar(s1),sizeof(Langue.Label9)-1);
fillchar(Langue.Label10,sizeof(Langue.label10),#0);
s1:=LNG.readString('Translation','HomePage','');
strlcat( Langue.Label10,pchar(s1),sizeof(Langue.Label10)-1);
fillchar(Langue.Label11,sizeof(Langue.label11),#0);
s1:=LNG.readString('Label','Label11','');
strlcat( Langue.Label11,pchar(s1),sizeof(Langue.Label11)-1);
fillchar(Langue.Label12,sizeof(Langue.label12),#0);
s1:=LNG.readString('Label','Label12','');
strlcat( Langue.Label12,pchar(s1),sizeof(Langue.Label12)-1);
fillchar(Langue.Label13,sizeof(Langue.label13),#0);
s1:=LNG.readString('Label','Label13','');
strlcat( Langue.Label13,pchar(s1),sizeof(Langue.Label13)-1);
fillchar(Langue.Label14,sizeof(Langue.label14),#0);
s1:=LNG.readString('Label','Label14','');
strlcat( Langue.Label14,pchar(s1),sizeof(Langue.Label14)-1);
fillchar(Langue.Label21,sizeof(Langue.label21),#0);
s1:=LNG.readString('Label','Label21','');
strlcat( Langue.Label21,pchar(s1),sizeof(Langue.Label21)-1);
fillchar(Langue.Label27,sizeof(Langue.label27),#0);
s1:=LNG.readString('Label','Label27','');
strlcat( Langue.Label27,pchar(s1),sizeof(Langue.Label27)-1);
fillchar(Langue.Label28,sizeof(Langue.label28),#0);
s1:=LNG.readString('Label','Label28','');
strlcat( Langue.Label28,pchar(s1),sizeof(Langue.Label28)-1);
fillchar(Langue.Label29,sizeof(Langue.label29),#0);
s1:=LNG.readString('Label','Label29','');
strlcat( Langue.Label29,pchar(s1),sizeof(Langue.Label29)-1);
fillchar(Langue.Label30,sizeof(Langue.label30),#0);
s1:=LNG.readString('Label','Label30','');
strlcat( Langue.Label30,pchar(s1),sizeof(Langue.Label30)-1);
fillchar(Langue.Label31,sizeof(Langue.label31),#0);
s1:=LNG.readString('Label','Label31','');
strlcat( Langue.Label31,pchar(s1),sizeof(Langue.Label31)-1);
fillchar(Langue.Label33,sizeof(Langue.Label33),#0);
s1:=LNG.readString('Label','Label33','');
strlcat( Langue.Label33,pchar(s1),sizeof(Langue.Label33)-1);
fillchar(Langue.TabSheet1,sizeof(Langue.TabSheet1),#0);
s1:=LNG.readString('TabSheet','TabSheet1','');
strlcat( Langue.TabSheet1,pchar(s1),sizeof(Langue.TabSheet2)-1);
fillchar(Langue.TabSheet2,sizeof(Langue.TabSheet2),#0);
s1:=LNG.readString('TabSheet','TabSheet2','');
strlcat(Langue.TabSheet2,pchar(s1),sizeof(Langue.TabSheet2)-1);
fillchar(Langue.TabSheet3,sizeof(Langue.TabSheet3),#0);
s1:=LNG.readString('TabSheet','TabSheet3','');
strlcat(Langue.TabSheet3,pchar(s1),sizeof(Langue.TabSheet3)-1);
fillchar(Langue.ComboBox1,sizeof(Langue.ComboBox1),#0);
s1:=LNG.readString('ComboBox','ComboBox1','');
strlcat( Langue.ComboBox1,pchar(s1),sizeof(Langue.ComboBox1)-1);
fillchar(Langue.Radio1,sizeof(Langue.Radio1),#0);
s1:=LNG.readString('RadioButton','Radio1','');
strlcat( Langue.Radio1,pchar(s1),sizeof(Langue.Radio1)-1);
fillchar(Langue.Radio2,sizeof(Langue.Radio2),#0);
s1:=LNG.readString('RadioButton','Radio2','');
strlcat( Langue.Radio2,pchar(s1),sizeof(Langue.Radio2)-1);
fillchar(Langue.GroupBox1,sizeof(Langue.GroupBox1),#0);
s1:=LNG.readString('GroupBox','GroupBox1','');
strlcat( Langue.GroupBox1,pchar(s1),sizeof(Langue.GroupBox1)-1);
fillchar(Langue.GroupBox2,sizeof(Langue.GroupBox2),#0);
s1:=LNG.readString('GroupBox','GroupBox2','');
strlcat( Langue.GroupBox2,pchar(s1),sizeof(Langue.GroupBox2)-1);
fillchar(Langue.GroupBox3,sizeof(Langue.GroupBox3),#0);
s1:=LNG.readString('GroupBox','GroupBox3','');
strlcat( Langue.GroupBox3,pchar(s1),sizeof(Langue.GroupBox3)-1);
fillchar(Langue.Edit1Hint,sizeof(Langue.Edit1Hint),#0);
s1:=LNG.readString('Other','Edit1Hint','');
strlcat( Langue.Edit1Hint,pchar(s1),sizeof(Langue.Edit1Hint)-1);
fillchar(Langue.formTitle,sizeof(Langue.formTitle),#0);
s1:=LNG.readString('Other','CommentFrameTitle','');
strlcat( Langue.formTitle,pchar(s1),sizeof(Langue.formTitle)-1);
fillchar(Langue.LabelCommentHint,sizeof(Langue.LabelCommentHint),#0);
s1:=LNG.readString('Other','LabelCommentHint','');
strlcat( Langue.LabelCommentHint,pchar(s1),sizeof(Langue.LabelCommentHint)-1);
LNG.Free;
end;
procedure TMonLangage.ListAvailableLanguage(MyIni:pchar;List:Tstringlist);
var Val: TSearchRec;
path:string;
ModName: array[0..MAX_PATH] of Char;
begin
SetString(path, ModName,Windows.GetModuleFileName(HInstance, ModName, SizeOf(ModName)));
path:=ExtractFilePath(path)+'Lng\';
If FindFirst(path+'*.*',faAnyFile,Val)=0 Then Begin
Repeat
If ((Val.Attr And faDirectory)=0) Then List.Add(Val.FindData.cFileName)
Until FindNext(Val)<>0;
FindClose(Val);
End;
end;
procedure TMonLangage.SetLanguage(MyIni,NewValue:pchar);
var Temp:TIniFile;
begin
Temp:=TIniFile.create(MyIni);
Temp.WriteString('Main','Language',NewValue);
Temp.Free;
end;
end.
Detected encoding: ASCII (7 bit) | 2
|