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

GEODATA DAYS 2024

#1 Thu 29 May 2008 17:15

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Ajout texte dans TAB en masse

Bonjour,

Je souhaiterais traiter toute une série de tables situées dans des répertoires pour les mettre en lecture seule;

Je compte rajouter, à la fin de chaque tab, la mention "readonly" pour les verrouiller.

Je pensais utiliser l'outil "RemplaceVite" sur le contenu des fichiers pour lui demander de rajouter la mention en fin de fichier mais il n'a l'air de faire que du remplacement de chaîne existante.
Comment lui dire, sur tous les fichiers d'un répertoire, de simplement ajouter un chaîne de caractères?

et comment lui spécifier de faire la manip uniquement sur des extensions TAB?

Merci d'avance.

Céc_92

NB: J'ai bien fait une recherche sur les forums mais je n'ai pas obtenu de réponse à cette demande précise...

Hors ligne

 

#2 Thu 29 May 2008 18:14

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

Bonjour
C'est plus compliqué que ça...
C'est Set Table ma_table ReadOnly qu'il faut ajouter en fin du fichier ma_table.TAB
Donc la mention du nom de la table change à chaque fois sad
Donc il faut développer un outil (en Mapbasic si ç'est exécuté depuis MI, ou en n'importe quoi si on lance un exécutable Windows)

Hors ligne

 

#3 Fri 30 May 2008 09:45

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Pourtant j'ai fait des tests sur des tables avec simplement la mention "readonly" et ça marche!??? Si, si, je vous assure...

Hors ligne

 

#4 Fri 30 May 2008 10:11

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

Super...j'en apprend tous les jours big_smile
Mais le problème reste entier: à moins de trouver un utilitaire d'ajout (pas de remplacement...), il faudra un "petit" mbx
J'ai un truc adaptable assez rapidement...la semaine prochaine smile

Hors ligne

 

#5 Fri 30 May 2008 10:20

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

"Remplacevite" n'est-il pas capable de rajouter une chaîne de caractères à la fin du TAB, au lieu de remplacer une autre chaîne de caractères??

Sinon, je viens de me rendre compte d'un autre truc; Il y a parfois des métadonnées écrites dans le TAB (je ne sais pas d'où elles sortent):

begin_metadata
"\IsReadOnly" = "FALSE"
"\DefaultStyles" = ""
"\DefaultStyles\Symbol" = ""
"\DefaultStyles\Symbol\Type" = "0"
"\DefaultStyles\Symbol\Pointsize" = "12"
"\DefaultStyles\Symbol\Color" = "0"
"\DefaultStyles\Symbol\Code" = "35"
"\DefaultStyles\LinePen" = ""
"\DefaultStyles\LinePen\LineWidth" = "1"
"\DefaultStyles\LinePen\LineStyle" = "0"
"\DefaultStyles\LinePen\Color" = "0"
"\DefaultStyles\LinePen\Pattern" = "2"
"\DefaultStyles\Pen" = ""
"\DefaultStyles\Pen\LineWidth" = "1"
"\DefaultStyles\Pen\LineStyle" = "0"
"\DefaultStyles\Pen\Color" = "255"
"\DefaultStyles\Pen\Pattern" = "2"
"\DefaultStyles\Brush" = ""
"\DefaultStyles\Brush\Pattern" = "1"
"\DefaultStyles\Brush\Forecolor" = "0"
"\DefaultStyles\Brush\Backcolor" = "16777215"
end_metadata

Or, dans ces métadonnées, il y a la mention "\IsReadOnly" = "FALSE" qui annule la mention "Readonly" que je rajoute... La tuile!

Sinon, je suis bien sûr fort intérressée par un petit outil maison!

Merci d'avance.

Céc_92

Hors ligne

 

#6 Fri 30 May 2008 10:31

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

C'est le style par défaut (pour MI >= 8.5)
On peut passer le "\IsReadOnly" = "FALSE" à "\IsReadOnly" = "TRUE" pour voir si le "Readonly" rajouté redevient actif ...??
Si ce style par défaut ne vous est pas utile, mon p'tit outil peut prévoir de le flinguer smile

Hors ligne

 

#7 Fri 30 May 2008 10:36

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Sinon je peux aussi faire un manip de plus avec RemplaceVite en lui disant de remplacer la chaîne de caractères "\IsReadOnly" = "FALSE" en "\IsReadOnly" = "TRUE" comme ça il ne m'embête plus, s'il existe dans le TAB.

Hors ligne

 

#8 Fri 30 May 2008 11:00

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

A tester...quelles sont les conséquences de ce "\IsReadOnly" = "FALSE" sur le fonctionnement des metadata et surtout sur le ReadOnly final (s'il reste nécessaire)
Et ceux des TAB qui n'ont pas de metadata ??

[EDIT] la "vraie" question porte sur "\IsReadOnly" = "FALSE" ...et pas TRUE comme dit en V1 du post sad

Hors ligne

 

#9 Fri 30 May 2008 11:21

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Il écrase fonctionnellement le "ReadOnly" que je rajoute à la fin, d'où la nécessité de le mettre en "TRUE". Par contre, je ne sais pas ce qu'il induit sur les autres métadata.

Hors ligne

 

#10 Fri 30 May 2008 12:40

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

J'ai fourché: mon post portait sur "\IsReadOnly" = "FALSE" (le TRUE passé à FALSE dans les metadata)

Hors ligne

 

#11 Fri 30 May 2008 14:07

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Quand il est FALSE, la table n'est plus verrouillée, et TRUE elle est verrouillée; et ça prend le pas sur la mention "readonly" ajoutée à la fin il me semble.

Hors ligne

 

#12 Mon 02 June 2008 13:08

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

Après test: lorsqu'il y a ces metadata avec un "\IsReadOnly" = "FALSE" ...rien à faire pour rendre la rable ReadOnly
La seule solution est alors de mettre ReadOnly AVANT les metadata ET de passer à "\IsReadOnly" = "TRUE"
Sans metadata, le ReadOnly en fin de TAB suffit...
Je bidouillerai mon mbx dans ce sens...bientôt !

Hors ligne

 

#13 Mon 02 June 2008 14:05

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

OK! Merci pour votre aide; de mon côté, je vais voir ce que je peux bidouiller avec RemplaceVite.

Céc_92

Hors ligne

 

#14 Wed 25 June 2008 12:11

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Bonjour Maurice,

Je reviens sur ce sujet pour savoir si vous avez pu réfléchir à un petit MBX pour faire ces manips?

Merci d'avance.

Hors ligne

 

#15 Wed 25 June 2008 13:21

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

Bonjour
J'ai eu d'autres urgences...mais j'y reviens (promis smile)

Hors ligne

 

#16 Wed 25 June 2008 13:23

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Super! Je patiente, alors!

Hors ligne

 

#17 Wed 25 June 2008 13:32

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

Idée: pour occuper ton attente (!) tu peux tester cette "vieille chose" (de l'éditeur disparu: SpatialPlus) et qui s'appelle SearchPlus ...

Hors ligne

 

#18 Wed 25 June 2008 13:40

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

OK, merci!
En fait, avec RemplaceVite je pourrais presque faire ce que je veux (en plusieurs étapes) sauf ajouter un texte à la fin dans le corps du fichier...
Donc, je furète.

Hors ligne

 

#19 Wed 25 June 2008 13:59

nicoboud
Membre
Lieu: Nantes
Date d'inscription: 12 Oct 2007
Messages: 860

Re: Ajout texte dans TAB en masse

Bonjour,

Pour ajouter du texte à la fin, et en série, avec un outil tel que ScheachPlus (je suppose que Remplacevite fait la même chose mais je ne le connais pas), il suffit de chercher une chaine de caractère et de la remplacer par cette même chaine additionnée du texte voulu. exemple : la fin du fichier comporte "trucmuche", on cherche "trucmuche" et on le remplace par "trucmuche machinchose".

C'est une idée qui fonctionne, mais je ne sais pas si elle est adaptée à votre cas.

Nicolas.

PS : après avoir relu la totalité du sujet, je précise que searchplus permet de faire des chercher-remplacer uniquement sur des fichiers .TAB situé dans un répertoire donné (et aussi .WOR, .TXT, ...)

Dernière modification par Nicolas Boudesseul (Wed 25 June 2008 14:05)


Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS

Hors ligne

 

#20 Wed 25 June 2008 14:01

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Merci pour la suggestion, mais le problème c'est que les fichiers à modifier en masse ne se terminenet pas tous avec le même texte...

RemplaceVite ne permet pas de rajouter du texte simplement à la fin.

Je n'ai pas encore testé SearchPlus.

Hors ligne

 

#21 Wed 25 June 2008 14:13

nicoboud
Membre
Lieu: Nantes
Date d'inscription: 12 Oct 2007
Messages: 860

Re: Ajout texte dans TAB en masse

Je viens de voir que SearchPlus permet de rajouter du texte à la fin du code (ou au début si on veut).  [ce qui rend ma 1ière suggestion caduque... wink]

Il faut mettre "{EOF}" dans la partie recherche (ou {BOF}pour le début).

Dernière modification par Nicolas Boudesseul (Wed 25 June 2008 14:20)


Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS

Hors ligne

 

#22 Wed 25 June 2008 14:20

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Oui, je viens de voir ça, mais je ne comprends pas bien ce que ça veut dire...

Si on part de mon exemple:
Je veux ajouter le texte readonly à la fin de tout les fichiers .TAB contenus dans un répertoire (dans le corps du fichier).
Que dois-je inscrire dans les parties Search for et Replace with?

Hors ligne

 

#23 Wed 25 June 2008 14:23

nicoboud
Membre
Lieu: Nantes
Date d'inscription: 12 Oct 2007
Messages: 860

Re: Ajout texte dans TAB en masse

donc il faut mettre

{EOF} dans Search for

et readonly dans Replace with

et ne pas oublier de spécifier les bons types de fichier (.TAB) à modifier... dans filter

Dernière modification par Nicolas Boudesseul (Wed 25 June 2008 14:24)


Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS

Hors ligne

 

#24 Wed 25 June 2008 14:37

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Génial! ça fonctionne très bien; je pense que je vais me servir de Search Plus et faire les 2 etapes: ajout de Readonly et remplacement de "\IsReadOnly" = "FALSE" par "\IsReadOnly" = "TRUE"

Hors ligne

 

#25 Wed 25 June 2008 14:44

nicoboud
Membre
Lieu: Nantes
Date d'inscription: 12 Oct 2007
Messages: 860

Re: Ajout texte dans TAB en masse

les deux peuvent se faire en une seule fois : searchplus le permet autant de fois qu'il y a de lignes dans la partie Search & Replace Details


Co-modérateur du forum Mapinfo
Utilisateur Mapinfo et QGIS

Hors ligne

 

#26 Wed 25 June 2008 14:46

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Ajout texte dans TAB en masse

C'était donc une bonne piste (qui me dispense de développement smile) ... mais il me semble qu'on avait vu que pour que ça marche en cas de metadata il fallait que le Readonly soit avant les metadata, au sein desquelles il faut aussi passer le  "\IsReadOnly" à "TRUE" !
C'est vrai et tu sais le faire avec SearchPlus ??

Hors ligne

 

#27 Wed 25 June 2008 14:49

cec_92
Participant assidu
Date d'inscription: 28 Feb 2008
Messages: 193

Re: Ajout texte dans TAB en masse

Ca marche également si le readonly est à la fin... Donc c'est tout bon!

Merci Maurice pour la piste Searchplus et Nicolas pour la manipulation de l'utilitaire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB