|
Основной форум Сюда все проблемы связанные с программированием. |
04.02.2009, 19:29
|
#16
|
Знающий
Регистрация: 29.07.2008
Адрес: Россия,Саратов
Сообщений: 206
Написано 22 полезных сообщений (для 33 пользователей)
|
Ответ: чо за?...
Похоже, что эта проблема уже обсуждалась
Как сделать, чтобы можно было читать не только кириллицу, но и такие буквы как: ї, љ, њ, ќ? Вообще эти символы относятся к кириллическим, но если использовать приведенную выше функцию StrToUtf8, то прога все равно зависает.
|
но ответа не было. Непонятно, как это реализовать.
|
(Offline)
|
|
04.02.2009, 20:11
|
#17
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: чо за?...
Сообщение от TEMNED
Похоже, что эта проблема уже обсуждалась
но ответа не было. Непонятно, как это реализовать.
|
Используя графические шрифты проблем с выводом не существует.
вот пример написан в win 1251
1
Лек. Об’єктивно–орієнтовне програмування
Лісовець
Аудиторія:1-0413
2
Лек. Релігієзнавство
Множинська Р.В.
Аудиторія:4-0505
#
ї, љ, њ, ќ?
#
###
Пример вывода я уже писал постом выше.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
Последний раз редактировалось GRAY_WOLF, 04.02.2009 в 20:15.
Причина: добалил пример
|
(Offline)
|
|
04.02.2009, 21:24
|
#18
|
Знающий
Регистрация: 29.07.2008
Адрес: Россия,Саратов
Сообщений: 206
Написано 22 полезных сообщений (для 33 пользователей)
|
Ответ: чо за?...
Вот пусть без_проблем возьмет твой исходник за Правило, пускай помотрит что там к чему, наверно ты ему помог
|
(Offline)
|
|
05.02.2009, 02:57
|
#19
|
ПроЭктировщик
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений (для 8 пользователей)
|
Ответ: чо за?...
типа эта функция( win2utf) должна переводить кодировку "так сказать" блокнота в Юникод? оО
function win2utf(s: string): string; var len, ch, i: integer; sstt: string; begin sstt:=''; len:=Length(s)-1; for i:=0 to len do begin ch:=ord(GetChar(s,i)); if ch>122 then sstt:=sstt+chr(ch+1104) else sstt:=sstt+chr(ch); end; win2utf:=sstt; end;
...неработает шото
|
(Offline)
|
|
05.02.2009, 20:19
|
#20
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: чо за?...
Я блокнотом ни когда непользуюсь, а пользуюсь Notepad++.
1
Лек. Об’єктивно–орієнтовне програмування
Лісовець
Аудиторія:1-0413
2
Лек. Релігієзнавство
Множинська Р.В.
Аудиторія:4-0505
#//нажи ентер
ї, љ, њ, ќ?
#//нажи ентер
###//нажи ентер
//пустая строка
Только так будет работать.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
08.02.2009, 18:36
|
#21
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: чо за?...
Мне так и непонятно разобрался ли beZ_probleM с примером? Что-то ни слуха ни духа.В папке res есть пример.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
08.02.2009, 22:09
|
#22
|
ПроЭктировщик
Регистрация: 31.03.2008
Сообщений: 134
Написано 8 полезных сообщений (для 8 пользователей)
|
Ответ: чо за?...
карочь какойто бред у меня получаетсо... уже вроде читает всё шо надо но не всегда оО тоесть иногда прочитало а иногда нет и зависает соответсвтенно хоть читает то же самое... ппц... я уже написал шоб небыло ошыбки при открытии файла
repeat
until resourseAvieble(res);
вроде так) точно не помню как пишетсо процедура=)
а оно всёравно то же самое... значит ета ошыбка не изза того шо файл неправильно открыт был... вобщем незнаю... тот пример шо ты кидал , так там стандартные методы считывания файла...
function win2utf(s: string): string;
var len, ch, i: integer;
sstt: string;
begin
sstt:=''; len:=Length(s)-1;
for i:=0 to len do begin ch:=ord(GetChar(s,i)); if ch>122 then sstt:=sstt+chr(ch+1104) else sstt:=sstt+chr(ch); end;
win2utf:=sstt;
end;
- вотето тож не спасает...
З.Ы. пример не могу запустить так как нехватает библиотек
|
(Offline)
|
|
09.02.2009, 19:57
|
#23
|
Разработчик
Регистрация: 16.08.2008
Адрес: Нижегородская провинция
Сообщений: 389
Написано 48 полезных сообщений (для 93 пользователей)
|
Ответ: чо за?...
Вот сборник всех либ что есть уменя.
Перекодировка
// Перекодировка из Win-1251 --> UTF-8
function win2utf(s: string): string;
var len, ch, i: integer;
sstt: string;
begin
sstt:=''; len:=Length(s)-1;
for i:=0 to len do begin ch:=ord(GetChar(s,i)); if ch>122 then sstt:=sstt+chr(ch+1104) else sstt:=sstt+chr(ch); end;
win2utf:=sstt;
end;
Загрузка текста из корневого каталога
// Загрузка текста из файла
function LoadText(fn: string): string;
var
res: resource;
line, line2: string;
begin
res:=OpenResource('/'+fn); line2:='';
repeat
line:=ReadLine(res);
if line='###' then break;
if line='#' then line2:=line2+' '+chr(13); else line2:=line2+' '+chr(13)+win2utf(line);
until false;
CloseResource(res);
LoadText := line2;
end;
Еще что нужно стучи в аску.
__________________
- Это мы накодили WINDOWS,
- Это мы надкусили APPLE,
- Нам играют живые The Beatles
- И нестареющий Вова Высоцкий...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:30.
|