Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 C64 Bildschirm zeichnen
Autor: Markus Barkholz (---.hsi05.unitymediagroup.de)
Datum:   15.01.20 22:23

Hallo,

ich wollte für mein Demo mal einen C64-Screen zeichnen. Ist ja eigentlich recht einfach. Doch ich bekommen den blinkenden quadratischen Cursor und eine simulierte Eingabe via LOAD"*",8,1 nicht hin. Hat da jemand eine pfiffige Idee?

Folgendes habe ich gemacht:

Für Hilfe wäre ich dankbar.



 'Hauptfenster erstellen (Rahmen)
  WindowTitle "C64"                                                   'Windowstitel festlegen
  WindowStyle 16 + 64                                                            'Fenster ohne Meüleiste und ohne Min/Max/Close
  Window 800, 600
  CLS RGB(165,165,212)     'Border
 
  UseBrush 1, RGB(63,63,214) 'Frame
  Rectangle 70,50 - %MaxX-630, %MaxY-220
 
  TextColor RGB(165, 165, 212), -1
  Set("CharSet", 0)
  Set("Orientation", 0) 
  UseFont "Pet Me 64", 22, 15, 1, 0, 0
 
  DrawText 150, 70, "**** COMMODORE 64 BASIC V2 ****"
  DrawText 94, 110, "64K RAM SYSTEM  38911 BASIC BYTES FREE"
  DrawText 71,150, "READY."
 
  DrawText 71,190, chr$(32) 'hier soll Zeichen für Zeichen LOAD"*",8,1 und der quadratische Qursor hin - aber wie?
 
 'Ausserdem erzeugt Rectangle einen schwarzen dünnen Rahmen um das die dunkelblaue Füllung. Wie bekomme ich die denn weg????
 
  SetTimer 100
   While 1
      If IsKey(27)                                                      'Wird die ESC-Taste gedrückt,
       End                                                             'Programm wird beendet
     EndIf
   EndWhile
  KillTimer
 


Beitrag beantworten
 
 Re: C64 Bildschirm zeichnen
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   16.01.20 18:05

Gesucht und gefunden :-)
Hatte mal vor Jahren ein Prog für Blockgrafikzeichen
gemacht.
 ' Blockgrafikzeichen oben mit der Maus anklicken
 ' und im Gitternetz ablegen.
 
 Declare Handle imgList, htb, static, icon
 Declare Int ende, buttons
 
 WindowTitle "BlockGrafiken"
 Window 800, 600
 imgList = @Create("ImageList", 16, 16)
 buttons = @Create("OEMList", imgList)
 htb     = @Create("Toolbar", %HWnd, imgList, buttons, 16, 2001, 1)
 static  = @Create("Static",  %HWnd, 400, 200, 350, 200)
 
 ende = 0
 Gitternetz(static, 8)
 
 WhileNot ende
   WaitInput
     If %MenuItem > 2000
         icon = ImageList("GetIcon", imgList, %MenuItem - 2001)
        ' DrawIcon icon, 100, 200
     EndIf
     If @Mouse(400, 200 - 750, 400)
        StartPaint %HWnd
          DrawIcon icon, %MouseX, %MouseY
        EndPaint
     EndIf
   Case %Key = 2 : ende = 1
 EndWhile
 
 SubProc Create.OEMList
 Parameters Handle il
 Declare Handle bmp
 Declare Long zeichen[]
 zeichen[] = 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,\
             196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,\
             216, 217, 218, 219, 220, 221, 222, 223, 226, 227, 255
 WhileLoop 0, (SizeOf(zeichen[]) - 1)
   MCls 16, 16, RGB(255, 255, 255)
   StartPaint -1
      UseFont "Terminal", 16, 0, 0, 0, 0
      TextColor RGB(0, 0, 0), RGB(255, 255, 255)
      DrawText 1, 1, Chr$(zeichen[&LOOP])
   EndPaint
   bmp = @Create("hSizedPic", 0, "&MEMBMP", 16, 16, 1)
   ImageList("Add", il, bmp)
 EndWhile
 DeleteObject bmp
 Return @GetCount(il)
 EndProc
 
 Proc Gitternetz
 Parameters Handle st, Int dif
 Declare Int x, y, y1, x1, dx, dy, m, n
 x = 0
 y = 0
 dx = @Width(st, 1)
 dy = @Height(st, 1)
 m = @Int(dy / dif)
 n = @Int(dx / dif)
 y1 = 0
 StartPaint st
   RectAngle x, y - dx, dy
   TextColor RGB(0, 0, 0), -1
   UsePen 0, 1, Rgb(0, 0, 0)
   WhileLoop 1, m
      Line x, y - dx, y1
      Inc y, dif
      Inc y1, dif
   EndWhile
   x = 0 : y = 0 : x1 = 0
   WhileLoop 1, n
      'Line x, y -
   EndWhile
 EndPaint
 EndProc
 
 DeleteObject imgList
 End
 


Vielleicht kannst du damit was anfangen.

PS: Nimm doch statt einem Rectangle ein Static.
Färben müßte man das auch können. Such mal in den Foren.

So ein Fenster kann von Haus aus nur ANSI. Deshalb die Umwandlung
zum ico. Normal Zeichen, wie Buchstaben gehen jedoch.

H.Brill
XProfan X4 + FreeProfan

Nachricht bearbeitet (16.01.20 18:08)

Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org