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.