Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: xinyiman - Marzo 26, 2012, 02:50:57 pm

Titolo: Report e barcode
Inserito da: xinyiman - Marzo 26, 2012, 02:50:57 pm
Ciao ragazzi, ho una domanda da farvi. Qualcuno di voi sa come dire a lazreport le dimensioni del report?! Cioè io voglio fare un report alto 10 cm e largo 5 cm da mandare in stampa (stampante cartellini)

oppure

come faccio in fortes report a stabilire le dimensioni del barcode! Perchè non riesco a creare un bacrode di 16 caratteri (che stia dentro il cartellino da 5 cm) di tipo ean128.

Titolo: Re:Report e barcode
Inserito da: xinyiman - Marzo 26, 2012, 05:26:24 pm
Eventualmente come posso trasportare l'immagine contenuta in un TRLBarcode dentro un TRLImage, perchè in teoria così risolverei il problema impostando la proprietà scaled=TRUE e dimensionando l'immagine a mano come preferisco!
Titolo: Re:Report e barcode
Inserito da: nomorelogic - Marzo 26, 2012, 05:38:25 pm
purtroppo non ho esperienza ancora con questi controlli...
hai già controllato se hanno la proprietà canvas (o un device context o qualcosa del genere)?
Titolo: Re:Report e barcode
Inserito da: xinyiman - Marzo 26, 2012, 08:28:23 pm
Si entrambi hanno la proprietà canvas. Perchè?!
Titolo: Re:Report e barcode
Inserito da: xinyiman - Marzo 26, 2012, 10:51:39 pm
ok sono riuscito a copiare l'immagine da un oggetto all'altro. Come faccio a ridimensionare l'immagine in modo che si adatti alle dimensioni dell'oggetto di destinazione?!

Codice: [Seleziona]
unit Unit1; 

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls, RLReport, RLBarcode;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    RLBarcode1: TRLBarcode;
    RLImage1: TRLImage;
    RLReport1: TRLReport;
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormShow(Sender: TObject);
begin
end;

procedure TForm1.Button1Click(Sender: TObject);
var
   r:TRect;
begin
  r:=Rect(0,0,RLBarcode1.Width-1, RLBarcode1.Height-1);
  RLImage1.Canvas.CopyRect(r,RLBarcode1.Canvas,r);
  //RLImage1.Canvas.StretchDraw(RLImage1.Canvas, RLImage1.Picture);
end;

end.
Titolo: Re:Report e barcode
Inserito da: ffabio - Marzo 27, 2012, 10:50:20 am
Ciao xinyiman, dovrebbe esserci una proprità autosize impostata a true .

Titolo: Re:Report e barcode
Inserito da: nomorelogic - Marzo 27, 2012, 11:57:25 am
se non dovesse funzionare con l'autosize, dai un'occhiata qua
http://wiki.lazarus.freepascal.org/Developing_with_Graphics#Using_the_non-native_StretchDraw_from_LazCanvas

Titolo: Re:Report e barcode
Inserito da: xinyiman - Marzo 27, 2012, 03:37:46 pm
Ho risolto! Scompattate i due allegati nella stessa cartella e otterrete il mio progettino! Sempre se volete dargli un occhiata! E' un po macchinoso ma funziona! Grazie comunque a chi mi ha aiutato!