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 09 December 2010 12:23

ebiseau
Participant actif
Date d'inscription: 6 Sep 2010
Messages: 98

Supprimer une ligne text à l'aide de map basic

Bonjour,

J'ai créé un mbx qui fait tout un tas de chose dont créer une ligne texte dans une mise en page.
Le problème est que lorsque je relance ce MBX la nouvelle ligne texte se superpose à l'ancienne etc.

Je souhaiterai donc une sorte de réinitialisation de cette ligne texte à chaque lancement du mbx. C'est à dire pouvoir écrire en mbx "sélectionne cette ligne et supprime là"

Comment dois je procéder ?

Merci d'avance pour vos aides :-)

Hors ligne

 

#2 Thu 09 December 2010 15:45

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

Re: Supprimer une ligne text à l'aide de map basic

Bonjour
Vous avez MapBasic ?? Sinon c'est impossible...
Si oui, il a déjà été évoqué ici que les mises en page sont vues comme des sortes de tables dont les lignes sont les éléments de la mise en page, dans l'ordre de leur création. On peut donc "pointer" sur chacun par un Fetch...

Hors ligne

 

#3 Thu 09 December 2010 16:29

ebiseau
Participant actif
Date d'inscription: 6 Sep 2010
Messages: 98

Re: Supprimer une ligne text à l'aide de map basic

Bonjour,

j'ai map basic, via fecth je vais trouver la ligne à supprimer... Une fois que j'ai déterminé le numéro de ligne, comment je la supprime ?

Cordialement

Hors ligne

 

#4 Thu 09 December 2010 16:57

jean94
Participant assidu
Date d'inscription: 13 Aug 2009
Messages: 436

Re: Supprimer une ligne text à l'aide de map basic

Bonjour,

Voici le code dans le guide de référence anglais page 379

Dim str As String
Open File "original.txt" For Input As #1
Open File "copy.txt" For Output As #2
Do While Not EOF(1)
Line Input #1, str
If Not EOF(1) Then
Print #2, str
End If


Il va toujours chercher la ligne entière et à chaque loop...la ligne suivante.
Donc il suffit d'ajouter une condition if...pour vérifier si c'est bien la ligne à supprimer et si oui tu la remplace par "" si non continue la boucle.

JF

Dernière modification par jean94 (Thu 09 December 2010 16:58)

Hors ligne

 

#5 Thu 09 December 2010 17:02

ebiseau
Participant actif
Date d'inscription: 6 Sep 2010
Messages: 98

Re: Supprimer une ligne text à l'aide de map basic

Merci,

j'avoue que je ne comprends pas une seule ligne du code, mais bon cela peut arriver ;-)

Pourquoi ouvrir des fichiers txt ? N'y a t'il pas plus simple genre indiquer de se mettre à telle ligne avec fetch puis écrire delete line (une fonction de ce genre) ?

Hors ligne

 

#6 Thu 09 December 2010 17:33

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

Re: Supprimer une ligne text à l'aide de map basic

Le code évoqué par jean94 n'a en effet rien à voir...
Je ne suis pas sûr mais je crois qu'on peut utiliser Delete (avec Object ?)
Je pense que ce problème a été évoqué sur le forum -> une recherche s'impose...

Hors ligne

 

Pied de page des forums

Powered by FluxBB