Post Reply 
Custom Text Formatting (Previously: Getting long results in a program)
04-07-2024, 06:48 AM
Post: #46
RE: Getting long results in Program
Bonjour komame
Très bon boulot, le coup des 10 arguments ou plus m'est venu après ; par contre le coup des accolades je n'y avais pas pensé.
Effectivement il est dommage que PPL ne permet pas le déclenchement d'erreurs volontairement ( Jeff si tu nous lis ).
Maintenant il faut une nouvelle fonction ATEXTSIZE qui calculera la taille du texte en italique car avec la structure que nous avons mis en place, lorsque une largeur limite n'est pas spécifiée nous la fournissons nous même justement avec TEXTSIZE.
De même si nous fournissons une taille limite> à la taille du texte, TEXTOUT_P prend la taille du texte comme valeur.
Actuellement je décale la copie d'écran de 3 pixels par 3 pixels et la dernière copie s'effectue sur le reste de pixels 1 ou 2.
Selon la taille de la police le nombre de pixels décalés varient et donc la nouvelle taille devra renvoyer cette valeur.
Je vous joint le code, et j'attends vos remarques, conseils et éventuelles corrections.
Je vous joint également un petit code que j'utilise pour les erreurs et qui peut être associé.

Hello komame
Very good work, the idea of 10 arguments or more came to me afterwards; on the other hand, the braces idea hadn't occurred to me.
It's a shame that PPL doesn't allow errors to be triggered voluntarily (Jeff, if you're reading this).
Now we need a new ATEXTSIZE function that will calculate the size of italic text because with the structure we've set up, when a width limit isn't specified we supply it ourselves with TEXTSIZE.
Similarly, if we supply a size limit> for the text size, TEXTOUT_P takes the text size as its value.
I currently offset the screen copy by 3 pixels by 3 pixels and the last copy is made on the remaining 1 or 2 pixels.
Depending on the font size, the number of pixels shifted will vary and so the new size should return this value.
I've attached the code, and I look forward to your comments, advice and any corrections.
I've also attached a little code that I use for errors and that can be linked.

Code:
texti1(s,g,x,y,f,c)
BEGIN
 LOCAL h,i,j:=10,l,d:=3,n,v;
 {'l','h'}:=TEXTSIZE(s,f)+{10,0};
 n:=CEILING(h/3);y:=y+h;
 FOR i FROM 1 TO n DO
  BLIT_P("buffer",j,h-d,l+j,h,g,x,y-d,x+l,y);
  j:=j-1;y:=y-3;h:=h-3;d:=MIN(h,3);
 END;
 TEXTOUT_P(s,"buffer",10,0,f,c);
END;
Code:

Err(n)
BEGIN
 LOCAL l:={};
 CASE
  if n==0 then EXPR("syntaxe"; end;
  if n==1 then UPPER(1); end;
  if n==2 then l(1); end;
  if n==3 then l+{1,2}; end;
  if n==4 then CROSS([1],[1,1]);end;
 END;
END;

Sorry for my english
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Getting long results in Program - Tyann - 04-07-2024 06:48 AM
RE: Custom Text Formatting - Tyann - 04-15-2024, 06:55 PM
RE: Custom Text Formatting - komame - 04-15-2024, 07:42 PM
RE: Custom Text Formatting - Tyann - 04-16-2024, 04:38 AM
RE: Custom Text Formatting - komame - 04-16-2024, 06:02 AM



User(s) browsing this thread: 70 Guest(s)