Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Free Pascal, Pascal ABC и другие _ WideString

Автор: compiler 9.05.2007 19:49

Добрый день!
Пытаюсь вот разобраться да не получается...
Допустим, простейшая задача, вывести строку с приглашением, прочитать русскую строку и вывести ее на экран.
По идее выставляем в SciTE-е UTF-8, пишем

var
str:WideString;
Begin
Write('Введите строку->>');
ReadLn(STR);
Write(STR);
ReadLn();
read;
end.

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

Автор: volvo 9.05.2007 20:05

Во-первых, почему WideString? Есть же Utf8String ...

Автор: compiler 9.05.2007 20:10

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

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

Автор: volvo 9.05.2007 20:22

Цитата
это дела не меняет
Еще как меняет... Программа с WideString не компилируется вообще, а с Uft8String проходит процесс компиляции успешно...

Автор: compiler 9.05.2007 20:33

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

Автор: compiler 12.05.2007 21:17

а если сделать так

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

Автор: Иван Шихалев 22.05.2007 14:05

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

Автор: compiler 22.05.2007 21:20

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

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

Автор: SKVOZNJAK 22.05.2007 21:22

Понимает если сразу написать текст на уникоде, а потом его в оператор просто скопировать smile.gif При этом в некоторых программах текст выводится только на левую часть экрана.

Автор: compiler 24.05.2007 21:04

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

Автор: Гость 25.05.2007 13:06

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