IPB
ЛогинПароль:

 
 Ответить  Открыть новую тему 
> WideString, SciTE+FPC+UTF-8
compiler
сообщение 9.05.2007 15:49
Сообщение #1


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Добрый день!
Пытаюсь вот разобраться да не получается...
Допустим, простейшая задача, вывести строку с приглашением, прочитать русскую строку и вывести ее на экран.
По идее выставляем в SciTE-е UTF-8, пишем
var
str:WideString;
Begin
Write('Введите строку->>');
ReadLn(STR);
Write(STR);
ReadLn();
read;
end.

да не тут та было...
Заранее благодарен


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.05.2007 16:05
Сообщение #2


Гость






Во-первых, почему WideString? Есть же Utf8String ...
 К началу страницы 
+ Ответить 
compiler
сообщение 9.05.2007 16:10
Сообщение #3


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 9.05.2007 16:05) *
Во-первых, почему WideString? Есть же Utf8String ...
незнаю.. но это дела не меняет:(

хотелось бы что б код был переносим с OS Win2000 на WinXP и наоборот..


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.05.2007 16:22
Сообщение #4


Гость






Цитата
это дела не меняет
Еще как меняет... Программа с WideString не компилируется вообще, а с Uft8String проходит процесс компиляции успешно...
 К началу страницы 
+ Ответить 
compiler
сообщение 9.05.2007 16:33
Сообщение #5


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 9.05.2007 16:22) *
Еще как меняет... Программа с WideString не компилируется вообще, а с Uft8String проходит процесс компиляции успешно...
но помоему надо еще както изменять кодировку сообщения которое мы вводим, а то по русски не получается ввести вообще..
Прикрепленное изображение


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 12.05.2007 17:17
Сообщение #6


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


а если сделать так
var
str:Utf8String;
Begin
str:='введите строку->>';
Write(str);
ReadLn(STR);
Write(STR);
ReadLn();
read;
end.
то русские буквы вообще не выводятся :(


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Иван Шихалев
сообщение 22.05.2007 10:05
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Иван Шихалев

Репутация: -  0  +


А компилируется с каким ключиком -Fc ? Кроме того, с какой поры Write стал понимать юникод?


--------------------
------------
Иван Шихалев
http://freepascal.ru/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 22.05.2007 17:20
Сообщение #8


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(Иван Шихалев @ 22.05.2007 10:05) *
А компилируется с каким ключиком -Fc ?
я в программировании новенький... настройки компилятора стандартны... ключей не коких не применяю...

Цитата(Иван Шихалев @ 22.05.2007 10:05) *
Кроме того, с какой поры Write стал понимать юникод?
прошу прощения, а чем надо пользоваться?


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
SKVOZNJAK
сообщение 22.05.2007 17:22
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 930
Пол: Мужской

Репутация: -  11  +


Понимает если сразу написать текст на уникоде, а потом его в оператор просто скопировать smile.gif При этом в некоторых программах текст выводится только на левую часть экрана.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
compiler
сообщение 24.05.2007 17:04
Сообщение #10


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(Иван Шихалев @ 22.05.2007 10:05) *
А компилируется с каким ключиком -Fc ?
наверное все таки с ним...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 25.05.2007 9:06
Сообщение #11


Гость






Ключ -Fc<кодировка> определяет кодировку исходников. Для UTF его надо указывать — по умолчанию он не выставится. Write(), насколько я помню, просто передает параметр на стандартный вывод, сильно сомневаюсь, что система сама догадается, что это юникод.
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.04.2024 19:51
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"