fb:porticula NoPaste
Auflösungsangepasster Bildschirmaufbau
| Uploader: |  Sebastian | 
| Datum/Zeit: | 19.10.2011 14:59:11 | 
'Aufloesungsangepasster Bildschirmaufbau
'19.10.2011, FBPSL
'Beilage zu http://forum.qbasic.at/viewtopic.php?t=7654
Declare Sub AufloesungErmitteln ()
Declare Function kx (ByVal xRelativ As Single) As Integer
Declare Function ky (ByVal yRelativ As Single) As Integer
Declare Sub PrintZentriert (ByRef Ausgabe As String, byval yRelativ As Single, Byval farbe As Uinteger)
DIM SHARED AS INTEGER istBreite, istHoehe, farbtiefe
'Aufloesung irgendwie festlegen, z.B. durch direkte Benutzereingabe
DIM AS INTEGER sollBreite, sollHoehe
Print "Bitte legen Sie die Aufloesung fest:"
Input "Breite = ", sollBreite
Input "Hoehe  = ", sollHoehe
ScreenRes sollBreite, sollHoehe, 4
'Aufloesung gesetzt.
' ....
'Da wir vielleicht nicht immer wissen, mit welcher Aufloesung gearbeitet wird:
AufloesungErmitteln  'Gewaehlte Aufloesung feststellen
Line ( kx(0.25), ky(0.25) ) - ( kx(0.75), ky(0.75) ), 14, B
Line ( kx(0.25), ky(0.5)  ) - ( kx(0.75), ky(0.5)  ), 14, B
PrintZentriert ("Hallo Welt", 0.35, LOWORD(COLOR))
sleep
end
' *** Ende des Hauptprogramms. Ab hier Unterprogramme ***
Sub AufloesungErmitteln ()
    SCREENINFO istBreite, istHoehe, farbtiefe
End Sub
Function kx (ByVal xRelativ As Single) As Integer
    If ((xRelativ < 0) Or (xRelativ > 1)) Then
        Return 0  'Fehler
    Else
        Return istBreite * xRelativ
    End If
End Function
Function ky (ByVal yRelativ As Single) As Integer
    If ((yRelativ < 0) Or (yRelativ > 1)) Then
        Return 0  'Fehler
    Else
        Return istHoehe * yRelativ
    End If
End Function
Sub PrintZentriert (ByRef Ausgabe As String, byval yRelativ As Single, Byval farbe As Uinteger)
    DIM AS INTEGER Spalten, ZeichenBreite, BreiteDesStrings, xPos, yPos
    Spalten = LOWORD(WIDTH)
    ZeichenBreite = istBreite / Spalten
    BreiteDesStrings = Len(Ausgabe) * ZeichenBreite
    xPos = (istBreite-BreiteDesStrings)/2   'istBreite=Breite des Bildschirms
    yPos = istHoehe * yRelativ
    Draw String (xPos,yPos), Ausgabe, farbe
End Sub
	


			FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!



