Kirjautuminen

Haku

Tehtävät

Koodit: QB: Windows-hakemistot

Kirjoittaja: Antti Laaksonen

Kirjoitettu: 17.08.2002 – 17.08.2002

Tagit: koodi näytille, vinkki

Tässä on kolme funktiota QBasicille Windows-hakemiston, systeemihakemiston ja Temp-hakemiston (väliaikaistiedostot) selvittämiseen. Funktioiden toiminta on varsin yksinkertaista; huomattavasti vaikeampaa on keksiä niille järkevä käyttötarkoitus. Jos hakemistoa ei jostain syystä löydy (tai koneessa ei ole Windowsia) funktio palauttaa tekstin (tuntematon).

DECLARE FUNCTION HaeTempHakemisto$ ()
DECLARE FUNCTION HaeWindowsHakemisto$ ()
DECLARE FUNCTION HaeSysteemiHakemisto$ ()

PRINT "Windows-hakemisto: " + HaeWindowsHakemisto
PRINT "Systeemihakemisto: " + HaeSysteemiHakemisto
PRINT "   Temp-hakemisto: " + HaeTempHakemisto

FUNCTION HaeSysteemiHakemisto$
  'Ensin haetaan muuttujaan win$ Windows-hakemisto,
  'ja sitten katsotaan, onko systeemihakemisto SYSTEM32
  'vai SYSTEM

  win$ = HaeWindowsHakemisto
  IF win$ = "(tuntematon)" THEN
    HaeSysteemiHakemisto = "(tuntematon)"
    EXIT FUNCTION
  END IF
  IF DIR$(win$ + "\SYSTEM32\*.*") <> "" THEN
    sys$ = win$ + "\SYSTEM32"
  ELSEIF DIR$(win$ + "\SYSTEM\*.*") <> "" THEN
    sys$ = win$ + "\SYSTEM"
  ELSE
    sys$ = "(tuntematon)"
  END IF
  HaeSysteemiHakemisto = sys$
END FUNCTION

FUNCTION HaeTempHakemisto$
  'ympäristömuuttuja 'TEMP' tai 'TMP' sisältää
  'Temp-hakemiston nimen

  temp$ = ENVIRON$("TEMP")
  IF temp$ = "" THEN
    temp$ = ENVIRON$("TMP")
  END IF
  IF temp$ = "" THEN
    temp$ = "(tuntematon)"
  END IF
  HaeTempHakemisto = temp$
END FUNCTION

FUNCTION HaeWindowsHakemisto$
  'ympäristömuuttuja 'windir' sisältää Temp-hakemiston
  'nimen. Uusissa Windowseissa tieto saattaa olla
  'myös muuttujassa SYSTEMROOT

  win$ = ENVIRON$("windir")
  IF win$ = "" THEN
    win$ = ENVIRON$("SYSTEMROOT")
  END IF
  IF win$ = "" THEN
    win$ = "(tuntematon)"
  END IF
  HaeWindowsHakemisto = win$
END FUNCTION

Kommentit

progo [24.01.2003 10:40:41]

#

Loistava vinkki! Tuohan on hyvä jo siksi, että voi tallentaa ohjelman omat temppifilut standardinmukaisesti temp-folderiin :)

markus90 [29.10.2004 16:28:21]

#

Aikas hieno vinkki.

black cat [01.12.2009 13:12:50]

#

aika siisti vinkki

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta