Bonjour à tous,
Quelle est la commande turbo pascal sous dos pour renommer un répertoire qui n'est pas vide ?
Merci pour votre réponse
Bonjour à tous,
Quelle est la commande turbo pascal sous dos pour renommer un répertoire qui n'est pas vide ?
Merci pour votre réponse
Il me semble qu'il n'y a pas dans Turbo Pascal de commande pour renommer un répertoire.
La solution consiste à passer par les interruptions DOS et à utiliser la fonction $56 de l'interruption $21, qui permet de renommer aussi bien un fichier qu'un répertoire.
Bonjour,
Pour renommer C:\PCX (qui n'est pas vide) en C:\JPG j'ai écrit :
ax me retourne 3h (path not found) alors que le répertoire existe bien ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ChDir('C:\'); a_txt:='C:\PCX'+chr(0); n_txt:='C:\JPG'+chr(0); regs.ah:=$56; regs.ds:=seg(a_txt); regs.dx:=ofs(a_txt); regs.es:=seg(n_txt); regs.di:=ofs(n_txt); With regs do Intr($21,regs);
Si vous avez des idées ...
Sous Turbo-Pascal, le premier octet ( indice 0 ) d'une variable de type String contient sa longueur.
La chaine proprement dite commence à l'octet suivant ( indice 1 ).
Il faut donc remplacer les quatre instructions :
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 regs.ds:=seg(a_txt); regs.dx:=ofs(a_txt); regs.es:=seg(n_txt); regs.di:=ofs(n_txt);
Maintenant, la procédure devrait fonctionner correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 regs.ds:=seg(a_txt[1]); regs.dx:=ofs(a_txt[1]); regs.es:=seg(n_txt[1]); regs.di:=ofs(n_txt[1]);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager