Perus hiirellä liikkuminen. Olettaa että hiiressäsi on rulla, joten jos ei löydy, on se helppo muuttaa näppäimistölle..
Mutta pidemmittä tyhjänjauhamisitta tässä itse asia:
Code: Select all
SCREEN 800,600,32
ShowMouse ON
Repeat
// Eli ensimmäisenä lisäämme tekstit jotka kertovat
// nykyisen sijainnin ja listaa sen sisällön.
ClearText
Color 255,0,0
AddText "Kansio: "+CurrentDir()
AddText ""
AddText File$
// Harvinaisen perushuttua siis yllä oleva.
// Sitten aloitetaan haku, joka jatkuu niin kauan
// kun kyseisestä sijainnista tavaraa löytyy.
StartSearch // Aloitetaan haku
Repeat // Aloitetaan silmukka
Y = Y + TextHeight("A") // Jokaisen lisätyn rivin jälkeen on syytä kasvattaa
// Y-Koordinaattia, (Huom. Näyttökoordinaatit)
// ettei teksti mene päällekkäin. Kommentoi rivi, niin ymmärrät..
File$ = FindFile() // Tässä Merkkijono muuttujaan tallennetaan tieto nykyisestä sijainnista.
If IsDirectory(File$) = 1 Then
Color 255,255,0
Else
Color 255,255,255
EndIf
// Ylläolevassa tarkastetaan onko löytynyt tiedosto kansio.
// Jos löytynyt tiedosto oli kansio, värjätään se keltaiseksi,
// muussa tapauksessa valkoiseksi
// Alapuolella taasen tarkastellaan, onko löytynyt tiedosto jotain tiettyä muotoa.
// Esim. nyt kaikki CoolBasicin tukemat kuva formaatit värjäytyvät vihreäksi.
If Lower(Right(File$, 4)) = ".bmp" Then // Jos löydetty tiedosto oli ".bmp"-päätteinen,
Color 0,255,0 // niin värjätään se vihreäksi.
EndIf
If Lower(Right(File$, 4)) = ".jpg" Then
Color 0,255,0
EndIf
If Lower(Right(File$, 4)) = ".png" Then
Color 0,255,0
EndIf
If Lower(Right(File$, 4)) = ".tga" Then
Color 0,255,0
EndIf
If TextButton(X,Y,File$) = 1 Then // Jos klikataan tiedostoa, (koskee ainoastaan kansioita)
ChDir File$ // niin siirrytään kansioon.
EndIf
Until File$ = "" // Haetaan tiedostoja, kunnes ne loppuvat
EndSearch
Y = MouseZ()*TextHeight("A") // Hiiren rullalla voipi rullata listaa ylös ja alas.. .. rajattomasti..
If MouseHit(2) Or KeyHit(14) Then // Jos painetaan hiiren kakkos namikkaa tai näppäimistöltä
ChDir ".." // backspasea,(Tekstin pyyhkimis näppäin)
EndIf // niin poistutaan edelliseen sijaintiin ja palataan kohti
// hakemistopolun juurta.
DrawScreen
Forever
// Ja vielä lopuksi TextButton() functio, joka tekee tekstistä hiirellä painettavan nappulan,
// tai tässäkin tapauksessa "linkin".
Function TextButton(X,Y,Txt$)
Locate X, Y
AddText Txt$
If MouseX() > X And MouseX() < X+TextWidth(Txt$) And MouseY() > Y And MouseY() < Y + TextHeight(Txt$) And MouseHit(1) Then Return 1
End Function
Koodinpätkä on myös jotenkin kommentoitu, jos yhtään auttaa..
Muokatkaa tosiaan vapaasti ja lähettäkää toki myös näytille omat kyhäelmät