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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2010, 16:55   #1
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
Вопрос Использования языков через ini

Всем добрых суток.В начале хотел использовать LNG, но потом передумал.Потому что нашел более приемлемый способ создания разноязычного интерфейса программы.А в часности ini файл с языком.Помогите осуществить это.Вот пример
Код:
[MENU]
Start=СТАРТ
Stop=СТОП
Mode=Режим
Lesson=Урок
Phrases=Фразы
Other=Другие режимы
Letters=Буквы (из фраз)
AllKeys=ВСЕ символы
ExtFile=Внешний файл
Choose=Выбрать внешний файл
PrevLes=Предыдущий урок
NextLes=Следующий урок
Editor=Редактор уроков
Add=Добавить фраз
Progress=Прогресс
Options=Опции
Layout=Раскладка
Switch=Переключить
Keyb=Клавиатура
Playlist=Список песенок
Next=Следующий музон
Volume=Громкость музыки
OnOff=Вкл/выкл музыку
VolUp=Всем на зло +10%
VolDn=Потише, пжлста
Settings=На стройку
Users=Ученики
List=мУченики
Help=Помощь
SOS=Айболит - без обеда и выходных
Game=Игруха Fastmind
About=О Stamina...  О, Stamina!

[MISC]
Welcome=Пробел - СТАРТ, Esc - СТОП/Выход
Record=Рекорд
Close=Закрыть
Cancel=Отмена
Browse=Обзор
AllFiles=Всё такое
TextFiles=Текстовые файлы

[RESULT]
Result=Результат
Tend=Тенденция, однако
Time=Время
Typed=Натыкано
Of=из
Speed=Скорость
Errors=Ошибок
Finish=Завершить
Resume=Продолжить
Как понял слова в таких скобках[] тип,а 1:название=2:название где название1 имя объекта(или caption?).Короче разъясните че к чему и как мона использовать сие ini для создания разноязычного интерфейса.Зарание всем спасибо!
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 10.08.2010, 17:14   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Есть предложение начать с чтения книжек.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 10.08.2010, 17:17   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например у тебя есть на форме компоненты. которые имеют имена, описанные в INI в параметрах перед равно (Start, Stop...). Предположим это пункты меню. Тогда их (или вообще любых компонентов) заголовки можно прочитать из ИНИ файла таким способом
Код:
uses          inifiles,
...
procedure TForm1.FormCreate(Sender: TObject);
var i:TIniFile;k:Integer;
begin
 i:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'File1.ini');
 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;
 i:=nil;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.08.2010, 17:48   #4
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Stilet спасибо ограмное выручил!!!
А как такое с метками сделать можно?

Последний раз редактировалось ZvEr_HaCkEr; 10.08.2010 в 17:53.
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 11.08.2010, 09:38   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А как такое с метками сделать можно?
Для кого я писал:
Цитата:
или вообще любых компонентов
Код:
 if Components[k] is TLabel then
   TLabel (Components[k]).Caption:=...
Код:
if Components[k] is TButton then
   TButton (Components[k]).Caption:=...
и т.д. главное тип правильно привести.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2010, 11:28   #6
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
заголовки можно прочитать из ИНИ файла таким способом
Говно-код зачем же давать? Где try, где Free? Явно же виден уровень автора темы, что он сам не догонит.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 11.08.2010, 11:41   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
GunSmoker
Деж ты такой умный то взялся...
Обосновывай свои претензии.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.08.2010, 11:57   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Говно-код зачем же давать? Где try, где Free? Явно же виден уровень автора темы, что он сам не догонит.


Для примера этого вполне достаточно.
Человек сам в состоянии догодаться что try..except нужны.... иначе догодается отладчик.. =)
А со временем найдет ругой способ реализации...

Последний раз редактировалось Человек_Борща; 11.08.2010 в 12:03.
Человек_Борща вне форума Ответить с цитированием
Старый 11.08.2010, 12:00   #9
Ins
Форумчанин
 
Регистрация: 29.12.2007
Сообщений: 137
По умолчанию

Цитата:
i:=nil;
Дааа, интересная строчка....
Ins вне форума Ответить с цитированием
Старый 11.08.2010, 12:12   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Если на то пошло, то:
Код:
FreeandNil(i);
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рейтинг языков программирования. profi Свободное общение 18 21.03.2010 22:16
Как пересмотреть все секции в INI.ini ? iskurt Помощь студентам 1 31.01.2010 07:48
Поддержка языков -Flasher- Общие вопросы Delphi 6 06.01.2010 11:26
Перевод данных из DBGrid в Listbox через Ini Val Rubis БД в Delphi 3 05.01.2010 05:29
Смена языков Djessik@ Microsoft Office Word 10 18.12.2009 16:55