Se que puede parecer un tostón este hilo, pero estamos hablando de miles de lineas y conceptos que no se pueden dejar de lados, aparte de eso, como creo que nos pasa a todos, vamos mejorando métodos y el código, o corrigiendo errores según vamos avanzando, así que no me queda otro remedio sino ir poniendo los diferentes cambios
Vamos ahora con artículos
Como siempre la imagen
Como podéis ver no pongo la pestaña facturado, ya que aún no tenemos preparado la facturación y como en todos el código que llevo puesto, no pondré el código de impresión, por que al tener múltiples operadores a la hora de imprimir, que cada uno use y diseñe el que le gusta.
El código
https://gist.github.com/anonymous/5743472
Funciones usada de mi archivo fun_dbgrid.pas
Código Delphi
[-]
function GridImagen(Grid:TDBGrid; Campo:TField; Rect:TRect; Column:TColumn; State:TGridDrawState):Boolean;
begin
if Column.Field = Campo then
begin
if not (gdSelected in State) then Grid.Canvas.FillRect(Rect); with TPicture.Create do
begin
Assign(Campo);
Grid.Canvas.StretchDraw(Rect,Bitmap); Free;
end;
Result:=True;
end else Result:=False;
end;
function MemoGridB(Grid:TDBGrid; Campo:TField; Rect:TRect; Column:TColumn; State:TGridDrawState):Boolean;
var FixRect:TRect;
begin
fixRect:=Rect; Dec(fixRect.Bottom,2);
if Column.Field=Campo then
begin
if not (gdSelected in State) then
Grid.Canvas.FillRect(Rect);
DrawText(Grid.Canvas.Handle,pchar(Campo.AsString), length(campo.AsString),fixRect,DT_WORDBREAK);
Result:=True;
end else Result:=False;
end;