Connexion
Vous n'avez pas encore de compte personnel ? Vous devriez en créer un. Une fois enregistré vous aurez certains avantages, comme pouvoir modifier l'aspect du site, ou poster des commentaires signés...
Support
Activité du Site

Pages vues depuis 06/01/2019 : 13 388 223

  • Nb. de membres 368
  • Nb. d'articles 2 854
  • Nb. de forums 24
  • Nb. de sujets 13
  • Nb. de critiques 0

Top 10  Statistiques

Index du forum »»  Développement »» Dos.library questions ...

Dos.library questions ...#1072

4Contributeur(s)
AmiDARKHenesTchekoYomgui
2 Modérateur(s)
PapiosaurBeWorld
AmiDARK AmiDARKicon_post
Bonjour,

Je pose cette question aux experts des gestions de fichiers.

J'ai recherché dans la dos.library sans trouver de résultat.
J'ai besoin de faire des commandes de "copie" de fichier et de "déplacement" de fichier d'un dossier à un autre.
Quelqu'un aurait-il une idée à me donner sur comment réaliser cela ?

EDIT : Petite question supplémentaire ... la fonction ExamineObject de la Dos.Library permet d'avoir une date en DateStamp ... je n'arrive pas à obtenir la date de création du dossier/fichier ni celle de dernière modification ... Quelqu'un pourrait m'aider ?

Merci par avance,

Sincèrement,
AmiDARK
Henes Henesicon_post
Citation : AmiDARK 
J'ai besoin de faire des commandes de "copie" de fichier

Open()/Read()/Close() sur la source et Open()/Write()/Close() sur la destination.

Citation : AmiDARK 
et de "déplacement" de fichier d'un dossier à un autre.

Rename().
AmiDARK AmiDARKicon_post
@Hénès :
Pour le Copie de fichier ... Bon, je le ferais dans cette méthode à laquelle j'avais pensé mais que je pensais risquer être lente car je vais devoir gérer moi même un buffer mémoire ... Mais quoi qu'il en soit c'est possible... J'aurais pensé qu'il existe autre chose de plus "rapide"...

Pour le Rename, je l'utilise pour une commande DERenameFile mais, je ne savais pas que l'on pouvait modifier le chemin d'accès avec :) Merci pour l'information :)

Sincèrement,
Frédéric Aka AmiDARK
Tcheko Tchekoicon_post
AmiDark,

Concernant les dates : la dos.library ne gère pas les dates de création ni de dernière ouverture. Seul la date du dernier changement est conservée -> structure FileInfoBlock.

Pour le déplacement de fichier, comme dit Henes : faut tout faire à la mano. Ouvrir la source en lecture, ouvrir la destination en écriture, lire la source dans un tampon, écrire le tampon, faire jusqu'à la fin de fichier, fermer les descripteurs de fichiers...

Taille du tampon : entre 4Ko et 64Ko devrait donner de bons résultats.

Ne pas oublier de tester les erreurs avec IoErr().

++
AmiDARK AmiDARKicon_post
@Tcheko :
Merci pour ces informations.

Sincèrement,
@+
AmiDARK
Yomgui Yomguiicon_post
@AmiDARK: de manière générale, la dos.library s'attaquant directement aux drivers filesystems il n'y a pas plus rapide si tu veux rester générique et indépendant.
AmiDARK AmiDARKicon_post
Merci à tous pour vos réponses.

J'ai pu implémenter les commandes pour l'AmiDARK Engine.

J'aurais une autre petite question concernant la dos.library.
Si je veux connaître la liste des disques durs (partitions : DH0:, DH1:, etc ...) comment je dois procéder avec le ObtainDirContextTags ? Que dois-je mettre en chemin d'accès ?

Merci par avance.

Sincèrement,
AmiDARK
Yomgui Yomguiicon_post
Citation : AmiDARK 

Merci à tous pour vos réponses.

J'ai pu implémenter les commandes pour l'AmiDARK Engine.

J'aurais une autre petite question concernant la dos.library.
Si je veux connaître la liste des disques durs (partitions : DH0:, DH1:, etc ...) comment je dois procéder avec le ObtainDirContextTags ? Que dois-je mettre en chemin d'accès ?

Merci par avance.

Sincèrement,
AmiDARK 


Déjà fait pour Blender, mais j'ai pu la réponse de tête (une histoire avec un flags VOLUME à passer dans la recherche des objets DOS), si tu es patient (ou si qq répond avant moi) tu auras t'a réponse pour demain :-)
AmiDARK AmiDARKicon_post
@Yomgui :
Je suis patient :p
Merci.

J'ai posté sur amigans & amigaworld pour d'autres questions dos.
Utilisation de Execute (ou SystemTags sur OS4) et utilisation de fileinfoblock pour récupérer la date qui me paraissent un peu obscures ..

@+
Henes Henesicon_post
SystemTagList() est une fonction de base de la dos.library depuis la v36
Elle existe donc partout.