Нет вывода в NPPExec с Pascal
Я хочу написать, построить и выполнить программу на Паскале в Notepad ++. Если я выполняю программу в cmd, вывод нормальный, но в консоли в nppexec вывод пустой
Мой код:
Program Edgar;
Uses Crt;
Var cnt, tip, pot : INTEGER;
Begin
TextColor(Red);
WriteLn('Hallo');
tip := -1;
cnt := 0;
Randomize;
pot := Random(2501)*10;
WriteLn(pot);
WHILE (tip <> pot) do
Begin
WriteLn('Tip: ');
ReadLn(tip);
if (tip < pot) then begin
WriteLn('Too low');
cnt := cnt + 1
end;
if (tip > pot) then begin
WriteLn('Too High');
cnt := cnt + 1
end;
end;
cnt:= cnt + 1;
WriteLn('IA IA');
WriteLn('Tries: ',cnt );
End.
Команды сборки:
cd $(CURRENT_DIRECTORY)
fpc $(NAME_PART).pas
$(NAME_PART).exe
Выход (Nppexec):
Free Pascal Compiler version 2.6.2 [2013/02/12]
for i386 Copyright (c) 1993-2012 by Florian Klaempfl
and others Target OS: Win32 for i386
Compiling ue23.pas
Linking ue23.exe 27 lines compiled, 0.1 sec , 33536 bytes code, 1900 bytes data
<<< Process finished.
(Exit code 0)
ue23.exe Process started >>>
2 ответа
Если вы включите модуль CRT, приложение будет записывать в консоль напрямую (используя * консоли winapi-функции) вместо использования stdout.
Вероятно, консольный экран npp - это не реальный консольный экран, а только захват stdout (-piped).
За исключением того, что вы не используете crt (и, следовательно, не используете движения и раскраску курсора), мало что можно сделать, это, вероятно, ограничение АЭС.
После этого вам нужно нажать "Enter", пока курсор мигает на выходной стороне.
И вы получите вывод с этими строками в конце.
<<< Process finished. (Exit code 0)
================ READY ================
Ограничений нет, вы можете запускать команды с этой выходной стороны notepad++.