****************************************************************************************************
*: Procedure file: MISTO_NA_DISCICH.PRG
*: 
*: overi volne misto a zapise do logu
*: parametrem je string s posloupnosti pismenek disku, dvojteckou a limitem velikosti v GB, oddelenych mezerou
*: priklad: "C:5 K:50 I:444" nahlasi, kdyz na disku C: je pod 5GB, na K: pod 50GB a na I: pod 444GB volnyho mista
*: pri volani bez parametru vypise vsechny disky C: az Z:, kde je pod 1TB mista
*:
*:***************************************************************************************************
PARAM dlouhy_text
IF EMPTY(m.dlouhy_text)
    dlouhy_text = STRTRAN("C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:", ":", ":999")
ELSE
    dlouhy_text = UPPER(m.dlouhy_text)
ENDIF 
vysledek1 = ""

DO WHILE .T.
    pozice_dvojtecky = at(":", m.dlouhy_text)
    IF m.pozice_dvojtecky = 0 
        EXIT 
    ELSE
        dsk      = SUBSTR(m.dlouhy_text, m.pozice_dvojtecky-1, 2)
        limit    = VAL(SUBSTR(m.dlouhy_text, m.pozice_dvojtecky+1))
        misto    = ROUND(DISKSPACE(m.dsk, 2) / 999999999, 1)
        velikost = ROUND(DISKSPACE(m.dsk, 1) / 999999999, 0)
        dlouhy_text = SUBSTR(m.dlouhy_text, m.pozice_dvojtecky+2)

        IF (m.misto < m.limit) .and. (m.velikost > 1)
            vysledek1 = m.vysledek1 + m.crlf + "[2#R]  " + "      na " + m.dsk + " je jen " + TRANSFORM(m.misto, "999.9GB") + " z "  + TRANSFORM(m.velikost, "9999") + " " + REPLICATE("!", 15*(1-(m.misto/m.limit)) + 2) + " "
        ENDIF 
    ENDIF 
ENDDO 

IF EMPTY(m.vysledek1)
    vysledek = " ... OK"
ELSE 
    vysledek = m.crlf + "Pocitac: " + m.machine +  m.vysledek1
ENDIF 
