| Comment sélectionner du texte automatiquement ? | |
|
|
Auteur | Message |
---|
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 10:41 | |
| Bonjour.
Je suis nouveau ici, et créant un petit utilitaire à partir de Panoramic, je me posais la question suivante :
Sachant que pour envoyer du texte dans le Presse-papiers, il faut utiliser un Memo et que le texte à "copier" doit-être sélectionné, existe-il une commande qui permettrait de sélectionner un texte (le contenu complet en fait ->Ctrl-A) de ce Memo ?
En effet, mon utilitaire créera un script qui, correctement assemblé, pourras ensuite être "Collé" dans le texte d'une page web en cours d'élaboration.
J'utilise donc la commande clipboard_copy depuis un Memo.
Il est dit dans l'aide que le texte à copier doit-être Sélectionné.
Comment donc "sélectionner automatiquement" le texte complet se trouvant dans un Memo ? | |
|
| |
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Ven 12 Mar 2010 - 15:13 | |
| L'utilisateur peut sélectionner du texte en glissant dessus pour le mettre en surbrillance, il peut aussi sélectionner tout en cliquant à droite. Mais à ma connaissance, le programmateur ne peut pas prévoir une sélection automatique, jusqu'à ce que Jack (c'est le dieu des panoramiciens) nous ponde un super memo. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 15:24 | |
| Eh oui, ça a déjà été demandé, de pouvoir copier un texte dans le clipboard sans que l'utilisateur soit obligé de le sélectionner... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 18:39 | |
| Bonsoir, Il y a une solution très simple si tu veux prendre le contenu du mémo en entier, comme si l'on avait frappé ctrl/A. Tu peux simplement faire - Code:
-
dim s$ s$ = text$(n) ' n = numéro du mémo
Ta variable va contenir le mémo complèt et tu peux en faire ce que tu veux, par exemple l'ajouter à un autre mémo: - Code:
-
item_add(m,s$) ' m = numéro du second mémo
Bien entendu, tu peux en faire ce que tu veux comme avec n'importe quel string, et en particulier le mettre là où tu l'aurais mis avec CLIPBOARD_PASTE... Je te mets un petit programme démo. Prends-le par copier/coller pour l'éxécuter dans l'éditeur; il illustre le procédé: - Code:
-
label copier,eff_1,eff_2 dim s$ memo 1 top 1,10 left 1,10 memo 2 top 2,10 left 2,250 button 3 top 3,50 left 3,210 width 3,30 caption 3,"==>" on_click 3,copier button 4 top 4,120 left 4,40 caption 4,"Effacer source" on_click 4,eff_1 button 5 top 5,120 left 5,290 caption 5,"Effacer destination" on_click 5,eff_2 alpha 6 top 6,180 left 6,10 caption 6,"Tapez votre texte dans le mémo de gauche, puis ==>" end
copier: s$ = text$(1) message s$ item_add 2,s$ return
eff_1: clear 1 return
eff_2: clear 2 return
Bonne chance Klaus | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 18:45 | |
| Je ne pensais pas au clipboard_paste mais plutôt au clipboard_copy. J'imaginais un programme Panoramic appelé qui veut renvoyer un résultat texte (par exemple un chemin de fichier, ou autre) dans le clipboard. Bien sûr on peut toujours passer par un fichier, mais c'est plus long, et il faut gérer le fichier. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 19:23 | |
| Il est vrai que pour le moment, on ne peut pas sélectionner tout ou partie du texte d'un mémo par programme. Cela est peut-être possible par une routine dans une DLL (à écrire); je vais y réfléchir. | |
|
| |
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: +++ Ven 12 Mar 2010 - 20:23 | |
| C'est assez extraordinaire, ce que tu viens de démontrer là, klaus ! En effet, quand on examine la bible des panoramiciens (manuel de référence pour les pro des pro) à MEMO, il n'est pas précisé que le text$(n) fonctionne avec cet objet système-là et à text$(n), il est précisé que cela ne fonctionne qu'avec un edit et un combo et que sinon, c'est erreur ! Tu as fait une découverte ! | |
|
| |
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Victoire : C'est quasiment résolu ! Ven 12 Mar 2010 - 20:58 | |
| Re bonsoir. Je vais mieux m'expliquer : Je voulais générer un texte (un script html en fait...) et ce dans un objet invisible (éventuellement un mémo invisible) et l'envoyer dans le presse papier pour le coller ensuite dans le texte d'une page html en cours de fabrication. J'ai trouvé l'astuce : Microsoft possède un petit utilitaire venant de Win3000 je crois qui s'appel : clip.exe dans celui-ci on transmet par Pipe le texte à envoyer dans le presse-papiers. par exemple, on à un texte "texte.txt" et on veux l'avoir dans le presse-papier. la syntaxe est de la forme : texte.txt | clip ou texte.txt < clipLa première formule ne semble pas marcher dans un fichier BAT (*.bat) par contre la deuxième oui. c'est donc ce que j'ai utilisé. je génère mon texte, je l'enregistre dans le fichier texte.txt. puis je crée un fichier batch (clipboard.bat) contenant la ligne : texte.txt < clip . et donc, j'utilise ensuite la commande Paronamic : execute "clipboard.bat" et Victoire !!!, je me retrouve avec mon texte dans le presse-papiers voici l'URL ou j'ai trouvé ça (clip.exe et son explication): http://www.generation-nt.com/copier-le-resultat-d-une-commande-dans-le-presse-papiers-astuce-24638-1.htmlIl semble que le programme soit offert, alors n'hésitez pas. Une question se pose : Pourrais-on incorporer clip.exe (26 ko) dans une aplication Panoramic pour éviter de devois se le trimballer avec à chaque fois que l'on a besoin du programme panoramic crée ? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 21:16 | |
| Elle est super, ta solution avec CLIP.EXE ! Merci pour l'astuce.
Je suis en train de réfléchir à une solution dans Panoramic; je te tiendrai au courant.
Cordialement Klaus | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 21:19 | |
| C'est une solution, mais là encore il faut d'abord écrire le texte dans un fichier puis passer le fichier au presse-papier (puis effacer le fichier ?), ce qui est quand même un peu plus lourd que si on avait une instruction qui copierait directement le texte dans le PP, du genre CLIPBOARD = a$.
(en attendant j'utilise également clip.exe depuis bien longtemps. Mais pour moi ce n'est pas un produit Windows).
Quant à incorporer un exe dans un exécutable Panoramic, à ma connaissance ce n'est pas possible, comment on le lancerait ? | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 21:19 | |
| Klaus, on s'est croisés... Je me demande si la syntaxe de CLIP.exe n'a pas changé, j'avais eu un problème avec une version plus récente et j'ai repris une version plus ancienne, où il suffit de faire: CLIP Fichier.txt -> copie Fichier.txt dans le presse-papier CLIP Fichier.ext /r -> copie le presse-papier dans Fichier.ext (valable uniquement pour du texte). Rectificatif: on peut aussi envoyer un bmp dans le clipboard: CLIP Fichier.bmp L'inverse... je sais pas, ce n'est pas précisé, à tester. Apparemment la récupération du clipboard ne marche que pour du texte. Une image est ignorée.
J'ai téléchargé le lien donné par vicmac, effectivement ce n'est pas le même CLIP que le mien, malgré qu'ils aient le même nom, qu'ils fassent à peu près la même longueur, et je trouve le mien plus facile à exécuter (par EXECUTE, pas besoin de .bat), voir ci-dessus. Si ça intéressait quelqu'un je le copierais quelque part. | |
|
| |
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 22:49 | |
| Bonsoir tout les deux.
J'ai envoyé une contribution dans le dossier : vos sources et vos utilitaires...
ma contribution s'intitule : Création d'un script image pour page web.
J'aimerais bien votre avis. D'ac ? | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 22:52 | |
| J'ai aperçu, mais comme c'est bien copieux (en plus en double interligne, ça rallonge...) on verra ça... pas avant demain ! Bonne nuit ! | |
|
| |
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 23:03 | |
| Oui, désolé, j'ai fait un collé depuis le bloc note et ça m'a généré ça. J'aurais du vérifier...
MeaCulpa Ouf Ouf | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 23:08 | |
| Bonsoir,
Je suis sur une piste pour le "copier" vers le presse-papier; j'aurai bientôt une version opérationnelle et exploitable ! Un peu de patience... | |
|
| |
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Re: Comment sélectionner du texte automatiquement ? Ven 12 Mar 2010 - 23:38 | |
| Ok Merci Klaus.
Fait-tu parti des programmeurs de Panoramic ?
Si c'est oui, n'hésite pas à critiquer ma contribution. C'est en corrigeant ses erreurs que l'on apprend à mon avis.
A Bientôt. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment sélectionner du texte automatiquement ? Sam 13 Mar 2010 - 0:53 | |
| Bon soir, Vicmac, Non, je ne fais pas partie des concepteurs de Panoramic. Si tu regardes mon profil, tu verras que je ne suis membre du forum que depuis peu. Mais je suis un informaticien de la vielle école, avec des dizaines d'années d'expérience, dans tous les domaines, et avec beaucoup de langages et systèmes différents, ce qui me donne un regard un peu différent sur les problématiques de la programmation. Et non, ne ne vais surtout pas critiquer tes contributions ! Le but est justement que tout le monde s'éclate tout en apprenant quelque chose ! Et tu vois, moi aussi, j'ai appris quelque chose de toi: je ne connaissais pas le programme "clip" ! Et maintenant, le plus important: j'ai réussi à faire dans Panoramic ce que tu souhaites: copier par programme le contenu d'un mémo dans le presse-papier de Windows, sans aucune intervention au clavier de l'utilisateur ! Pour cela, j'ai fait un petit programme test dans lequel on remplit un mémo, puis on clique sur un bouton - le texte apparaît en surligné et est copié dans le presse-papier. La preuve: il suffit de cliquer dans un autre mémo (ou le même d'ailleurs ou tout autre champ texte d'une autre application Windows)) et d'y faire control/V pour voir le texte apparître comme par magie ! Tu peux tout trouver sur mon site: http://membres.multimania.fr/klaus/Bienvenue.1.htmlSur ce site, je mets à disposition des Panoramiciens tous les modules et programmes que je développe spécifiquement pour ce cercle. N'hésite pas - c'est libre et gratuit, et je suis reconnaissant pour tout commentaire ! Comme pour chaque programme sur ce site, le programme de mise en Presse-Papier a sa page de documentation sur le site, et le source téléchargeable contient une documentation technique suffisante pour utiliser les 4 (oui, QUATRE) lignes de code nécessaires pour réaliser l'opération ! Alors, amuse-toi bien ! Et maintenant, je vais me coucher - il est tard ! Bonne nuit à tous les Panoramiciens noctambules Klaus | |
|
| |
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Re: Comment sélectionner du texte automatiquement ? Sam 13 Mar 2010 - 10:06 | |
| Bonjour Klaus. J'ai essayé ton programme mais j'ai quelques problèmes avec son utilisation. Je t'explique : Déjà, je souhaitait utiliser un objet système invisible. En effet, la génération final du script ne devait pas apparaitre au yeux de l'utilisateur, pour une histoire d'éstétique du programme d'une part et pour éviter que celui-ci ne soit modifié et donc, la génération du script assemblé devais être faite en tâche de fond en somme. Et malheureusement, dans ton cas par exemple, l'envoi du presse papier ne peux pas fonctionner sur un objet invisible (Hide) J'avais essayé en rajoutant les lignes suivante à ton sources : - Code:
-
button 4 top 4,190 left 4,20 width 4,150 caption 4,"Cacher le mémo 1" on_click 4,cacher
pour créer un bouton visant à cacher le mémo. La routine cacher étant simplement : - Code:
-
cacher: hide 1 return
En plus, ta DLL fait 126k alors que clip.exe ne fait que 26 ko. je sais c'est des broutilles mais bon ça compte quand même. L'idéal aurais été que la dll soit incorporée à l'application générée. or, il ne semble pas que ce soit le cas. Mais sur un mémo visible, ta solution marche en effet parfaitement c'est clair. En ce qui concerne mon fichier batch attaché, je l'ai tout bonnement crée à partire du programme lui-même. J'ai en effet fait ceci : 1 - Création du batch en début de programme : - Code:
-
' On a besoin d'un fichier batch d'une seule ligne ' Le fichier clipboard.bat auras pour seule ligne -> "pip < script_test.txt"
item_add 8,"pip < script_test.txt" file_save 8,"clipboard.bat"
2 - Puis au moment choisi, exécution de celui-ci (le fichier batch !): - Code:
-
execute "clipboard.bat"
Ce qui me permet de ne devoir donner que deux fichiers (création du script.exe et clip.exe) pour que l'utilitaire fonctionne parfaitement. Surtout pour quelqu'un qui n'as pas comme nous de bonnes connaissance en info. Tu me comprend maintenant ? A plus. | |
|
| |
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Re: Comment sélectionner du texte automatiquement ? Sam 13 Mar 2010 - 10:14 | |
| Re-moi.
Gloups, mon utilitaire à un petit défaut : Dans celui-ci, il vas chercher le nom du fichier image en tenant compte de 8 caractères pour le nom. Malheureusement, je viens de me rendre compte que les images libres trouvées on parfois des nom comme "fd_image_test.jpg" ou "sb10063511ak-001.jpg". Et donc ça ne marche plus.
Je vais remédier à ça.
A plus... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comment sélectionner du texte automatiquement ? Sam 13 Mar 2010 - 12:02 | |
| Salut, Vicmac, Effectivement, si tu mets ton mémo invisible, ça ne peut plus marcher. Mais il y a une solution: au lieu de le rendre invisible, cache-le sour un autre objet. Tu peux le rendre tout petit. Modifie mon programme test_clipboard dela manière suivante: - Code:
-
memo 1 top 1,40 left 1,250 width 1,10 height 1,10 item_add 1,"aaaaaaaaaa" item_add 1,"bbbbbbb"
tu vois que je le cache en fait derrière mon mémo 3 (destination). Il reste donc invisible aux yeux de l'utilisateur, sans être en état "invisible" pour Panoramic. Afin de tester, j'ai chargé 2 lignes dans le mémo 1 par item_add. Clqie simplement sur le bouton "copier" - rien ne se passe en apparence. Clique ensuite dans le mémo "destination", puis fais control/V: et voilà ! Donc: ça marche à condition de placer un autre objet par dessus le mémo, qui peut être tout petit. Il faut un autre vrai objet - un "alpha" ne marche pas pour cacher le mémo ! | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment sélectionner du texte automatiquement ? Sam 13 Mar 2010 - 14:27 | |
| @vicmac Il y a aussi la solution d'intégrer clip.exe (ou n'importe quel exécutable ou fichier binaire) dans ton source sous forme de datas en hexa. Dans le programme, lecture des datas, création du .exe provisoire, exécution, puis suppression. https://panoramic.1fr1.net/vos-sources-vos-utilitaires-a-partager-f2/conversion-d-un-fichier-binaire-en-lignes-de-datas-t564.htmMais ce n'est valable que pour de tous petits programmes, because l'hexa tient deux fois plus de place que le binaire et ça devient vite monstrueux. Je ne dis pas que c'est une solution idéale, mais c'est une possibilité parmi d'autres, pour éviter d'avoir à distribuer plusieurs fichiers. | |
|
| |
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Re: Comment sélectionner du texte automatiquement ? Dim 14 Mar 2010 - 0:09 | |
| Oui JL35 j'avais pensé à cette solution. Mais bien qu'il ne soit pas trop gros, 26k de DATA... Gloupss. Ca fait quant même lourd à gérer.
Qui sont les créateurs de Panoramic ? vous le savez ?. Ce serais cool de pouvoir leur en parler non ?
A plus... | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comment sélectionner du texte automatiquement ? Dim 14 Mar 2010 - 1:42 | |
| Le créateur c'est Jack, qui est à l'écoute en permanence, tu peux t'adresser à lui directement dans la rubrique 'Vos souhaits etc.' | |
|
| |
vicmac
Nombre de messages : 34 Age : 65 Localisation : Banlieue de Lyon Date d'inscription : 12/03/2010
| Sujet: Re: Comment sélectionner du texte automatiquement ? Dim 14 Mar 2010 - 1:50 | |
| Ha ok. Merci JL35.
Tu as vu, j'ai posté de nouveau mon source mis à jour. Ca devais aller mieux maintenant. Le problème du copier du source est dur à gérer. J'ai du mal à couper certaine lignes. Si ça coince toujours, je t'enverrais le source en zip.
A plus.. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Comment sélectionner du texte automatiquement ? | |
| |
|
| |
| Comment sélectionner du texte automatiquement ? | |
|