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

 Delphi Discussion :

type incompatible string et PAnsiChar


Sujet :

Delphi

  1. #1
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 397
    Points : 165
    Points
    165
    Par défaut type incompatible string et PAnsiChar
    Bonjour,

    J'ai un type incompatible "image_test" dans "CopyFile" que je n'arrive pas à résoudre. Pouvez vous m'aider

    Merci
    (enregcollec.photo provient d'un type "record" et est sting[200] )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var
    image_photo:string;
    image_test:PAnsichar;
    begin
     
    image_photo:=enregcollec.photo;
    image_test:=PAnsiChar(image_photo);
    if FileExists(ExtractFilePath(Application.ExeName)+ 'photo-timbre/'+dossier+'/'+enregcollec.photo) then
      begin
         CopyFile(ExtractFilePath(Application.ExeName)+ 'photo-timbre/'+dossier+'/'+image_test,ExtractFilePath(Application.ExeName)+ 'image/'+enregcollec.photo));
      end
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 091
    Points : 41 069
    Points
    41 069
    Billets dans le blog
    62
    Par défaut
    il suffit de transtyper les deux 'variables'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CopyFile(PChar(ExtractFilePath(Application.ExeName)+ 'photo-timbre/'+dossier+'/'+image_test),PChar(ExtractFilePath(Application.ExeName)+ 'image/'+enregcollec.photo)));
    * PChar ou PAnsiChar d'ailleurs , cela dépendra de la version Delphi
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 397
    Points : 165
    Points
    165
    Par défaut
    pas assez de paramètres originaux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CopyFile(PAnsichar(ExtractFilePath(Application.ExeName)+ 'photo-timbre/'+dossier+'/'+enregcollec.photo),PAnsichar(ExtractFilePath(Application.ExeName)+ 'image/'+enregcollec.photo)));
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 091
    Points : 41 069
    Points
    41 069
    Billets dans le blog
    62
    Par défaut
    effectivement mais la touche :F1: l'aurait indiqué
    j'ai répondu à l'erreur de transtypage en recopiant le code pas a un problème de syntaxe

    BOOL CopyFile(
    LPCTSTR lpExistingFileName,
    LPCTSTR lpNewFileName,
    BOOL bFailIfExists
    );
    donc en rajoutant un boolean , cela devrait être réglé , mais la touche F1 indique aussi à quoi correspond ce boolean , chose qu'il faut peut être savoir non
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mars 2003
    Messages : 397
    Points : 165
    Points
    165
    Par défaut
    C'est vrai, dans mon dernier message j'ai omis de préciser que j'avais fait l'essai comme ceci
    désolé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    CopyFile(Pchar(ExtractFilePath(Application.ExeName)+ 'photo-timbre/'+dossier+'/'+enregcollec.photo),Pchar(ExtractFilePath(Application.ExeName)+ 'image/'+enregcollec.photo)),true);
    Mais je viens de m'apercevoir que j'avais une apostrophe en trop et apparemment c'est ça qui provoquait l'erreur

    Question subsidiaire comment avoir une numérotation automatique des lignes de code

    Merci pour votre patiente
    75 ans quelques dents en moins, mais toujours envie d'apprendre

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/05/2011, 19h31
  2. Réponses: 0
    Dernier message: 31/05/2011, 00h34
  3. Réponses: 6
    Dernier message: 08/10/2009, 22h32
  4. Type incompatible: '[string: ""]'
    Par annedeblois dans le forum ASP
    Réponses: 2
    Dernier message: 04/01/2008, 17h56
  5. StrToInt + Tedit --> Type incompatible string et Tedit
    Par turf_trader dans le forum Delphi
    Réponses: 3
    Dernier message: 07/07/2007, 14h33

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