sonderzeichen mit freepascal

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
guennid

sonderzeichen mit freepascal

Beitrag von guennid » 06.08.2008 19:53:12

Also, mit folgender Anweisung

Code: Alles auswählen

echo -e "\e(0jklmnopqrstuvwx\e(B"
lassen sich Zeichen auf den Konsolen/Terminal-Bildschirm malen, aus denen man einen einfachen Fensterrahmen bauen kann.

Wie kann man sowas in einem Pascal-Programm nutzen?

Grüße, Günther

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: sonderzeichen mit freepascal

Beitrag von cosmac » 06.08.2008 20:39:14

hi,

Chr(27) liefert dir das Escape-Zeichen. Also müsste es so gehen:

Code: Alles auswählen

  write (Chr(27), '(0', 'jklmnopqrstuvwx', Chr(27), '(B');
Beware of programmers who carry screwdrivers.

guennid

Re: sonderzeichen mit freepascal

Beitrag von guennid » 06.08.2008 20:59:38

Es geht so!!! :hail:

Ich probiere im Augenblick noch beide Möglichkeiten, wie du in dem anderen thread sehen kannst.
Ein Konsolenprogramm wäre mir aber letztlich doch sympathischer, ich glaube, da kenne ich mich besser aus :D

Grüße, Günther

guennid

Re: sonderzeichen mit freepascal

Beitrag von guennid » 07.08.2008 20:28:15

Irgendwie halte ich das mit den Esc-Sequenzen doch für recht umständlich. Ich suche immer noch nach einer direkten Repräsentation der hohen DOS-ASCII-Zeichen in linux.

Also wenn ich meine speziellen DOS-ASCII-Zeichen unter dosemu/freedos in eine Textdatei schreibe, kann ich sie via oo in linux importieren. Will sagen, sie werden genauso wie unter DOS angezeigt, ich kann sie im freepascal-Quelltext unterbringen, speichern und den Quelltext kompilieren (aber nur mit utf-8, nicht mit iso-8859-1(15)). In der Ausführung des Kompilates werden die Zeichen dann aber bei der Darstellung wieder verhunzt.
Muss ich da freepascal noch irgendeinen Zeichensatz angeben?
In /etc/fpc.cfg habe ich nichts gefunden.

Grüße, Günther

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: sonderzeichen mit freepascal

Beitrag von cosmac » 07.08.2008 21:20:11

guennid hat geschrieben:Irgendwie halte ich das mit den Esc-Sequenzen doch für recht umständlich. Ich suche immer noch nach einer direkten Repräsentation der hohen DOS-ASCII-Zeichen in linux.
Wenn's wirklich 1:1 sein soll, müsstest du den DOS-Zeichensatz
statt iso-8859-1 verwenden. Das ist technisch möglich, aber nicht
praktikabel -- du wärst nur noch mit dir selbst kompatibel.

Als Kompromiss könntest du durchgängig UTF-8 benutzen, also
Editor, Compiler und Laufzeitumgebung. D.h. das Programm muss
mit einer UTF-8 locale laufen, aber deine Konsole läuft anscheinend
noch nicht mit UTF-8, von meiner garnicht zu reden. Andererseits
geht der Trend ganz klar in Richtung UTF.

Ich würde die Rahmenzeichnerei in ein bis zwei Funktionen verpacken.
Dann ist die umständliche Schreibweise an einer Stelle konzentriert
und man muss sie später nicht mehr anfassen.
guennid hat geschrieben:Muss ich da freepascal noch irgendeinen Zeichensatz angeben?
kann ich mir nicht vorstellen, dass das geht. Sowas wird doch über die
locale der Konsole geregelt.

Hmm, vielleicht sind die Menüs mit GTK doch einfacher :)
Beware of programmers who carry screwdrivers.

guennid

Re: sonderzeichen mit freepascal

Beitrag von guennid » 07.08.2008 22:39:45

cosmac hat geschrieben:Ich würde die Rahmenzeichnerei in ein bis zwei Funktionen verpacken.
Dann ist die umständliche Schreibweise an einer Stelle konzentriert
und man muss sie später nicht mehr anfassen.
So habe ich das unter DOS auch realisiert :wink:
D.h. das Programm muss mit einer UTF-8 locale laufen
Ich dachte, das hätte ich versuchsweise eingerichtet gehabt: locale auf utf-8, geany auf utf8 und trotzdem gab's bei Programmausführung Mist.

Compiler auf utf-8. Wie geht das?
Hmm, vielleicht sind die Menüs mit GTK doch einfacher :)
Möglich, aber gefühlsmäßig fühl ich mich mit meinem prozeduralen pascal einfach sicherer.

Grüße, Günther

Antworten