IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

MoveFileEx inopérant


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut MoveFileEx inopérant
    Bonjour à tou(te)s
    Je viens de terminer un petit prog utilitaire tout simple, qui installe une police de caractère sur le PC. L'utilisateur désigne un fichier fonte dans un opendialog...
    Begin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
       chemin:=extractfilepath(paramstr(0));
       opendialog.InitialDir:=chemin;
       opendialog.Execute;
       source:=opendialog.filename;
       if source='' then close;
       destination:='C:\WINDOWS\Fonts\'
       +rightstr(opendialog.filename,pos('\',reversestring(opendialog.filename))-1);
       case fileexists(destination) of
       false: begin
             if messagedlg('Installer la police de caratères'+chr(10)
                +rightstr(opendialog.filename,pos('\',reversestring(opendialog.filename))-1)+' ?',mtConfirmation,mbOKCancel,0)
                =mrno then close;
             MoveFileEx(PChar(Source), PChar(Destination),MOVEFILE_COPY_ALLOWED);
             showmessage(rightstr(opendialog.filename,pos('\',reversestring(opendialog.filename))-1)
             +chr(10)+'installation réussie');close;end;
       true: begin
             showmessage('La police de caractères'+chr(10)+
             rightstr(opendialog.filename,pos('\',reversestring(opendialog.filename))-1)
             +chr(10)+'est déjà installée');close;end;
       end;
    ça marche bien sous xp
    En revanche sous 98, le fichier n'est pas déplacé et win n'affiche aucun message d'erreur

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    Le répertoire Fonts est un peu particulier... Ce n'est pas tout un fait un répertoire comme les autres. Ce serait plutot un répertoire système qui contient tous les fichiers de police...
    Donc il se peut que sous les anciennes versions de Windows, la copie de fichier avec un mloyen autre que par l'explorateur ne marche pas... Et que ça soit corrigé sous XP
    Il existe peut-être une API permettant d'installer un fichier fonts directement...

  3. #3
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    regarde le lien dans la FAQ
    Windows Me/98/95: The MoveFileEx function is not supported. To rename or delete a file at restart, use the following procedure

  4. #4
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    essaye avec CopyFileEx mais je ne suis pas sur

  5. #5
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut
    L'explication de jmjmjm semble la bonne... tant pis

  6. #6
    Membre averti
    Avatar de jmjmjm
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2005
    Messages : 760
    Points : 439
    Points
    439
    Par défaut
    pourquoi tampis tu as essayer avec CopyFile ??

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout/suppression de programmes est inopérant
    Par MicroPuce dans le forum Windows Serveur
    Réponses: 19
    Dernier message: 02/06/2006, 10h40
  2. Fichier existant inopérant
    Par BnA dans le forum Langage
    Réponses: 1
    Dernier message: 24/05/2006, 14h37
  3. Return false inopérent sur un "onclick"
    Par El Riiico dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/01/2006, 11h47
  4. Bouton "croix" de fenêtre inopérant
    Par kobe dans le forum Langage
    Réponses: 17
    Dernier message: 02/09/2005, 11h22
  5. Caption d'un TBitBtn inopérant
    Par OutOfRange dans le forum Composants VCL
    Réponses: 1
    Dernier message: 30/07/2005, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo