HP Forums

Full Version: Result justified?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello all,

how can i make that result justified.
See at the Picture!

Best Regards
Heino
EXPORT KorTrans()
BEGIN
LOCAL X,Y,φ,Xs,Ys;
RECT_P();

INPUT({{X,[0],{20,15,0}},
{Y,[0],{20,15,1}},
{φ,[0],{20,15,2}}},
"Koordinatentransformation",
{"X [KN]","Y [KN]","φ [°]"},
{"","",""});

Xs:=ROUND((X*COS(φ)-Y*SIN(φ)),2);
Ys:=ROUND((X*SIN(φ)+Y*COS(φ)),2);

TEXTOUT_P(Xs,150,25);
TEXTOUT_P(Ys,150,50);

FREEZE;

END;

Code:
``` EXPORT KorTrans() BEGIN   LOCAL X,Y,φ,Xs,Ys;   local black:=rgb(0,0,0); //  Home variable settings   HAngle:=1;  //  Set angle mode to degrees   HDigits:=2; //  Set Digits to 2   RECT_P();   INPUT({{X,[0],{20,15,0}},         {Y,[0],{20,15,1}},         {φ,[0],{20,15,2}}},         "Koordinatentransformation",         {"X [KN]","Y [KN]","φ [°]"},         {"","",""});   Xs:=ROUND((X*COS(φ)-Y*SIN(φ)),2);  //  Angle mode is degrees   Ys:=ROUND((X*SIN(φ)+Y*COS(φ)),2);   TEXTOUT_P(Xs,150,25);     TEXTOUT_P(Ys,150,50); //  Generate the right side vertical bar   line_p(183,22,183,65);     line_p(184,22,184,65);   line_p(185,22,185,65);   FREEZE; END;```
Hello DrD,

You are right it`s degree.

But I mean:

The output figures should be aligned to the right side, no matter if they have a positive or negative sign.
Which settings have to be changed to achieve that?

Best Regards
Heino
(06-08-2015 09:07 AM)Heino Wrote: [ -> ]Hello DrD,

You are right it`s degree.

But I mean:

The output figures should be aligned to the right side, no matter if they have a positive or negative sign.
Which settings have to be changed to achieve that?

Best Regards
Heino

There is no setting to do that, but you can measure the output first:
Code:
```TEXTOUTR(txt,x,y) BEGIN LOCAL v2,c,b,w,v1;v2:=100;c:=RGB(255,0,0);b:=RGB(255,255,0);w:=RGB(0,255,0); dimgrob_p(G1,v2,1,c);TEXTOUT_P(txt,G1,0,0,0,b,v2,w);FOR v1 FROM 3 TO v2 DO  if GETPIX_P(G1,v1,0)==c then break;END;END;TEXTOUT_P(txt,x-v1,y);END; EXPORT KorTrans() BEGIN   LOCAL X,Y,φ,Xs,Ys;   local black:=rgb(0,0,0);      //  Home variable settings   HAngle:=1;  //  Set angle mode to degrees   HDigits:=2; //  Set Digits to 2      RECT_P();      INPUT({{X,[0],{20,15,0}},   {Y,[0],{20,15,1}},   {φ,[0],{20,15,2}}},   "Koordinatentransformation",   {"X [KN]","Y [KN]","φ [°]"},   {"","",""});      Xs:=ROUND((X*COS(φ)-Y*SIN(φ)),2);  //  Angle mode is degrees   Ys:=ROUND((X*SIN(φ)+Y*COS(φ)),2);         TEXTOUTR(Xs,150,25);   TEXTOUTR(Ys,150,50);      FREEZE; END;```

[attachment=2148]
Hello eried,

this is exactly what i was looking for.
Many Thanks to you and to DrD.

Best Regards Heino
Perhaps you can use the size() to advantage:
Code:
``` EXPORT KorTrans() BEGIN   LOCAL X,Y,φ,Xs,Ys;   local c,d;               // Temps for string converted values   local black:=rgb(0,0,0);      //  Home variable settings   HAngle:=1;  //  Set angle mode to degrees   HDigits:=2; //  Set Digits to 2      RECT_P();      INPUT({{X,[0],{20,15,0}},   {Y,[0],{20,15,1}},   {φ,[0],{20,15,2}}},   "Koordinatentransformation",   {"X [KN]","Y [KN]","φ [°]"},   {"","",""});      Xs:=ROUND((X*COS(φ)-Y*SIN(φ)),2);  //  Angle mode is degrees   Ys:=ROUND((X*SIN(φ)+Y*COS(φ)),2);   c:=string(Xs); d:=string(Ys);    TEXTOUT_P(c,150-4.3*size(c),25);     //  Offset by size of string   TEXTOUT_P(d,150-4.3*size(d),50);         //TEXTOUTR(Xs,150,25);   //TEXTOUTR(Ys,150,50);      FREEZE; END;```
Reference URL's
• HP Forums: https://www.hpmuseum.org/forum/index.php
• :