2

作为编程课学校项目的一部分,我正在为 Windows 完成一个 Turbo Pascal 7 程序,基本上我们已经得到了一个简短的说明,并告诉我们自己去实现和编码程序。

简要说明要创建一个程序,用户可以在其中输入消息,选择字母班次,然后根据该班次“加密”每个字母(基本上是 ROT13)。简单的。

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

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

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

干杯,卢克。

4

3 回答 3

3

我现在开始怀疑帕斯卡是否有能力做到这一点?

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

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

于 2012-03-02T06:58:15.403 回答
2

如果您使用的是 Delphi,则可以使用 Clipboard.SetTextBuf(PChar(somestring)); 这就是我在我的 Dos2Clip 实用程序中执行此操作的方式,显然我早在 2005 年就免费提供了该实用程序。我已经在下面的链接中提供了源代码,其中包含所有 25 行。;)

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

例如:回声“你好,世界!” | 夹子

请在此处查看我的文章,其中包含我的 Dos2Clip 程序的下载链接(带有源代码)。我看到 Clip2Dos 也在里面。

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

于 2012-03-02T15:04:02.363 回答
2

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

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

在包含大量 Turbo Pascal(和 -For Windows)示例的海量 SWAG 存档中搜索

如果win3x那么

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

如果这个回复听起来很模糊,那是因为这一切都是 20 年前的 :-)

于 2012-03-02T10:00:44.453 回答