Turbo Pascal for Windows:将输出复制到剪贴板?

时间:2012-03-02 06:53:34

标签: windows clipboard pascal turbo-pascal

我在Turbo Pascal 7 for Windows中完成了一个程序,作为编程类学校项目的一部分,基本上我们已经给出了一个简短的说明并告诉我们自己去实现并编写程序代码。

简要说明创建一个程序,用户可以在其中输入消息,选择一个字母移位,然后每个字母都将被加密'根据那种转变(主要是ROT13)。容易。

我已经在Windows 7终端窗口的Turbo Pascal中运行,并输出生成的加密文本:

writeln('Encrypted message is ', line ,' for a shift of ', shift);
readln;

我想做的是通过更进一步,并允许用户将输出(var:line)复制到他们的Windows剪贴板来扩展。我已经在互联网上搜索了两天,现在还没有找到任何可以帮助我的东西。我现在开始怀疑Pascal是否有能力做到这一点?

干杯, 路加。

3 个答案:

答案 0 :(得分:3)

  

我现在开始怀疑Pascal是否有能力这样做?

是的,如果您不使用过时的20年Pascal产品。我不确定它是否可以访问剪贴板(因为Windows剪贴板是32位API),但很有可能它不能,至少不是没有黑客。使用Free Pascal或Delphi并直接访问Windows API以使用剪贴板(搜索MSDN)。

PS: 剪贴板与Pascal作为一种语言无关。它只是操作系统的概念,它允许程序使用它。

答案 1 :(得分:2)

首先,生成的二进制文件是DOS还是win3.x EXE?

如果DOS Afaik有办法通过INT 2F扩展从dos到达剪贴板。

在大量的SWAG档案中搜索,其中包含大量的Turbo Pascal示例(以及 - 对于Windows)

如果是win3x那么

http://www.programmersheaven.com/mb/pasprog/420895/420895/use-of-windows-clipboard/

如果这个回复听起来很模糊,那么这是因为所有这些都是20年前: - )

答案 2 :(得分:2)

如果您使用Delphi,可以使用Clipboard.SetTextBuf(PChar(somestring)); 这就是我在Dos2Clip实用程序中的做法,显然我在2005年免费提供。我已经在下面的链接中提供了源代码,全部25行。 ;)

在Vista及更高版本中,批处理文件或命令行中有一个“剪辑”命令。

ex:echo“你好,世界!”|剪辑

请参阅我的文章,其中包含我的Dos2Clip程序的下载链接(包含源代码)。我看到Clip2Dos也在那里。

http://www.clipboardextender.com/general-clipboard-use/command-window-output-to-clipboard-in-vista