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 Thu 03 April 2003 20:22

Pblanc
Invité

Travail en serie sur plusieurs tables d'un meme repertoire, avec MapBasic

Bonjour. Je desire traiter en serie, a l'aide d'une application MapBasic,
toutes les tables MapInfo contenues sous un meme repertoire. Pour ce faire,
j'ai besoin de lister d'abord les tables du repertoire. J'ai essaye de
construire une liste en lancant un Run Program command.com /c DIR
Z:Repertoire*.tab > c:templiste.txt . Cela fonctionne pour certains
repertoires, mais pas tous. Il semblerait que les repertoires ayant des noms
courts ne me causent pas de probleme.

Y a-t-il une probleme deja identifie (MapBasic et MapInfo 7) ?
Y aurait-il une autre facon de proceder (sans etre oblige de selectionner
manuellement les tables dans une liste) ?

Merci.

Pierre Blanc
Direction de l'Île-de-Montreal
Ministere des Transports du Quebec

 

#2 Thu 03 April 2003 22:13

Jans, Geoffrey
Invité

Re: Travail en serie sur plusieurs tables d'un meme repertoire, avec MapBasic

La solution consiste a creer dans votre application MapBasic un fichier texte nomme cmd.bat, et a y copier les instructions DOS que vous voulez executer (DIR Z:Repertoire*.tab > c:templiste.txt).
Ensuite executer ce script par la commande Run Program cmd.bat .

Salutations,

Geoffrey Jans /  gjans@texte-a-enlever.korem.com
Geographe-cartographe

KOREM
Technologies de GÉOdiffusion

 

#3 Fri 04 April 2003 09:35

Rictrem
Invité

Re: Travail en serie sur plusieurs tables d'un meme repertoire, avec MapBasic

Bonsoir,
Creer une liste avec la commande DIR du DOS est efficace mais manque de souplesse. Voici un utilitaire parfait pour ce genre de chose. Il permet d'obtenir des listes de dossiers, extraire le dernier dossier d'un chemin, faire une liste des fichiers avec ou sans le chemin, avec ou sans l'extension, utilisation d'un filtre, etc. Il offre egalement plusieurs autres possibilites. Allez jeter un oeil a

http://www.geocities.com/rictrem/scrutef.html

Il est egalement possible d'executer un traitement a repetition sur des tables differentes d'un meme repertoire en utilisant un generateur de scripts disponible sur ce site. Il suffit d'elaborer le traitement pour une table en utilisant la fenetre mapbasic comme enregistreur de commandes. ScriptGen genere un script que vous lancez ulterieurement dans mapinfo par un workspace ou par la fenetre mapbasic. Les possibilites de cette technique sont surprenantes, dans bien des cas, il n'est pas necessaire de developper d'application mbx.

Salutations
Richard Tremblay

 

#4 Fri 04 April 2003 16:59

Frédéric Renversez
Invité

Re: Travail en serie sur plusieurs tables d'un meme repertoire, avec MapBasic

Bonjour,

Voila qui pourrait etre un bon point d'entree a developper :

http://www.paris-pc-gis.com/mb_r/fs/pag … eNames.htm

Frederic RENVERSEZ
Ingenieur Developpement / SIG
frederic.renversez@texte-a-enlever.i2g.fr
http://www.i2g.fr

 

#5 Fri 04 April 2003 18:49

Pblanc
Invité

Re: Travail en serie sur plusieurs tables d'un meme repertoire, avec MapBasic

Je voulais, dans le cours de l'execution d'un programme MapBasic, produire
une liste des tables stockees sur un repertoire donne.
Merci a tous pour les tres pertinentes reponses, qui se regroupent en 4
categories :

*L'utilisation de la commande Run Program permet de lancer un DIR
*.tab > liste.txt depuis MapBasic, comme j'entendais le faire. Il faut
cependant eviter - et c'est la une contrainte de DOS et non de MapBasic - la
presence de noms de repertoires contenant un .   Je note qu'il est
possible au besoin de regrouper des commandes DOS dans un fichier batch,
puis de l'executer depuis MapBasic.

*L'utilisation de la fonction GetFileNames(), rendue disponible sur
le site Jacques Paris, qui retourne la liste des fichiers dans un repertoire
donne en faisant appel aux fonctions API du Kernel32 de Windows.

*La possibilite, si l'utilisateur selectionne manuellement le nom des
fichiers dans le dialogue propose par FileOpenDlg() de MapBasic, de
recuperer le nom de chacun de ces fichiers.

*L'utilisation d'utilitaires permettant specifiquement la creation de
listes de fichiers. Il resterait cependant a tester leur possible lancement
depuis un programme MapBasic.

Longue vie au forum!

Pierre Blanc
Direction de l'Île-de-Montreal
Ministere des Transports du Quebec

 

Pied de page des forums

Powered by FluxBB