Documentation de Gambas - /lang/access

/lang/access
Le page anglaise est plus récente.

# Access

Accessible = Access ( Path AS String [ , Mode AS Integer ] ) AS Boolean

Retourne si le fichier spécifié par Path est accessible selon le mode spécifié par Mode.

Si la valeur de Mode est :

- gb.Read, retourne TRUE si le fichier est accessible en lecture.

- gb.Write, retourne TRUE si le fichier est accessible en écriture.

- gb.Exec, retourne TRUE si le fichier est un exécutable.

Les drapeaux précédents peuvent être combinés avec l'opérateur OR.

- gb.Read, est le comportement par défaut si l'argument optionnel Mode n'est pas spécifié.

Pour un répertoire, le drapeau d'exécution signifie que le répertoire peut être parcouru.

### Exemples

    PRINT Access("/home/benoit", gb.Write OR gb.Exec)

    True

    PUBLIC SUB Button1_Click()
    DIM sPath AS String

    sPath = "/root/bin"
    PRINT sPath; " RW "; Access(sPath, gb.Read OR gb.write)
    PRINT sPath; " R  "; Access(sPath, gb.Read)
    PRINT sPath; "  W "; Access(sPath, gb.write)
    PRINT sPath; "    "; Access(sPath)

    END

    /root/bin RW False
    /root/bin R  True
    /root/bin  W False
    /root/bin    True

Tous les fichiers dans le répertoire d'un projet (incluant tout sous-répertoire créé dans le répertoire du projet) sont traités comme étant accessibles en lecture seul, quelque soit le mode spécifié, même si leur mode de permission est à 777 (accès total en lecture/écriture pour le propriétaire, le groupe et les autres), (c.a.d. Access("img/myImage.png") ne retournera jamais gb.write).

En voici la raison : lors de la fabrication du fichier exécutable, tous les fichiers du projet sont placés dans l’exécutable, et ne peuvent donc être modifiés à l’exécution.

Utilisez des fichiers temporaires ou utilisez un répertoire spécial (fichier indexé par un point) dans le dossier personnel de l'utilisateur (c.a.d.: l'utilisateur exécutant le programme en [../../def/gambas).

    PRINT Access("data/img/myImage.png", gb.Write)

    False ' Même après avoir fait : chmod 777 "PathToMyProject/img/myImage.png"

### Voir aussi

- Fonctions associées aux fichiers et répertoires