Griechische Buchstaben

Für allgemeine Fragen zur Programmierung mit PureBasic.
hanshampel
Beiträge: 36
Registriert: 11.09.2004 18:18
Wohnort: Hohenkirchen
Kontaktdaten:

Griechische Buchstaben

Beitrag von hanshampel »

pb 4.3 w2k
Ich möchte in der IDE und in Textgadgets gerne die griechischen
Buchstaben alfa,delta ,theta ,omega etc. für Berechnungen
verwenden.

Wenn man einen fontrequester öffnet in (irgendeiner Anwendung)
kann man zum Beispiel rechts unten
zusätzlich zu Schriftart ,-Stil und -größe noch auswählen ob
westlich, Latein1, latein2 , griechisch ,russisch, ....sofern im font
vorhanden wie zum Beispiel unter "Arial"

Bei loadfont find ich dafür keine Einstellung um zum Beispiel
die griechischen Buchstaben zu laden.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

dafür musst du die Schriftart "Symbol" laden.

das was du meinst, ist die erweiterte Zeichentabelle an die man nur mit der man zB das hier erzeugt:
φ
das ist jedoch erweiterter ASCII also über 255 ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
hanshampel
Beiträge: 36
Registriert: 11.09.2004 18:18
Wohnort: Hohenkirchen
Kontaktdaten:

Beitrag von hanshampel »

genau das ist mein problem.

Code: Alles auswählen

LoadFont(1,"Symbol",12)

text$=" hier soll das alfa rein"

MessageRequester("Fonttest",text$)


wie bekomm ich jetzt das alfa in den textstring.
irgendwie blick ich das nicht.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

MessageRequester ist KEIN Textgadget:

so gehs:

Code: Alles auswählen


OpenWindow(0, 0, 0, 800, 600, "Fenster", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
 
 TextGadget(0,10,10,200,100, "a b c d g")
 SetGadgetFont(0, FontID(LoadFont(#PB_Any, "Symbol", 12)))

Repeat
 Event = WaitWindowEvent()
 Select Event
  Case #PB_Event_CloseWindow
   End
 EndSelect
ForEver
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Beitrag von TomS »

Seine frage ist, wie er ein gr. Zeichen in einen String einfügen kann.

Code: Alles auswählen

MessageRequester("Fonttest","Das ist ein Phi: φ")
Dare Devil
Beiträge: 237
Registriert: 17.10.2008 18:24
Kontaktdaten:

Beitrag von Dare Devil »

Bin mir jetzt nich sicher wie man den Zeichensatz (in deinem Fall griechisch) aendern kann.
Aber wenn du die API-Funktion nutzt (CreateFont) kannst du ihn angeben.
Bild + Bild

Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

IDE umschalten auf UTF-8 (sollte man per default machen)
UNICODE aktivieren!
Jetzt kann man die Zeichen z.B. aus der Zeichentabelle (win zubehör) per
Copy und Paste einfügen. So geht es z.B. auch:

Code: Alles auswählen

MessageRequester("", Chr($038F))
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
hanshampel
Beiträge: 36
Registriert: 11.09.2004 18:18
Wohnort: Hohenkirchen
Kontaktdaten:

Beitrag von hanshampel »

@Stargate
So geht's , Danke vielmals. Manchmal hat man einfach ein Brett vorm Kopf.
Mir ist klar das ein Messagerequester kein Textgadget ist. Das war nur als Beispiel gedacht .

@TS-soft
#IDE umschalten auf UTF-8 (sollte man per default machen)
hab ich getan
#UNICODE aktivieren!
hab ich versucht, gibt ne fehlermeldung mit invalid memory.

edit:
so jetzt hab ich noch in den Ländereinstellungen griechisch eingestellt,
und neu gestartet. Der Fehler kommt jetzt nicht mehr aber die Zeichenausgabe mit

Code: Alles auswählen

chr($03b1)
bringt mir einen Senkrechten strich was eigentlich ein alfa seinsollte
/edit
edit2:
jetzt hab ich's
immer diese flüchtigkeitsfehler :oops:
/edit


aber so wie du geschrieben hast meinte ich eigentlich.Obwohl Stargates Weg auch gut ist.

@dared devil , ich wollte so wenig wie möglich an api reinnehmen wegen der lauffähigkeit unter linux, trotzdem Danke für die Antwort
Antworten