Turbo Pascal til Windows: Kopier output til udklipsholder?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg gennemfører et program i Turbo Pascal 7 til Windows som en del af et programmeringskursusprojekt. I det væsentlige har vi fået en kort og bedt om at gå ud af os selv og implementere og kode programmet.


Kort beskrives, at der oprettes et program, hvor en bruger kan indtaste en besked, vælge et bogstavskifte, hvorefter hvert bogstav bliver 'krypteret' i henhold til det pågældende skift (i det væsentlige ROT13). Let.


Jeg har kørt i vinduet Turbo Pascal til Windows 7 og udsender den resulterende krypterede tekst:


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


Det, jeg gerne vil gøre, strækker sig ud over dette ved at gå et skridt videre og tillade brugeren at kopiere output (var: line) til deres Windows-udklipsholder. Jeg har søgt langt og bredt på tværs af internettet i to dage nu og har endnu ikke stødt på noget som kan hjælpe mig. Jeg begynder nu at undre mig, om Pascal selv har evnen til at gøre dette?


Skål,
Luke.

Bedste reference



  Jeg begynder nu at undre mig, om Pascal selv har evnen til at gøre dette?



Ja, hvis du ikke bruger den forældede 20-årige Pascal-produkt. Jeg er ikke sikker på, om den kan få adgang til udklipsholderen (da Windows-udklipsholderen er 32-bit API) eller ej, men stor chance det kan ikke i det mindste ikke uden hack. Brug Free Pascal eller Delphi og få adgang til Windows API direkte til afspilning med udklipsholder (søg MSDN til dette).


PS:
Udklipsholder har intet at gøre med Pascal som et sprog. Det er simpelthen et koncept, som operativsystemet har, og det giver programmer mulighed for at bruge det.

Andre referencer 1


For det første er den resulterende binære en DOS eller win3.x EXE?


Hvis DOS
Afaik der er måder at nå udklipsholderen fra dos via INT 2F udvidelser.


Søg i det massive SWAG arkiv, der indeholder masser af eksempler til Turbo Pascal (og -For Windows)


Hvis win3x så


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


Hvis dette svar lyder meget vagt, så er det fordi alt dette er for 20 år siden :-)

Andre referencer 2


Hvis du brugte Delphi, kunne du bruge Clipboard.SetTextBuf (PChar (somestring));
Sådan gør jeg det i mit Dos2Clip-værktøj, som tilsyneladende gjorde mig tilgængelig gratis tilbage i 2005. Jeg har lavet kilden tilgængelig på linket nedenfor, alle 25 linjer af det.


I Vista og højere er der en 'clip' kommando tilgængelig i batch-filer eller kommandolinjen.


ex: ekko 'hej verden!' klip


Se min skrivning her, som har et download link til mit Dos2Clip program (med kilde). Jeg ser Clip2Dos også derinde.


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