Q(uick)Basicissa tulee monesti ongelmaksi se, että miten saadaan selville hakemisto jossa ollaan mennossa. Tämä pieni koodin pätkä selvittää sen ja listauksessa on mukana kommentit jotka kertovat mitä missäkin tapahtuu.
Listaus1: Sisältää hakemiston selvittämiseen tarvittavan koodin. (hakemisto$ muuttuja sisältää hakemiston)
CLS 'Tyhjennetään näyttö.
ON ERROR GOTO HakemistoVirhe 'Jos ohjelmassa tulee virhe siirrytään
'kohtaan "HakemistoVirhe".
haktemp$ = "hak_temp.tmp" 'Annetaan nimi väliaikaiselle tiedostolle
'joka tuhoutuu käytön jälkeen!!!
SHELL "cd >" + haktemp$ 'Suoritetaan Shell komento DOSsissa joka
'tallentaa hakemiston tiedostoon.
OPEN haktemp$ FOR INPUT AS #1 'Avataan väliaikainen tiedosto lukua varten.
INPUT #1, hakemisto$ 'Luetaan hakemisto tiedostosta.
CLOSE #1 'Suljetaan tiedosto.
KILL haktemp$ 'Tuhotaan väliaikainen tiedosto!!!
'Lisätään kenoviiva hakemiston loppuun jos sitä ei ole.
'Tämä sen takia koska se jää muutamilla kerroilla pois ja
'nyt se on aina siinä.
IF RIGHT$(hakemisto$, 1) <> "\" THEN
hakemisto$ = hakemisto$ + "\"
END IF
'Kirjoitetaan näyttöön teksti "Hakemistopolku = C:\..." jossa lukee hakemisto
'jossa olet parasta aikaa.
PRINT "Hakemistopolku = " + hakemisto$
GOTO HakemistoValmis 'Siirrytään kohtaan valmis ja ohitetaan
'virhe kohta koska sitä ei ole tapahtunut.
HakemistoVirhe: 'Tähän siirrytään jos tapahtuu virhe!
'Kirjoitetaan näyttöön teksti jos tapahtuu virhe!
PRINT "Hakemistoa ei saatu selville!"
HakemistoValmis: 'Tähän siirrytään kun ollaan valmiita!Listaus2: Koodi jonka voi lisätä hakemisto listaukseen ja näin saadaan selville asema. (asema$ muuttuja sisältää aseman)
asema$ = UCASE$(LEFT$(hakemisto$, 1))
Tämähän on tarpeellinen :)
Tarpeellinen onkin. Mutta älä käytä noin paljon kommentteja
mitä enemmän kommentteja, sitä parempi.. Loistava koodi etten sanois!
Jooh :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.