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

Lazarus Pascal Discussion :

Problème de codage (caractères accentués) avec ShellApi.ShellExecute [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 109
    Par défaut Problème de codage (caractères accentués) avec ShellApi.ShellExecute
    Bonjour,
    Comment lancer un fichier LNK dont le nom peut avoir des caractères accentués le tout sous lazarus 2.02 et Windows 10 en utilisant ShellApi.ShellExecute ?
    Il doit bien y avoir une fonction ?
    D'avance merci.
    Exemple de code
    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
    21
    22
    23
    24
    // **************************************************
    function ExecuteFile(FileName, Params, DefaultDir: string;
      ShowCmd: Integer): THandle;
    var
      zFileName, zParams, zDir: array[0..255] of Char;
    begin
     {$IFDEF Windows}
     Result := ShellApi.ShellExecute(Application.MainForm.Handle, nil,
        StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
        StrPCopy(zDir, DefaultDir), ShowCmd);
    {$ENDIF}
    end;
    // **************************************************
    procedure TForm1.B_Lancer_LNKClick(Sender: TObject);
    Var
      Fichier_LNK: String;
    begin
     begin
     Fichier_LNK:='C:\USERS\PIERRE_2\Desktop\CCleaner.lnk'; // Fonctionne correctement
    Fichier_LNK:='C:\USERS\PIERRE_2\Desktop\CCleanerà.lnk'; // ERREUR A CAUSE DE à
      IF  ExecuteFile(ExtractFileName(Fichier_LNK),'',EXTRACTFILEPATH(Fichier_LNK),SW_SHOW)<=32 THEN Showmessage('Erreur');
     end;
    end;
    // **************************************************

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 173
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    Voici une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    uses LazUTF8;
     
    Fichier_LNK := UTF8ToWinCP(Fichier_LNK);

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 109
    Par défaut Suite
    Bonjour,
    Super, grand merci, je n'aurais pas trouvé, je patauge encore avec l'encodage Free pascal.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/07/2011, 15h12
  2. Caractères accentués avec <html:link>
    Par papysam dans le forum Struts 1
    Réponses: 5
    Dernier message: 25/05/2007, 15h18
  3. Problème de caractères accentués avec CAM::DBF
    Par ustilago dans le forum Modules
    Réponses: 4
    Dernier message: 23/06/2006, 08h46
  4. Problème d'insertion caractères accentués
    Par yuri dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 25/10/2005, 17h00
  5. caractères accentués avec Tsearch2
    Par nilytel dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 25/05/2005, 11h34

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