Einzelnen Beitrag anzeigen

TheHighriser

Registriert seit: 3. Jan 2007
5 Beiträge
 
#1

Konsole: Integer zu ASCII Code + Druck?

  Alt 3. Jan 2007, 20:41
Hallo liebe Forumsmitglieder!

Ich bin Designstudent und habe nur rudimentäre TurboPascal Kenntnisse aus meiner Schul- und Textadventurezeit.

Für ein eigenes Projekt in Typographie, einen CODE-spuckenden Roboter, will ich folgendes programmieren:

Es geht um ein simples Programm, bei dem der User eine Zahl zwischen 31 und 255 eingibt, woraufhin der Roboter
das entsprechende Zeichen des ISO Latin 1 Codes (Weiterführung des ASCII Codes) über einen Nadeldrucker ausgibt.

Meine Überlegung war folgende:

1) Einfaches Konsolen-Pascal-Programm

2) User gibt Zahl zwischen 31 und 255 ein, Programm prüft ob Zahl zulässig (kein Problem!!!)

3) Programm wandelt Zahl in ASCII Zeichen um (PROBLEM!!!)

Ich dachte an so etwas hier:

Delphi-Quellcode:
program Typobot;

{$APPTYPE CONSOLE}

uses
  SysUtils;

  var
  c: integer;
  x: char;

begin

 Writeln('Zeige ISO-Zeichen Nummer: ');
 Readln(c);

 if (c > 255) or (c < 31)
 then writeln ('Fehler! Nur Zahlen von 31 bis 255 eingeben')

 else

 x:= #c; //Hier sollte das ISO-Latin 1 Zeichen entstehen...:(

 writeln ('Das Zeichen Nr. ' +IntToStr(c)+ ' ist ' +x+ '!');

 readln;

end.
Geht aber nicht, da: [Error] Typobot.dpr(23): Constant expression expected (bei x:= #c; will er wohl direkt die zahl)

Gibt es da eine elegante Möglichkeit oder ist es einfacher für alle möglichen 255 zeichen eine bedingung zu schreiben?
(if c = 198 then writeln ('Æ'))...

Zweites Problem wäre dann dass das Ganze dann direkt über einen (Nadel-)drucker ausgedruckt werden soll, also einfach nur das Zeichen...
und da habe ich bislang noch gar nichts gefunden :/. (Ja, hab die Suche genutzt..und n Online Delphi Buch gelesen..nix..)

Vielleicht könnt ihr mir ja helfen. Meine Dankbarkeit ist euch sicher ))...

Viele Grüße,

Benedikt
  Mit Zitat antworten Zitat