Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: ceglar - Settembre 28, 2014, 06:24:25 pm

Titolo: Tprinters
Inserito da: ceglar - Settembre 28, 2014, 06:24:25 pm
Salve a tutti

Non se se la domanda è banale o meno, ma sinceramente in questo momento ho un vuoto di memoria ...

Domanda:

E possibile centrare il testo?

Printer.Canvas.TextOut(03*X,04*Y, RSTAM.FieldByName('OG01').AsString);

Grazie in anticipo e sperando che la mia mente vecchia e stanca recuperi un po di lucidità

Titolo: Re:Tprinters
Inserito da: nomorelogic - Settembre 29, 2014, 10:24:55 am
non ricordo bene come si chiama ma da qualche parte c'è una funzione che ti ritorna l'ampiezza del testo una volta renderizzato sul canvas
sapendo l'ampiezza del canvas e quella del testo, il gioco è fatto

appena ho modo provo a guardare tra i metodi di TCanvas
Titolo: Re:Tprinters
Inserito da: ceglar - Ottobre 10, 2014, 09:49:32 am
credo sia questa

..

  TheRect := Rect(10,10,100,100);
  Form1.Canvas.TextRect(TheRect,10,10,'Hello, world!');
  Form1.Canvas.Brush.Color := clBlack;
  Form1.Canvas.FrameRect(TheRect);
Titolo: Re:Tprinters
Inserito da: nomorelogic - Ottobre 10, 2014, 04:47:48 pm
riferimento
http://lazarus-ccr.sourceforge.net/docs/lcl/graphics/tcanvas.html (http://lazarus-ccr.sourceforge.net/docs/lcl/graphics/tcanvas.html)


procedure TextRect(); // Writes Text string within a specified rectangle, according to predefined Style
function TextExtent(); virtual; // TextExtent - returns the total size of the specified text
function TextHeight(); virtual; // TextHeight - returns the height of the specified text
function TextWidth(); virtual; //TextWidth - returns the width of the specified text

TextWidth()
è il metodo che ti interessa
Titolo: Re:Tprinters
Inserito da: ceglar - Ottobre 12, 2014, 06:08:27 pm
Credo proprio che sia quello che cercavo

Grazie Mille

Anche perchè, da quello che sono riuscito a capire ci sono delle differenze (parlo in linea generale di Tprinters) tra Delphi e Lazarus ... O No?
Titolo: Re:Tprinters
Inserito da: nomorelogic - Ottobre 13, 2014, 06:15:45 pm
Teoricamente non dovrebbero esserci differenza ma, in tutta onestà, non ho mai approfondito :)