Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Beitrag von Euklid »

Hallo zusammen,

ich bereite gerade die Unterstützung von römischen Zahlen für Promathika vor. Leider werden bei den römischen Zahlen Zeichen benutzt, bei denen ich nicht weiß, wie man mit dem mit Lazarus geschriebenen Programm darauf zugreift. Vielleicht könnt Ihr mir helfen:

Konkret geht es um die Zeichen für die Zahlen 5000 und 10000, welche sind: ↁ, bzw. ↂ

1. Wie kann man solche Zeichen über die Tastatur eingeben? (ich habe sie von der Wiki-Seite kopiert und oben eingefügt: http://de.wikipedia.org/wiki/R%C3%B6mische_Zahlen )

2. Wie kann ich die Zeichen mit Lazarus erkennen? Der Befehl ord(zifferchar) gibt bei beiden Zeichen die Zahl 226 zurück - was mich also nicht weiter bringt.

Viele Grüße, Euklid

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Beitrag von Scotty »

Alles, was mit Unicode machbar ist, kann man mit FPC/Lazarus anzeigen: http://de.wikipedia.org/wiki/R%C3%B6mis ... in_Unicode
Wenn ein Zeichen nicht drin ist - ich muss zum Beispiel die katalanischen CH, RR und LL als Einzelbuchstaben anzeigen - muss man wohl oder über auf Methoden von TCanvas zurückgreifen. Allerdings können ältere OSe manche Unicode-Zeichen nicht darstellen, zum Beispiel geht das versale Eszett unter XP nicht. Römische Ziffern werden davon aber vermutlich nicht betroffen sein.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Beitrag von theo »

Dafür habe ich Lazarus die Unicode Tabelle spendiert ;-)
Bearbeiten -> Aus der Zeichentabelle einfügen -> Unicode Tab.

Deine Zeichen sind unter "Number Forms" zu finden, vorausgesetzt der Editor-Font kann diese anzeigen.
In der Tabelle siehst du auch die numerischen Code-Punkte bei drüberfahren mit der Maus (in deinem Fall $2181 und $2182)

"Auf die Schliche" kommst du der Sache z.B. so

Code: Alles auswählen

procedure TForm1.Button1Click(Sender:TObject);
var WC:WideChar;
begin
  WC:=UTF8Decode(Edit1.Text)[1];
  Edit2.Text:=UTF8Encode(WC);
  Edit3.Text:=hexStr(Word(WC),4);
end;


So wird der Code Point des ersten "Buchstabens" von Edit1.Text nach Edit3 geschrieben.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Beitrag von Euklid »

Danke für die Antworten - Ihr habt mir sehr weiter geholfen!
Die Unicode-Tabelle ist praktisch!

Eine Frage habe ich in diesem Zusammenhang noch, die nicht lazarusspezifisch ist: Bin ich gezwungen, eine solche Tabelle auch in Promathika einzubauen oder können die Benutzer diese Zeichen auch mit irgendeiner Tastenkombination über ihre Tastatur eingeben? Ich meine mich zu erinnern, dass man früher mal über das gleichzeitige Drücken irgendeiner dieser Steuertasten und Eingeben einer Nummer ins Nummernfeld die Ascii-Zeichen abrufen konnte. Gibt es sowas für Unicode auch?

Viele Grüße, Euklid

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Beitrag von theo »

Naja so richtig toll ist das nicht:
http://www.cl.cam.ac.uk/~mgk25/unicode.html#input

Ich würde evtl. dem User eine kleine Tabelle mit den für deine Anwendung notwendigen Sonderzeichen bereitstellen.

Scotty
Beiträge: 768
Registriert: Mo 4. Mai 2009, 13:24
OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
CPU-Target: x86_64-linux-qt/gtk2
Kontaktdaten:

Re: Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Beitrag von Scotty »

Ich meine mich zu erinnern, dass man früher mal über das gleichzeitige Drücken irgendeiner dieser Steuertasten und Eingeben einer Nummer ins Nummernfeld die Ascii-Zeichen abrufen konnte.

Vor vielen Jahren hatte ich ein Notebook, bei dem es keine Umlaute gab. Das ä zum Beispiel konnte man damals per Alt+132 eingeben. Ich glaube, dass Windows das jetzt noch so macht, unter Linux geht es aber schon mal nicht. Abgesehen von der Eingabe, die du sicher lösen kannst: Wie viele Benutzer werden die beiden Zeichen kennen und benutzen? Ich dachte zum Beispiel, dass im römischen Reich die Inflation noch so gering war, dass bei 1000 Schluss war :mrgreen:

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Beitrag von Euklid »

scotty: Genau sowas hatte ich in Erinnerung...

theo hat geschrieben:Ich würde evtl. dem User eine kleine Tabelle mit den für deine Anwendung notwendigen Sonderzeichen bereitstellen.


Hmm. Werde mir voraussichtlich eine andere Buchstabenkombination ausdenken. Die Promathika Konsole soll eine große Vielzahl an Funktionen unterstützen, da ist es mir zu aufwändig, für die verschiedenen Funktionen Tabellen mit Zeichensätzen zu implementieren.

Werde die Zeichen aber in jedem Fall zur Ausgabe auf die von Euch geschilderte Weise nutzen.

Viele Grüße, Euklid

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Römische Zahlen: Werden ↁ, ↂ von Lazarus unterstützt?

Beitrag von pluto »

Du könntest ja selbst eine Funktion erstellen, wenn es schon eine Tabelle gibt das z .b. wenn du auf den Numernblock einen Code eingibst eine Zahl erscheint. Für solche Zwecke habe ich mir eine Unit / Klasse erstellt. Die das können müsste. Bei bedarf suche ich sie gerne raus... Ich stelle mir das so vor:
ALTGR+Zahl und es wird das entsprechende Zeichen erstellt. Aber Vorsicht nach meinem letzten stand gibt es ca über 90000 Zeichen in der Unicode Tabelle. Ist das noch Aktuell ? bzw. Richtig ? Die kann sich wohl keiner Merken... Wie wäre es mit einer schönen geordneten Übersicht in Form eines Fensters ?
MFG
Michael Springwald

Antworten