Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Problem mit chr(252) im Grafikmodi

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Digga



Anmeldungsdatum: 07.01.2006
Beiträge: 48

BeitragVerfasst am: 20.10.2010, 13:41    Titel: Problem mit chr(252) im Grafikmodi Antworten mit Zitat

Hallo alle zusammen.

Hab ein Problem mit oben erwähntem Zeichen.
Im Konsolenmodus zeigt es ganz normal ^3 an, aber im Grafikmodi nur ^n.
Weiß jemand wie ich es im Grafigmodi richtig anzeigen kann (also ^3),
oder ist es mit dem n so gewollt, bzw. ein Bug?

gruß Digga
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 20.10.2010, 14:22    Titel: Antworten mit Zitat

Hallo,

der Unterschied bei der hochgestellten 3 ergibt sich daraus, dass im Grafikmodus eine andere Codepage (CP437) verwendet wird, als hierzulande in der Konsole (Textmodus) eingestellt ist (CP850).

Eine Übersicht über beide Codespages findest du hier: http://www.freebasic-portal.de/code-beispiele/kleine-helferlein/ascii-tabelle-anzeigen-lassen-2.html
Du kannst entweder den Quelltext ausführen oder zum Ende der Seite scrollen. Dort findest du Screenshots der Tabellen als Attachment und kannst vergleichen.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Digga



Anmeldungsdatum: 07.01.2006
Beiträge: 48

BeitragVerfasst am: 20.10.2010, 14:49    Titel: Antworten mit Zitat

Hallo.

Die beiden png Dateien habe ich mir schon angeschaut. Mein Problem ist
halt eben das ich im Grafikmodi eine ^3 bräuchte.

gruß Digga
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 20.10.2010, 17:43    Titel: Antworten mit Zitat

Als Problemlösung kann ich dir jetzt auf die Schnelle nur empfehlen

_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 20.10.2010, 18:50    Titel: Antworten mit Zitat

Hallo,

ich habe in etwa den ersten Vorschlag von nemored einmal exemplarisch umgesetzt und ein Code-Beispiel dazu hochgeladen: "Zahlen in kleiner Schriftgröße ausgeben"
Der Code kommt ohne externes Tileset o.ä. aus, weil die Bilddaten als Integer-Array (Bitmasken) gespeichert sind.

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 21.10.2010, 11:59    Titel: Antworten mit Zitat

Hi,
Zitat:
einen selbst erstellten Zeichensatz zu verwenden, in dem du dieses Zeichen einbaust; siehe http://www.freebasic-portal.de/tutorials/schriftarten-unter-freebasic-44.html
Man braucht keinen Zeichensatz neu erstellen, FreeBASIC bietet schon 3 Schriftarten an.
Code:
'http://www.freebasic-portal.de/tutorials/schriftarten-unter-freebasic-44-s3.html
Type fb_font_x
  As Integer breit, hoch
  As Any Ptr Start
End Type
Extern Font8  Alias "fb_font_8x8"  As fb_font_x
Extern Font14 Alias "fb_font_8x14" As fb_font_x
Extern Font16 Alias "fb_font_8x16" As fb_font_x

Sub DrawString( ByVal buffer As Any Ptr=0, ByVal xpos As Integer, _
  ByVal ypos As Integer, ByRef text As String, ByVal fgcol As Integer=Color, _
  ByRef f As fb_font_x)
  Dim As Integer l,bits,xend
  Dim row As UByte Ptr
  l = Len(text)-1
  If l < 0 Then Exit Sub
  ScreenInfo xend
  ScreenLock
  For i As Integer = 0 To l
    row = text[i]*f.hoch+f.start
    For y  As Integer= ypos To ypos+f.hoch-1
      bits = *row
      For x  As Integer= xpos To xpos+7
        If (bits And 1) Then
          If (buffer = 0) Then
            PSet (x,y),fgcol
          Else
            PSet buffer,(x,y),fgcol
          End If
        End If
          bits = bits Shr 1
      Next
      row +=1
    Next
    xpos +=f.breit
    If xpos > xend Then Exit For
  Next
  ScreenUnLock
End Sub

Screen 18,32
Dim As Integer i , farbe = &Hff0000
Color 0,-1 : Cls'Bildschirm löschen, weisser Hintergrund
For i = 0 To 16
    DrawString ,10, 20+i*24, "2  = " & (2^i), farbe, Font16 'Text ausgeben
    DrawString ,20, 18+i*24, Str(i), farbe, Font8'Hochgestellte Zahl i ausgeben
Next i

sleep


So ginge es auch:
Code:
...
Screen 18,32
Color 0,-1 : Cls'Bildschirm löschen, weisser Hintergrund
For i As Integer = 0 To 16
  Print "2   = " & (2^i)'Text ausgeben
  'x=Spalte * Fontbreite (8) ; y=Zeile * Fonthöhe (i*16)
  DrawString ,8, i*16, Str(i), , Font8'Hochgestellte Zahl i ausgeben
Next i

sleep

_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz