Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Delphi |
![]() ![]() |
ACLeo Member Откуда: Сообщений: 558 |
Проблема следующая. Нужна программа на иврите. Я все названия кнопок (колонок и т.д.) считываю с ini файла. В файл все сохраняется правильно (в блокноте открываю все ок), а вот считываю и получается такое - 'Ч”Ч•ЧЎЧЈ Ч¤ЧЁЧ™Ч'#$0098 Кто знает как это исправить? Заранее спасибо! |
5 апр 21, 21:39 [22304800] Ответить | Цитировать Сообщить модератору |
ACLeo Member Откуда: Сообщений: 558 |
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; |
5 апр 21, 21:50 [22304804] Ответить | Цитировать Сообщить модератору |
asutp2 Member Откуда: Тюмень Сообщений: 835 |
ACLeo, ты открыл для себя справку в IDE?) |
5 апр 21, 22:05 [22304812] Ответить | Цитировать Сообщить модератору |
X11 Member Откуда: Kharkiv, Ukraine Сообщений: 15177 |
токо хтел написать про memini... В общем, предупреждаю про маленький подводный камень: если захочешь оставлять комментарии в файле, то используй # (решетку), а не точку с запятой |
6 апр 21, 08:34 [22304886] Ответить | Цитировать Сообщить модератору |
GunSmoker Member Откуда: Сообщений: 3205 |
Насколько я помню, TIniFile - это обёртка к WinAPI. А WinAPI UTF-8 в .ini файлах вполне себе поддерживает. Главное, чтобы .ini файл имел корректный BOM (Блокнот, к примеру, его не требует и может угадывать), а также - пустую строку в начале (иначе GetPrivateProfileString будет считать BOM частью имени секции/параметра). |
7 апр 21, 15:26 [22305462] Ответить | Цитировать Сообщить модератору |
Fr0sT-Brutal Member Откуда: Сообщений: 674 |
Имхо, применять именно TiniFile есть ровно 0 причин. |
7 апр 21, 16:16 [22305503] Ответить | Цитировать Сообщить модератору |
defecator Member Откуда: Сообщений: 39736 |
нужен свой велосипед ! |
||||
7 апр 21, 20:49 [22305689] Ответить | Цитировать Сообщить модератору |
fraks Member Откуда: Новосибирск Сообщений: 1642 |
Да зачем, просто брать TMemIniFile. Я использую ini-файл для хранения настроек приложения. Сейчас этот файл имеет размер 77кбайт и 2800 строк. TIniFile на этих объемах очень хорошо тормозит. На сколько я понял, он на чтение/запись каждого параметра открывает/закрывает файл. Если нужно работать не с одним параметром - это это катастрофически медленно. Решил переписать по другому, грузить все в StringList и работать в памяти. Придумал название класса. TMemIniFile :) Накидал рыбу. При попытке скомпилить обнаружил что я со своим велосипедом в точности попал в уже существующий с таким же именем штатный инструмент. А если бы я не попал по имени?? :) |
||||||||
8 апр 21, 04:17 [22305765] Ответить | Цитировать Сообщить модератору |
Fr0sT-Brutal Member Откуда: Сообщений: 674 |
Вот что значит - надо изучать стандартную либу :) |
||||
8 апр 21, 10:27 [22305841] Ответить | Цитировать Сообщить модератору |
ОперацияПингвин Member Откуда: Сообщений: 648 Блог |
Проверь еще работоспособность функционала по субботам |
||||
8 апр 21, 13:16 [22305932] Ответить | Цитировать Сообщить модератору |
Все форумы / Delphi | ![]() |