Post Reply 
Custom Text Formatting (Previously: Getting long results in a program)
04-14-2024, 01:22 PM (This post was last modified: 04-14-2024 04:07 PM by Tyann.)
Post: #77
RE: Getting long results in Program
Avez-vous en tête quelque chose de ce genre ?
J'ai tester tous les cas de figure je crois, cela fonctionne.

Do you have something like this in mind?
I've tested every possible scenario, I think, and it works.


Code:
EXPORT ATEXTOUT_P(...l)
BEGIN
 LOCAL d:=SIZE(l),t:=TYPE(l(2)),i,f;
 CASE
  if 2<d<6  OR (d==6  AND t==8) then
   f:=STRING(l);
   f:="TEXTOUT_P("+SUPPRESS(f,{1,DIM(f)});
   EXPR(f);RETURN;
  end;
  if 5<d<10 then  
   IF t≠8 THEN 
    l:=INSERT(l,2,G0);
    d:=d+1;
   END;
   l:=CONCAT(l,SUB({0,320,−1},d-6,3));
  end;
  if d==10  AND t==8 then
  end;
  default
   Err(0);
 END;//CASE
 atextout(l(1),l(2),l(3),l(4),l(5),l(6),l(7),l(8),l(9),l(10));
END;
atextout(s,g,x,y,p,c,a,t,l,f)

BEGIN

EDIT:
Voici une version plus compléte avec le test sur la couleur de fond :

Here is a more complete version with the background color test:
Code:

EXPORT ATEXTOUT_P(...l)
BEGIN
 LOCAL d:=SIZE(l),t:=TYPE(l(2)),i,f;
 CASE
  if 2<d<6  OR (d==6  AND t==8) then
   f:=STRING(l);
   f:="TEXTOUT_P("+SUPPRESS(f,{1,DIM(f)});
   RETURN EXPR(f);
  end;
  if 5<d<10 then  
   IF t≠8 THEN 
    l(−2):=G0;
    d:=d+1;
   END;
   IF d<10 THEN
    l:=CONCAT(l,SUB({0,320,−1},d-6,3));
   ELSE
    IF l(10)<0 THEN Err(2);END;
   END;
  end;
  if d==10  AND t==8 then
   IF l(10)<0 THEN Err(2);END; 
  end;
  default
   Err(0);
 END;//CASE
 atextout(l(1),l(2),l(3),l(4),l(5),l(6),l(7),l(8),l(9),l(10));
END;
atextout(s,g,x,y,p,c,a,t,l,f)
BEGIN

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-14-2024 01:22 PM
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: 69 Guest(s)