Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Hakemisto selville

Pekka Kauppila [31.01.2002 23:17:32]

#

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))

Dj Wolf [16.06.2002 17:07:29]

#

Tämähän on tarpeellinen :)

KimmoKM [31.10.2002 18:24:01]

#

Tarpeellinen onkin. Mutta älä käytä noin paljon kommentteja

Harrastelija [21.07.2005 21:00:48]

#

mitä enemmän kommentteja, sitä parempi.. Loistava koodi etten sanois!

moptim [18.09.2007 19:25:10]

#

Jooh :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta