2

我想在 Notepad ++ 中编写、构建和执行 Pascal 程序。如果我在 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 >>>
4

2 回答 2

3

如果启用单元 CRT,应用程序将直接写入控制台(使用 *console winapi 函数)而不是使用标准输出。

可能 npp 的控制台屏幕不是真正的控制台屏幕,而只是标准输出(-piped)的捕获。

除了不使用 crt(因此不使用光标移动和着色)之外,没有什么可以做的,这可能是 NPP 的限制。

于 2013-10-21T08:00:19.790 回答
-1

之后,您需要在光标在输出侧闪烁时按“Enter”。

最后你会得到这些行的输出。

<<< Process finished. (Exit code 0)
================ READY ================

没有限制,您可以从 notepad++ 的输出端运行命令。

于 2014-04-14T08:27:09.980 回答