Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 12.03.2021, 15:35 Titel: Mehrere Screen Seiten SCREENSET |
|
|
ein freundliches Hallo @all...
Angenommen ich habe einen Screen mit 2 Seiten als Vorgabe.
Innerhalb der Sub sollen diese Seiten via SCREENSET (1,1) genutzt werden
Ausserhalb der Sub kann aber eine andere Weise der Seitennutzung vorliegen
Diese Sub sollte sich die aktuelle Nutzung der Seiten merken und
beim Verlassen wieder herstellen.
Ich suche quasi das "Gegenstück" zu SCREENSET. Gibt es sowas?
Anderenfalls muss ich mir was mit ein paar Variablen basteln
Mutton |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1278 Wohnort: Ruhrpott
|
Verfasst am: 12.03.2021, 17:02 Titel: |
|
|
Hallo Muttonhead,
eine direkte Abfrage der Seitennummer gibt es meines Wissens nicht, aber die Seiten haben unterschiedliche Pointer:
Code: | Dim As Any Ptr p1, p2
ScreenRes 200, 300, 32, 2
ScreenSet 0
p1 = ScreenPtr
ScreenSet 1
p2 = ScreenPtr
? p1
? p2
ScreenCopy
Sleep |
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 12.03.2021, 17:54 Titel: |
|
|
@grindstone:
vielen Dank, das sind jetzt zwars die Pointer auf beide Pages, aber über deren Usage, definiert via SCREENSET, sagen diese leider nichts aus. denn sobald ich SCREENSET aufrufe, schaffe ich "neue" Tatsachen, mag sein die haben schon vorher bestanden, oder halt nicht. SCREENSET besagt nach Aufruf einfach: so ist es JETZT.... Hmm
*kopfkratz*
Mutton |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4688 Wohnort: ~/
|
Verfasst am: 12.03.2021, 22:31 Titel: |
|
|
Wahrscheinlich ist es das einfachste, wenn du dir eine "eigene SCREENSET-Methode" baust, die sich zusätzlich (z. B. per STATIC) die aktuelle Belegung merkt und vielleicht auch die alte zurückgibt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 565 Wohnort: Jüterbog
|
Verfasst am: 13.03.2021, 09:12 Titel: |
|
|
@nemored getan:
Code: | function MyScreenSet(active as integer=-1, visible as integer=-1) as integer
static as integer hold
if active=-1 then active=hold shr 4
if visible=-1 then visible=hold and &B1111
'screenset active,visible
function=hold
hold=(active shl 4) or visible
end function
dim as integer last
last=MyScreenSet(1,3)'beide
print "vorher: a=" & (last shr 4) & " v=" & (last and &B1111)
last=MyScreenSet(,5)'visible
print "vorher: a=" & (last shr 4) & " v=" & (last and &B1111)
last=MyScreenSet(10)'active
print "vorher: a=" & (last shr 4) & " v=" & (last and &B1111)
last=MyScreenSet()'keine
print "vorher: a=" & (last shr 4) & " v=" & (last and &B1111)
sleep |
Mutton |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4688 Wohnort: ~/
|
Verfasst am: 13.03.2021, 11:13 Titel: |
|
|
 _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|