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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2011, 01:22   #1
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию ComboBox и ini файлы

Есть файл languege.ini
Код:
[lang.en]
lang.hint=English
***
[lang.ru]
lang.hint=Русский
***
В нем хранится N-ое количество языков. Подскажите пожалуйста как автоматически подргузить все языки и показать их в ComboBox

Сейчас в ComboBox я добавляю это таким способом но он не умеет автоматически искать все доступные языки в файле. Есть какой-то простой способ сделать это?

Код:
var ln: TIniFile;
begin
ComboBox1.Items[0]:=ln.readString('lang.ru', 'lang.hint', 'error');
ComboBox1.Items[1]:=ln.readString('lang.en', 'lang.hint', 'error');
celovec вне форума Ответить с цитированием
Старый 11.12.2011, 01:29   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
TIniFile.ReadSections

Reads the names of all sections in an INI file into a string list.

Код:
procedure ReadSections(Strings: TStrings); override;
Description

Call ReadSections to retrieve the names of all sections in an INI file into a string list object.

Strings specifies the string object to hold the retrieved names. Strings can point to a TStrings object, or to a component property, such as Items for a TListBox component.
1234567890
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.12.2011, 14:37   #3
celovec
Форумчанин
 
Регистрация: 15.06.2007
Сообщений: 182
По умолчанию

Может есть какое-то более простой решение.
Может проще в начале файла сделать:

Код:
[language]
lang.en=English
lang.ru=Русский
далее старое содержание
***

[lang.en]
lang.hint=English
***
[lang.ru]
lang.hint=Русский
***
и как-то проверять содержимое [language], но как это сделать?
celovec вне форума Ответить с цитированием
Старый 18.12.2011, 16:38   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

ComboBox.Items это Tstrings. Я бы заменил в Combobox.Items.Text все #10#13 на |, а затем записал полученный результат в файл ввиде 1 строки.
Item1|Item2|Item3|Item4

Чтение - обратное действие.

Цитата:
и как-то проверять содержимое [language], но как это сделать?
Не надо вам этот геморой.

Пускай секции имеют имена языков.
[English]
[Русский]
[蜐0౔ؠ]

А вы тупо делайте ReadSections
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
INI файлы в ComboBox redrog Помощь студентам 1 23.07.2011 20:55
ComboBox+Ini файл drak2000 Общие вопросы Delphi 3 19.01.2011 08:14
Как из ini файла заполнить ComboBox? alexusankov Общие вопросы Delphi 10 05.01.2011 13:58
Из INI в Combobox iskurt Помощь студентам 6 30.01.2010 01:20
Ini файлы Airou Общие вопросы Delphi 23 07.05.2008 19:50