Нет вывода в 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++.

Другие вопросы по тегам