Turbo Pascal для Windows: скопировать вывод в буфер обмена? - PullRequest
2 голосов
/ 02 марта 2012

Я заканчиваю программу в Turbo Pascal 7 для Windows как часть школьного проекта по программированию, по сути, нам дали краткое задание и сказали, что мы должны сами приступить к реализации и кодированию программы.

В сводке говорится о создании программы, в которой пользователь может ввести сообщение, выбрать сдвиг букв, и тогда каждая буква будет «зашифрована» в соответствии с этим сдвигом (по сути, ROT13).Легко.

Я запущен в окне терминала Turbo Pascal для Windows 7, и он выводит зашифрованный текст:

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

Я хотел бы расширитькроме этого, сделав еще один шаг вперед и позволив пользователю скопировать вывод (var: line) в свой буфер обмена Windows.Я искал повсюду в Интернете уже два дня, и мне еще не приходилось сталкиваться с чем-либо, что могло бы мне помочь.Теперь я начинаю задумываться, а есть ли у Паскаля такая возможность?

Приветствия, Люк.

Ответы [ 3 ]

3 голосов
/ 02 марта 2012

Теперь я начинаю задумываться, есть ли у Паскаля такая возможность?

Да, если вы не используете этот устаревший 20-летний продукт Pascal.Я не уверен, может ли он получить доступ к буферу обмена (так как буфер обмена Windows является 32-битным API) или нет, но большой шанс, что он не сможет, по крайней мере, не без взлома.Используйте Free Pascal или Delphi и обращайтесь к Windows API напрямую, чтобы играть с буфером обмена (поищите в MSDN).

PS: буфер обмена не имеет ничего общего с языком Pascal.Это просто концепция, которая есть у ОС, и она позволяет программам использовать ее.

2 голосов
/ 02 марта 2012

Если вы использовали Delphi, вы могли бы использовать Clipboard.SetTextBuf (PChar (somestring)); Вот как я это делаю в своей утилите Dos2Clip, которую, по-видимому, я сделал бесплатной еще в 2005 году. Я сделал источник доступным по ссылке ниже, все 25 строк. ;)

В Vista и выше есть команда «clip», доступная в пакетных файлах или командной строке.

ex: echo «привет, мир!» | зажим

Смотрите мою рецензию здесь, где есть ссылка на скачивание моей программы Dos2Clip (с исходным кодом). Я вижу, что Clip2Dos тоже там.

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

2 голосов
/ 02 марта 2012

Во-первых, является ли полученный бинарный файл DOS или win3.x EXE?

Если в DOS Afaik есть способы получить доступ к буферу обмена из DOS через расширения INT 2F.

Искать в массивномАрхив SWAG, содержащий кучу примеров для Turbo Pascal (и -Для Windows)

Если win3x, то

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

Если этот ответ звучит очень расплывчато, то онпотому что все это 20 лет назад: -)

...