Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 07 June 2010 15:15

Sylvain PIERRE
Participant assidu
Lieu: Strasbourg
Date d'inscription: 6 Sep 2005
Messages: 170

Mapbasic et API windows

Bonjour,

Je souhaiterais comprendre le fonctionnement particulier des appels à des fonctions de l'API windows à partir de Mapbasic:
Ayant besoins de différentes fonctions de manipulation de fichiers absentes de Mapbasic, j'ai récupéré différents exemples. Sur ces modèles j'ai créé une fonction Mapbasic pointant vers la fonction API MoveFile() telle que ci-dessous:

Code:

declare function MoveFile lib "Kernel32"
    alias "MoveFileA" (
    byval fPath as string,
    byval tPath as string)
    as integer

Ce que je n'arrive pas à comprendre c'est que la fonction marche lorsque l'alias = "MoveFileA" alors que si l'alias = ""MoveFile" (le nom de la fonction dans l'API décrit comme telle dans la doc windows) cela ne marche plus (fonction MoveFile introuvable)?
Les exemples récupérés sont sous le même modèle:

Code:

declare function CreateDirectory32 lib "Kernel32" 
    alias "CreateDirectoryA" (
    byval sPath as string,
    byval lpSecurityAttributes As Integer)
    as integer

declare function RemoveDirectory32 lib "Kernel32"
    alias "RemoveDirectoryA" (
    byval sPath as string)
    as integer

Pourquoi ce <nomFonction>A ?

Merci

Hors ligne

 

#2 Mon 07 June 2010 15:23

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Mapbasic et API windows

Pourquoi ce <nomFonction>A ?


Les fonctions Windows utilisent les options d'internationalisation.

Les fonctions <nomFonction>A sont pour les données en ANSI et <nomFonction>W pour les données Unicode.

Dans des projets C++ par exemple, tu définies si ton projet utilise l'encodage ANSI ou Unicode. Comme MapBasic ne déclare rien de particulier, le compilateur se perd entre les différentes solutions.


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#3 Tue 08 June 2010 08:36

Sylvain PIERRE
Participant assidu
Lieu: Strasbourg
Date d'inscription: 6 Sep 2005
Messages: 170

Re: Mapbasic et API windows

Merci pour l'explication, très claire à mon sens.

Super: une question, ...la réponse! :-)

Hors ligne

 

Pied de page des forums

Powered by FluxBB