  | 
					
						Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!   
						
						
					 | 
				 
			 
			 
	
		| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen   | 
	 
	
	
		| Autor | 
		Nachricht | 
	 
	
		SvenStueck
 
 
  Anmeldungsdatum: 12.05.2005 Beiträge: 58
 
  | 
		
			
				 Verfasst am: 16.01.2007, 07:36    Titel: Scrollen im Grafik-Modus | 
				     | 
			 
			
				
  | 
			 
			
				Hallo!
 
 
Hab da ein Problem!
 
Lasse mit einem Programm eine Datei auslesen, und die am Bildschirm anzeigen. Im Konsolen-Modus geht das auch soweit, da ich ja den Scrollbalken habe. Bloss, wie kann man des im Grafikmodus lösen?
 
Ich sehe quasi immer nur den "Rest" des Textes...
 
 
mfg Sven | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Mao
 
 
  Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
  | 
		
			
				 Verfasst am: 16.01.2007, 13:29    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Da müsstest du entweder auf die WinAPI zugreifen oder aber du baust dir einfach eine eigene Scrollbox.  
 
Mausrad etc. kannst du über GetMouse abfragen.
 
Einfach mal nachschauen bei der Referenz für GetMouse.
 
Allerdings ziemlich überlastet atm, evtl. auch gar nicht erreichbar.  
 
Aufruf jedenfalls mit:
 
 	  | Code: | 	 		  
 
GetMouse X, Y, MausRad, Tasten
 
 | 	  
 
 
/edit: bb-Tags editiert _________________ Eine handvoll Glück reicht nie für zwei.
 
--
 
 
  Zuletzt bearbeitet von Mao am 16.01.2007, 17:58, insgesamt einmal bearbeitet | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Jojo alter Rang
  
  Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
  | 
		
			
				 Verfasst am: 16.01.2007, 14:49    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				[/quote] beendet nicht eine URI   
 
 
du kannst auch nach 30 oder so zeilen immer den user eine taste drücken lassen, den bidschirm löschen und die nächsten 30 zeilen anzeigen lassen, wenn's an bissal primitiv san darf   _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 
  | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		Mao
 
 
  Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
  | 
		
			
				 Verfasst am: 16.01.2007, 17:58    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Stimmt.  
 
Steh schon den ganzen Tag über neben mir...   _________________ Eine handvoll Glück reicht nie für zwei.
 
--
 
  | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		volta
 
 
  Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
  | 
		
			
				 Verfasst am: 17.01.2007, 16:03    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi SvenStueck,
 
eine einfache Funktion ohne Scrollbalken, nur zeitverzögertes scrollen, hab ich vor einiger Zeit mal geschrieben.
 
Evtl. kannst du sie gebrauchen. 	  | Code: | 	 		  '15.05.06 , ab FB 0.15b erstellt by Volta
 
'Text weich scrollen
 
Declare Function scrollup (Byval steps As Ushort, _
 
                           Byval delay As Ushort) As Integer
 
Screen 18, 32
 
Dim text As String
 
Dim As Integer ff = Freefile, z = Width Shr 16
 
Windowtitle "Text softscroll"
 
 
Open "scrolltext.bas" For Input As #ff
 
Do Until Eof(ff)
 
  Line Input #ff, text
 
  scrollup 16, 20 'Schrifthoehe (Zeilen), Sleep [ms] pro Zeile
 
  Locate z, 1
 
  Print text;
 
Loop
 
Close #ff
 
Sleep
 
End
 
 
Function scrollup (Byval steps As Ushort, Byval delay As Ushort) As Integer
 
  Dim scr As Integer Ptr
 
  Dim As Integer breit, hoch, bytepp, pitch, i, j, x
 
  Screeninfo breit, hoch,, bytepp, pitch
 
  Function = 0
 
  If bytepp <> 4 Then Exit Function
 
  For x = 1 To steps
 
    Screenlock
 
    For i = 1 To hoch -2
 
      scr= Screenptr + i *pitch
 
      For j = 0 To (breit -1)
 
        scr[j]= scr[j +pitch \4]
 
      Next j
 
    Next i
 
    Screenunlock
 
    Sleep delay
 
  Next x
 
  Function = -1
 
End Function
 
 | 	 
  _________________ Warnung an Choleriker: 
 
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
 
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		SvenStueck
 
 
  Anmeldungsdatum: 12.05.2005 Beiträge: 58
 
  | 
		
			
				 Verfasst am: 22.01.2007, 22:13    Titel:  | 
				     | 
			 
			
				
  | 
			 
			
				Merce für die Antworten!
 
Habe das ganze jetzt folgendermassen gelöst:
 
 	  | Code: | 	 		  
 
 
sub ptext
 
cls
 
for t=st to en
 
print text(t)
 
next t
 
end sub
 
 
sub askmouse
 
getmouse x,y,wheel
 
 
select case wheel
 
case is > lastwheel
 
    if st-3>=1 then st=st-3:en=en-3
 
    ptext
 
case is <lastwheel
 
    if en+3<=a and a>=26 then st=st+3:en=en+3
 
    ptext
 
case lastwheel
 
case else
 
end select
 
lastwheel=wheel
 
end sub
 
 | 	  
 
 
is seeehr simple, allerdings a extrem funktionabel   | 
			 
		  | 
	 
	
		| Nach oben | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
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.
  | 
   
 
     |