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

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

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


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

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

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


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

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


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


Гость






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


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

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

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


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

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


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


Гость






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


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

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

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


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


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


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

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

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


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


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


Новичок
*

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

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


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


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


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

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

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


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

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


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


Профи
****

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

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


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


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

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

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


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


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


Гость






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

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

 





- Текстовая версия 28.03.2024 22:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name