Снег Север писал(а):Когда уже люди усвоят. что fp ide - это окаменевшее гуано мамонта, которое ни в коем случае нельзя использовать?
Это винда - окаменелое говно мамонта, которая выносит мозг траблами с кодировками, а в линуксе патченная версия фп-иде работает нормально, а в лазарусе редактор глючит, хз как в последней версии - не пересобирал её. В третьей версии фпц изговняли кодировки специально чтобы они в винде меньше глючили.
Добавлено спустя 16 минут 1 секунду:MusaevRamiz писал(а):Приветствую, Друзья! Подскажите, пожалуйста.
Код: Выделить всё
var N, S, R : string;
begin
writeln('Surname'); readln(S);
writeln('Name'); readln(N);
R:='hello, ' + N +' '+ S + '!';
writeln(R);
readln
end.
В винде плохо с кодировками - винда любит перекодировать что не надо, отчего портится вывод в консоль и системные команды. Вводишь команду прыгнуть в каталог, а винда эту команду без спроса перекодирует в мусор и прыжок промахивается мимо каталога. Буквально, считываешь из системы набор байтов, вводишь его же, и он не срабатывает, потому что винда успела его изговнять. Это какой-то маразм Гейтса и Баллмера. В фпц 3 версии с этим стало возможно бороться, и программы писать следует примерно как-то так:
- Код: Выделить всё
{$CODEPAGE CP866}
uses
JwaWinCon, Windows, jwawinbase, jwawinnt;//точно не вспомню, что тут лишнее :)
var N, S, R : rawbytestring; //а этот тип строк - чтобы компилятор не делал никаких лишних перекодирований
ZZ5: ANSISTRING;//РАВБИТЕСТРИНГ НЕ ПРИНИМАЕТ
begin
RUNCOMMAND('cmd.exe /c chcp 866',ZZ5); //контрольный "выстрел, чтобы накормить маздайку кодировкой"
setconsolecp(866);
//а теперь только можно общаться с маздайкой
//при подозрениях, процедуры - повторить
writeln('Surname'); readln(S);
writeln('Name'); readln(N);
R:='hello, ' + N +' '+ S + '!';
writeln(R);
readln;
end.
Долго запускать винду, потому код не протестировал, но он надёрган из рабочего и протестированного кода. Если из иде эта версия теста заработает нормально, то это значит, что в виндовой иде и твоей программе не хватает такого кода.