Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
Pages: 1
- Sujet précédent - Travail en serie sur plusieurs tables d'un meme repertoire, avec MapBasic - Sujet suivant
#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@ 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@ 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
Pages: 1
- Sujet précédent - Travail en serie sur plusieurs tables d'un meme repertoire, avec MapBasic - Sujet suivant