| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| Muttonhead 
 
  
 Anmeldungsdatum: 26.08.2008
 Beiträge: 570
 Wohnort: Jüterbog
 
 | 
			
				|  Verfasst am: 12.03.2021, 14: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: 1283
 Wohnort: Ruhrpott
 
 | 
			
				|  Verfasst am: 12.03.2021, 16: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: 570
 Wohnort: Jüterbog
 
 | 
			
				|  Verfasst am: 12.03.2021, 16: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: 4711
 Wohnort: ~/
 
 | 
			
				|  Verfasst am: 12.03.2021, 21: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: 570
 Wohnort: Jüterbog
 
 | 
			
				|  Verfasst am: 13.03.2021, 08: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: 4711
 Wohnort: ~/
 
 | 
			
				|  Verfasst am: 13.03.2021, 10:13    Titel: |   |  
				| 
 |  
				|  _________________
 Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |