Custom Text Formatting (Previously: Getting long results in a program)
|
04-06-2024, 06:50 AM
Post: #41
|
|||
|
|||
RE: Getting long results in Program
Bonjour komame
Voici une piste de réflexion que j'ai eu hier, en regardant vôtre code et en analysant vos remarques. Pour moi de 3 à 5 arguments nous n'avons rien d'autre à faire que d'appeler TEXTOUT_P (qui lui même teste si Gx est transmis ou pas), mais vous semblez en désaccord sur ce point ? Avec 6 éléments si Gx est transmis c'est TEXTOUT_P? sinon c'est nôtre fonction car le paramètre 6 sera les attributs. Si nous prenons une fonction de base avec une liste variable comme vôtre code. TEXT_P( ...l) et que nous testons la taille de la liste de 3 à 5 -> TEXTOUT_P, à 6 teste de l(2) si TYPE=8 -> TEXTOUT_P. Sinon nous construisons l'appel de la fonction locale dans une chaîne et utilisons EXPR(). Nous n'avons donc à écrire que 2 fonctions locales identiques avec 8 et 9 paramètres et nous mettrons les paramètres 7 et 8 par défaut si besoin. Car le paramètre 9 ( couleur de recouvrement) ne peut pas avoir une valeur par défaut, pour suivre la syntaxe de TEXTOUT_P, alors que si j'ai bien compris dans vôtre code vous semblez transmettre -1 pour la transparence. Soit il est transmis et nous sommes en recouvrement, soit il est absent et nous sommes en transparence. Hello komame Here's a thought I had yesterday, looking at your code and analysing your comments. For me, with 3 to 5 arguments we have nothing to do but call TEXTOUT_P (which itself tests whether Gx is transmitted or not), but you seem to disagree on this point? With 6 elements, if Gx is transmitted it's TEXTOUT_P? otherwise it's our function because parameter 6 will be the attributes. If we take a basic function with a variable list like your code. TEXT_P( ...l) and we test the size of the list from 3 to 5 -> TEXTOUT_P, to 6 test of l(2) if TYPE=8 -> TEXTOUT_P. Otherwise we construct the local function call in a string and use EXPR(). So we only have to write 2 identical local functions with 8 and 9 parameters and we'll default to parameters 7 and 8 if we need to. Because parameter 9 (overlay colour) can't have a default value, to follow the syntax of TEXTOUT_P, whereas if I've understood your code correctly you seem to be transmitting your code correctly, you seem to be transmitting -1 for transparency. Either it's passed and we're in overlay, or it's absent and we're in transparency. Translated with DeepL.com (free version) Sorry for my english |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 70 Guest(s)