#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
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
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
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
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
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 )
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... ]
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 ) ... 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