Renommer un fichier avec un point devant (sans le déplacer)

J’essaie de renommer un fichier (de n’importe quel type) en lui ajoutant un “.” devant son nom afin de le rendre invisible (le fichier n’est pas déplacé mais l’original est supprimé). Comme vous pouvez le voir, je ne suis pas familiarisé avec les FolderItem, je tatonne un peu (beaucoup!).
1/ Comment accepter tous les types de fichiers ? (FolderItem.ShowOpenFileDialog(FileType.All) m’affiche une erreur)
2/ Comment ajouter le point dans la chaine Volume(0).Child( f.Name) ?

J’en suis là pour le moment :sweat_smile:
Var f As New FolderItem
Var g As String
f = FolderItem.ShowOpenFileDialog(“text/plain”) //Comment ajouter tous les types de fichiers ?
If f <> Nil Then // si l’utilisateur n’a pas annulé…
If f.Exists Then // si le fichier existe (et est valide)…
g = Volume(0).Child("." + f.Name) // On ajoute ici le point d’invisibilité ! MARCHE PÔ !
f.Name = g
End if
Else
MessageBox(“Fichier ou dossier non trouvé !”)
End If

Merci de votre aide.

As-tu regardé
https://documentation.xojo.com/api/files/folderitem.html.Visible

As-tu regardé ton aide en ligne après l’avoir mise en local dans les préférences:

Dans Xojo 2021r2.1, Preferences → General

When seeking help: Use built-in documentation.

Cela te permettra de lire la doc pour TA version de Xojo.

Enfin, rendre un fichier invisible c’est renommer un fichier, c’est:

f.Name = “.” + f.Name
ou
fName = "Denis - " + f.Name

Rendre un fichier invisible c’est pas une bonne idée si tu ne sais pas le manipuler ensuite.

(le fichier n’est pas déplacé mais l’original est supprimé)
Cette phrase n’a pas de sens. Le fichier reste là où il est, aucun autre fichier n’est créé, il est simplement marqué invisible et le Finder (Explorer ?) ne le montre plus, c’est tout.

Enfin, Volume(0).Child:
es-tu sûr que tu as les permissions de modifier un fichier situé là ?

Essayez

f.Name = "." + f.Name

Merci Michel pour tes suggestions.
J’ai trouvé la propriété f.Visible = true/False :slight_smile:
J’ai fait ceci, qui a l’air de marcher :

Var f As FolderItem
f = FolderItem.ShowOpenFileDialog("???") // Ajouter tous les types de fichiers
If f <> Nil Then // si l’utilisateur n’a pas annulé…
If f.Exists Then // si le fichier existe (et est valide)…
If f.Visible Then //Le fichier est visible
// On ajoute la cape d’invisibilité :
f.Visible = False
End if
End if
Else
MessageBox(“Fichier ou dossier non trouvé !”)
End If

Tu en penses quoi ?
Faut encore que je teste si ca fonctionne aussi avec les dossiers…
Quelqu’un connait l’action de la propriété “Visible” ? Elle joue sur l’attribut du fichier (chflag) ? Je ne vois pas de point devant le nom du fichier…

Sais-tu que monsieur tout le monde peut, à l’aide d’un AppleScript scanner ton dossier, sélectionner un fichier invisible et le rendre visible ?
Voire même le copier là où il peut modifier la visibilité et le nom du fichier, puis le rendre visible ?

Maintenant, tu sais pourquoi tu veux rendre invisible des éléments…

Juste la définition de la commande AppleScript qui permet de voir et de sélectionner les fichiers (avec ou sans les invisibles):

Merci @Emile_Schwarz
Oui, je sais qu’il existe moults façons de rendre visible un fichier invisible.
J’ai notamment rendu visible un fichier, rendu invisible à l’aide de la propriété Xojo “Visible”, à l’aide des commandes Terminal “chflags nohidden” suivi d’un “SetFile”.
Par contre je me demande si on peut visualiser de tels fichiers invisibles dans une boite standard ShowOpenFileDialog ?

Avec AppleScript oui, Xojo: je ne sais pas, trop gros / trop lourd pour une utilisation très ponctuelle.

Cependant, en partant d’un dossier, on peut afficher tous ses éléments (visibles ou pas, avec un point devant ou pas), puis rendre les éléments visibles… avec Xojo. Il y a un exemple qui liste le contenu du dossier Desktop (Bureau) qui conviendrait (ou qui peut être facilement modifié, je crois).

Je ne vois pas l’intérêt de cacher des trucs: on peut toujours faire des copies d’écran, rendre visible un fichier, passer une copie d’écran à la ROC (incorporée dans Monterey…), etc. Bon, c’est juste mon opinion.

Merci mais désolé, je n’utilise pas d’AppleScript, 100% Xojo only.

Idée:

construit toi la fonction que tu veux:

  1. Nouvelle fenêtre
  2. Ajout ListBox
  3. Ouvrir un dossier (sans rien afficher ),
  4. Lire le contenu du dossier dans le ListBox (dans une boucle).

Cela te permet d’afficher ce qu’il y a dans le dossier (Bureau par exemple) avec, en gris les invisibles, en vert les dossiers, en bleu les fichiers .txt, en jaune les fichiers images, etc.
Et si tu crée des images (taille inférieure à ListBox.RowHeight), tu pourra même y ajouter une iône appropriée pour chaque type de données…

Dans le dossier Examples, sous dossier Files, tu trouveras un exemple nommé “FileBrowser.xojo_binary_project” (juste une idée).

Sur Mac, Applescript est le secret de pas mal de best sellers, et de bien des développeurs Xojo sur Mac (y compris votre serviteur). Garder l’esprit ouvert.

Il est très simple d’utiliser Applescript avec Xojo.

1- Créer le script dans Script Editor (dans Utilities)
2- Le traîner-déposer dans le projet
3- L’appeller par son nom dans le programme Xojo.

https://documentation.xojo.com/topics/macos/using_applescripts_in_your_app.html