Seite 1 von 1

Sonderzeichen [ERLEDIGT]

Verfasst: Fr, 26. Mai 2006 20:01
von Manfred
Hi,

hat jemand einen Tipp, wie ich Sonderzeichen angezeigt bekomme?

Ich möchte gerne im Grafikmodus statt Max. oder Min. jeweils einen Pfeil nach oben, bzw. nach unten vor den Text stellen.

Lt. Zeichentabelle sollte das 24 und 25 sein. Aber das gibt alles, nur keinen Pfeil nach oben, oder nach unten. Auch wenn ich die entsprechende Menge abziehe (21) kommen nur Kästchen, bzw ein Fragezeichen im VX Editor. Das Durchschnittzeichen konnte dargestellt werden, in dem ich von 237 21 abgezogen habe.

Oder hat vielleicht jemand einen anderen Vorschlag wie Max und Min möglichst kurz und trotzdem verständlich darstellen kann?

Verfasst: Fr, 26. Mai 2006 21:34
von brandelh
Hallo,

eigentlich hat man diese Zeichen mit ALT+24 bzw. ALT+25 (über Nummernblock) eingegeben: ↑↓ (und hier geht das auch).
In meinem Editor und in VX geht das nicht.
Aber unter Xbase++ (console und Hybrid) funktioniert folgendes:

Code: Alles auswählen

proc main
   local x
   for x := 1 to 32
      ? x,":",chr(x)
   next 
   wait
return
und die beiden Zeichen werden angezeigt. Unter VX mit einer Standard 32 Bit App (Rest habe ich nicht getestet), habe ich mit folgendem Programm den Zeichensatz abgefragt:

Code: Alles auswählen

PROCEDURE Main
   local x, cTxt := "Bis 255"+chr(13)
   for x := 1 to 255
       cTxt += str(x,5)+":"+chr(x)
   next
   msgbox( cTxt )
   cTxt := "ab 256 (gleich wie vorher !)"+chr(13)
   for x := 257 to 511
       cTxt += str(x,5)+":"+chr(x)
   next
   msgbox( cTxt )
RETURN
es werden nur die ersten 255 Zeichen unterstützt, bei größeren Werten wird wieder bei 0 (= 256) angefangen, was aber keinen Text ergibt.
ANSI hat aber etwas über 1000 Zeichen, das scheint mir ein Fehler / Problem von VX zu sein ?
So geht es also nicht. min und max sind doch aber gar nicht so groß ? Eventuell kannst du die Schriftart kleiner wählen.

Verfasst: Fr, 26. Mai 2006 21:34
von brandelh
Ansonsten könntest du ein ICON malen und ausgeben ...

Verfasst: Fr, 26. Mai 2006 21:36
von Manfred
Hi Hubert,

es geht um Min.Preis und Max.Preis. Ich hatte nur den Rest weggelassen. Das sind die kürzesten Möglichkeiten. Der Rest wäre länger.

Verfasst: Fr, 26. Mai 2006 21:37
von Manfred
An ein Icon habe ich auch schon gedacht, aber da habe ich noch keine Ahnung von, wie das alles eingebunden und gemacht wird. Müßte ich also erst testen. Ich dachte nur mit Pfeil rauf und runter wäre es fürs Erste schneller.

Verfasst: Fr, 26. Mai 2006 21:49
von brandelh
Hallo Manfred,

je nach Anwendungsart (ANSI/OEM) und VX Einstellung könnte eventuell
Conv2OemCP(chr(24)) oder Conv2AnsiCP(chr(24)) helfen.
Einfach probieren ...

Verfasst: Fr, 26. Mai 2006 22:26
von Manfred
So wie ich das jetzt ausprobiert habe, klappt das nicht mit ConvToxxxxxx

es kommen nur Quadrate heraus

Verfasst: Fr, 26. Mai 2006 23:46
von brandelh
die Quadrate bedeuten, dass das Zeichen im ANSI Zeichensatz nicht vorhanden ist. Wenn du eine ConsolenApp als Grundlage in VX ausgewählt hast, sollte aber die OEM Schrift Alaska Crt verwendet werden.

Eventuell gibt es einen Schalter der das regelt ?

Verfasst: Sa, 27. Mai 2006 0:11
von Manfred
Schaue ich mir Morgen an, jetzt mache ich Matrazenhorchdienst.

Verfasst: Sa, 27. Mai 2006 9:59
von Koverhage
Warum nimmst Du nicht einfach eine andere Schrift. Wingdings wäre dafür hervorragend geeignet ;-)

Verfasst: Sa, 27. Mai 2006 10:01
von Manfred
Hi,

da geht das Problem ja los, kann man das denn so einfach mischen? Ich habe noch gar keine Ahnung, was wie alles unter GUI möglich ist. Ich arbeite noch im Hybridmodus und weiß noch nicht, wie man sowas alles zusammenbaut.

Verfasst: Sa, 27. Mai 2006 11:00
von Jan
Schriften mischen geht meines Wissen nicht in einem Objekt. Leider. Ich hatte nämlich auch schon mal dieses Problem, und in VX ist einfach kein Sonderzeichen reinzubekommen. Auch nicht mit CHR(24) oder ähnlichen Tricks wie Konvertierung OEM->Ansi oder andere Spielchen.

Jan

Verfasst: Sa, 27. Mai 2006 12:12
von brandelh
Hallo,

alle 'normalen' Controls haben genau eine Schriftart, somit ist es kein Problem Wingdings zu aktiviren (falls auch der Zielrechner diese Schrift hat), aber dann geht genau nur Wingdings, was die Schrift etwas unleserlich macht :wink:

Erst das Rtf-Control kann verschiedene Schriften und Attribute mischen, aber als Beschriftung ist es eher ungeeignet. Was möglich wäre ist z.B. in PAINT 2 Schriften hintereinander zu malen und das dann als bmp abzuspeichern und anzuzeigen, da dürfte aber min. und max. auch nicht mehr Platz benötigten.
Man könnte 2 Statics direkt hintereinander legen, aber wegen der Ränder wird das wohl auch nicht so eng möglich sein.

VX ist ja noch BETA - hoffentlich wird es später besser ...

Verfasst: Mo, 29. Mai 2006 8:18
von Koverhage
ich denke es gibt ausser Wingdings auch noch andere Schriften die man nutzen könnten und die diese Sonderzeichen enthalten

Verfasst: Mo, 29. Mai 2006 8:27
von andreas
Hallo Manfred,

aus DOS-Zeiten weiss ich dass die Zeichen von 0 bis 31 Sonderzeichen sind, die als Steuerbefehle von dem Betriebssystem angenommen werden. Deswegen wird es wohl sehr schwierig sein, die anzeigen zu lassen.
Da musst wohl einen anderen Zeichensatz holen und Zeichen grösser 31 benutzen.

Verfasst: Mo, 29. Mai 2006 8:28
von Martin Altmann
Hallo Klaus (und alle anderen),
man darf dabei nur nie vergessen, dass man am Besten natürlich mit Standardschriftarten fährt, die auch auf allen PCs vorhanden sind! Ansonsten müsste man die Lizenzfrage klären und dann die "besondere" Schriftart immer mit ausliefern.

Viele Grüße,
Martin

Verfasst: Mo, 29. Mai 2006 8:33
von Koverhage
Ich benutze fast nur ausschliesslich VERDANA. Ist bei Win immer vorhanden.
ALT+16 bzw. 17 hat auch ganz nette Pfeile ;-)

Verfasst: Mo, 29. Mai 2006 8:39
von Martin Altmann
Hallo Klaus,
dann ist ja gut :D - wobei ich glaube, dass Verdana erst ab 2000/XP dabei ist, oder?
Windows 3.11/95/98 kannten diese Schrift noch nicht.
Auf allen gibt es nur:
  • Arial
  • Times New Roman
  • Courier New
  • Wingdings
und ich glaube noch zwei weitere, die mir aber im Moment leider nicht mehr einfallen...

Viele Grüße,
Martin

Verfasst: Mo, 29. Mai 2006 8:42
von brandelh
Hallo,

unter Word und hier in diesem MLE geht das ja auch mit ALT+24, nur bei VX wird das dann nicht angenommen. Entweder es wird gleich geblockt (wäre das nicht ein Fehler) oder aber bei der (automatischen) ANSI OEM Convertierung geht etwas schief.