Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi 10 чтение ini файла на иврите / 10 сообщений из 10, страница 1 из 1
05.04.2021, 21:39
    #40060008
ACLeo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
Проблема следующая. Нужна программа на иврите. Я все названия кнопок (колонок и т.д.) считываю с ini файла.
В файл все сохраняется правильно (в блокноте открываю все ок), а вот считываю и получается такое - 'Ч”Ч•ЧЎЧЈ Ч¤ЧЁЧ™Ч'#$0098

Кто знает как это исправить? Заранее спасибо!
...
Рейтинг: 0 / 0
05.04.2021, 21:50
    #40060009
ACLeo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
ACLeo,

Нашел решение сам.
Кому интересно: TIniFile не считывает UTF8. Поэтому надо так:

function TDM.getCaption(xForm, xComp: string): widestring;
var
appINI: TMemIniFile;
begin
appINI := TMemIniFile.Create(ExtractFileDir(ParamStr(0))+'\rus.lng', TEncoding.UTF8);
Result := appINI.ReadString(xForm, xComp, 'No caption');
appINI.Free;
end;
...
Рейтинг: 0 / 0
05.04.2021, 22:05
    #40060013
asutp2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
ACLeo,

ты открыл для себя справку в IDE?)
...
Рейтинг: 0 / 0
06.04.2021, 08:34
    #40060052
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
токо хтел написать про memini...
В общем, предупреждаю про маленький подводный камень: если захочешь оставлять комментарии в файле, то используй # (решетку), а не точку с запятой
...
Рейтинг: 0 / 0
07.04.2021, 15:26
    #40060396
GunSmoker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
Насколько я помню, TIniFile - это обёртка к WinAPI . А WinAPI UTF-8 в .ini файлах вполне себе поддерживает. Главное, чтобы .ini файл имел корректный BOM (Блокнот, к примеру, его не требует и может угадывать), а также - пустую строку в начале (иначе GetPrivateProfileString будет считать BOM частью имени секции/параметра).
...
Рейтинг: 0 / 0
07.04.2021, 16:16
    #40060423
Fr0sT-Brutal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
Имхо, применять именно TiniFile есть ровно 0 причин.
...
Рейтинг: 0 / 0
07.04.2021, 20:49
    #40060524
defecator
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
Fr0sT-Brutal
Имхо, применять именно TiniFile есть ровно 0 причин.


нужен свой велосипед !
...
Рейтинг: 0 / 0
08.04.2021, 04:17
    #40060571
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
defecator
Fr0sT-Brutal
Имхо, применять именно TiniFile есть ровно 0 причин.


нужен свой велосипед !


Да зачем, просто брать TMemIniFile.

Я использую ini-файл для хранения настроек приложения.
Сейчас этот файл имеет размер 77кбайт и 2800 строк.
TIniFile на этих объемах очень хорошо тормозит. На сколько я понял, он на чтение/запись каждого параметра открывает/закрывает файл. Если нужно работать не с одним параметром - это это катастрофически медленно.

Решил переписать по другому, грузить все в StringList и работать в памяти. Придумал название класса. TMemIniFile :)
Накидал рыбу. При попытке скомпилить обнаружил что я со своим велосипедом в точности попал в уже существующий с таким же именем штатный инструмент. А если бы я не попал по имени??

:)
...
Рейтинг: 0 / 0
08.04.2021, 10:27
    #40060613
Fr0sT-Brutal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
fraks
Решил переписать по другому, грузить все в StringList и работать в памяти. Придумал название класса. TMemIniFile :)
Накидал рыбу. При попытке скомпилить обнаружил что я со своим велосипедом в точности попал в уже существующий с таким же именем штатный инструмент. А если бы я не попал по имени??

:)

Вот что значит - надо изучать стандартную либу :)
...
Рейтинг: 0 / 0
08.04.2021, 13:16
    #40060676
ОперацияПингвин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 10 чтение ini файла на иврите
ACLeo
ACLeo,

Нашел решение сам.


Проверь еще работоспособность функционала по субботам
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi 10 чтение ini файла на иврите / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]