Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Scrollen im Grafik-Modus

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
SvenStueck



Anmeldungsdatum: 12.05.2005
Beiträge: 58

BeitragVerfasst am: 16.01.2007, 08:36    Titel: Scrollen im Grafik-Modus Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 16.01.2007, 14:29    Titel: Antworten mit Zitat

Da müsstest du entweder auf die WinAPI zugreifen oder aber du baust dir einfach eine eigene Scrollbox. lächeln
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. neutral
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, 18:58, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 16.01.2007, 15:49    Titel: Antworten mit Zitat

[/quote] beendet nicht eine URI durchgeknallt

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 zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 16.01.2007, 18:58    Titel: Antworten mit Zitat

Stimmt. grinsen
Steh schon den ganzen Tag über neben mir... neutral
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 17.01.2007, 17:03    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
SvenStueck



Anmeldungsdatum: 12.05.2005
Beiträge: 58

BeitragVerfasst am: 22.01.2007, 23:13    Titel: Antworten mit Zitat

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 lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz