Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2010, 13:40   #1
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
Вопрос Перевод формы

Вобщем главная форма у меня полностью на Английском, но я сделал вкладку Language и там добавил русский язык. По нажатию на его нужно чтобы форма стала русской. Помогите это реализовать.(Сначала хотел просто открыть другую форму, но если я закрою главную форму, то закроется и вся прога).
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Старый 05.09.2010, 13:45   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Обсуждалось уже. В поиск.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 05.09.2010, 13:50   #3
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Создаешь ini'к с языком как-то так
Код:
[Menu]
N1=Файл
Uscita1=Новая игра
Uscitadelgiocho1=Выход
N2=Опции
Lingue=Языки
En=English
It=Italiano
Ru=Русский
Gn=Deutsch
Circa1=О программе
Refiremento1=Информация
До равно имя menuitems.После в OnClick пиши
Код:
i:=tinifile.Create(extractfilepath(paramstr(0))+'sources/languages/ru.ini');
try
for k := 0 to componentcount - 1 do begin
 if components[k] is Tmenuitem then
 tmenuitem(components[k]).Caption:=i.ReadString('Menu',tmenuitem(components[k]).Name,tmenuitem(components[k]).Caption);
end;
finally
   i.Free;
end;
end;
Таким же образом и заголовки меток,кнопок менять можно.Не забудь в uses inifiles добавить.

Последний раз редактировалось ZvEr_HaCkEr; 05.09.2010 в 14:08.
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 05.09.2010, 23:05   #4
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

Цитата:
До равно имя menuitems
как понять???
и i : какого типа переменная?
This world will never be What I expected (c)

Последний раз редактировалось misher; 05.09.2010 в 23:09.
misher вне форума Ответить с цитированием
Старый 06.09.2010, 04:22   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
и i : какого типа переменная?
Может так:
Код:
var
 i: TIniFile;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 06.09.2010, 06:56   #6
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Код:
procedure TForm1.RuClick(Sender: TObject);
    var
 i:Tinifile;
 k:Integer;
begin
i:=tinifile.Create(extractfilepath(paramstr(0))+'sources/languages/ru.ini');
try
for k := 0 to componentcount - 1 do begin
 if components[k] is Tmenuitem then
 tmenuitem(components[k]).Caption:=i.ReadString('Menu',tmenuitem(components[k]).Name,tmenuitem(components[k]).Caption);
end;
finally
   i.Free;
end;
end;
Цитата:
как понять???
в моем случаи Refiremento1-это имя компонента меню(menuitems)

Последний раз редактировалось artemavd; 06.09.2010 в 07:25.
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 06.09.2010, 11:59   #7
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

Где этот кампонент?
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Старый 06.09.2010, 12:28   #8
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Какой компонент?В OnClick код попробуй и все!Я локализацию так проводил.
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 06.09.2010, 13:30   #9
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

Цитата:
в моем случаи Refiremento1-это имя компонента меню(menuitems)
вот этот кампонент!
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Старый 06.09.2010, 13:36   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
вот этот кампонент!
Не кричи.
Нет тут явно этого компонента - он (и его элементы) последовательно перебираются в цикле, который перебирает все компоненты на форме, отсеивая ненужные.
Код:
if components[k] is Tmenuitem
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из DBGrid одной формы отразить в ListBox на другой формы VenZell БД в Delphi 2 28.05.2010 07:27
Заголовок Child формы имеет цвет неактивной формы, хотя форма активна? PrimaryPro Общие вопросы Delphi 0 12.03.2010 11:12
как привязать размеры содержимого формы к размерам самой формы acid_bmstu Общие вопросы Delphi 4 05.02.2010 05:02
Как сделать границы формы другого цвета,формы?? Дима я Общие вопросы Delphi 3 22.06.2009 07:24
Обращение из формы в dll к элементу главной формы (delphi) a_n_n_a Помощь студентам 3 10.05.2009 04:00