Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2006
CamiloU CamiloU is offline
Miembro
 
Registrado: dic 2005
Ubicación: Sincelejo - COlombia
Posts: 59
Poder: 21
CamiloU Va por buen camino
En la declaración de variables de la Form tengo lo siguiente:
B, R: TRect;

Sin embargo, segui el consejo y me genero el siguiente error:
[Error] ComPago_DetalleACD.pas(389): There is no overloaded version of 'Rect' that can be called with these arguments.

Me podrian dar una ayuda. Muchas Gracias.
Responder Con Cita
  #2  
Antiguo 02-06-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
ARect, perdón. Debes usar el que viene como parámetro.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 02-06-2006
CamiloU CamiloU is offline
Miembro
 
Registrado: dic 2005
Ubicación: Sincelejo - COlombia
Posts: 59
Poder: 21
CamiloU Va por buen camino
No me funciona.

Presento todo el proceso. En el primer procedimiento recorro la Tabla Nomina y lleno los StringGrid (Ingresos y Descuentos) de acuerdo al tipo. Después estan los procedimientos de alineacion, pero no hace nada.

Antes de estos procedimientos es necesario realizar alguna declaración o algun paso anterior.

Código Delphi [-]
procedure TComPagoDetalleACD.MPerSelect(Sender: TObject);
var
  i, suming, sumegr : integer;
begin
  for i := 0 to Ingresos.RowCount do
      Ingresos.Rows[i].Clear;
  for i := 0 to Descuentos.RowCount do
      Descuentos.Rows[i].Clear;
  SuelDocente.Clear;
  DescDocente.Clear;
  NetoRecibido.Clear;
  pmes := MPer.Text;
  pper := concat(pmes,'/',pano);
  TNomina.First;
  cont1 := 0;
  cont2 := 0;
  suming := 0;
  sumegr := 0;
  while (Not TNomina.Eof) do
    begin
      if (TNomina.FieldByName('cedula').AsString = ceddocente) and
         (TNomina.FieldByName('periodo').AsString = pper) then
        begin
          if TNomina.FieldByName('clase').AsString = 'D' then
            begin
              Ingresos.Cells[0,cont1] := TNomina.FieldByName('codigo').AsString;
              Ingresos.Cells[1,cont1] := TNomina.FieldByName('factor').AsString;
              suming := suming + strtoint(TNomina.FieldByName('valor').AsString);
              Ingresos.Cells[2,cont1] := TNomina.FieldByName('valor').AsString;
              cont1 := cont1 + 1;
            end;
          if TNomina.FieldByName('clase').AsString = 'C' then
            begin
              Descuentos.Cells[0,cont2] := TNomina.FieldByName('codigo').AsString;
              Descuentos.Cells[1,cont2] := TNomina.FieldByName('factor').AsString;
              sumegr := sumegr + strtoint(TNomina.FieldByName('valor').AsString);
              Descuentos.Cells[2,cont2] := TNomina.FieldByName('valor').AsString;
              cont2 := cont2 + 1;
            end
        end;
      TNomina.Next;
    end;
  SuelDocente.Text := inttostr(suming);
  DescDocente.Text := inttostr(sumegr);
  NetoRecibido.Text := inttostr(suming - sumegr);
end;

procedure TComPagoDetalleACD.IngresosDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  if ACol = 0 then
      Display(Ingresos, Ingresos.Cells[ACol,ARow], taCenter);
  if ACol = 2 then
      Display(Ingresos, Ingresos.Cells[ACol,ARow], taRightJustify);
end;

procedure TComPagoDetalleACD.WriteText(StringGrid: TStringGrid; ACanvas: TCanvas; const ARect: TRect;
     const Text: string; Format: Word);
const
  DX = 2;
  DY = 2;
var
  S: array[0..255] of Char;
begin
  with StringGrid, ACanvas, ARect do
    begin
      case Format of
          DT_LEFT: ExtTextOut(Handle, Left + DX, Top + DY,
             ETO_OPAQUE or ETO_CLIPPED, @ARect, StrPCopy(S, Text), Length(Text), nil);
          DT_RIGHT: ExtTextOut(Handle, Right - TextWidth(Text) - 3, Top + DY,
             ETO_OPAQUE or ETO_CLIPPED, @ARect, StrPCopy(S, Text),
             Length(Text), nil);
          DT_CENTER: ExtTextOut(Handle, Left + (Right - Left - TextWidth(Text)) div 2,
             Top + DY, ETO_OPAQUE or ETO_CLIPPED, @ARect,
             StrPCopy(S, Text), Length(Text), nil);
      end;
    end;
end;

procedure TComPagoDetalleACD.Display(StringGrid: TStringGrid; const S: string; Alignment: TAlignment);
const
  Formats: array[TAlignment] of Word = (DT_LEFT, DT_RIGHT, DT_CENTER);
begin
  WriteText(StringGrid, StringGrid.Canvas, ARect, S, Formats[Alignment]);
end;

Muchas gracias y peronen por tanta molestadera.
Responder Con Cita
  #4  
Antiguo 03-06-2006
CamiloU CamiloU is offline
Miembro
 
Registrado: dic 2005
Ubicación: Sincelejo - COlombia
Posts: 59
Poder: 21
CamiloU Va por buen camino
Queria comentarles que encontre en la red otro procedimiento y me funciono a la perfección. Anexo el código para la persona que lo necesite.

Otra cosa. Muchas gracias a las personas que me colaboraron, especialmente Neftaly, por el interes y la paciencia.

Código Delphi [-]
procedure TComPagoDetalleACD.IngresosDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  Grid : TStringGrid;
  Texto : String;
begin
  Grid := TStringGrid(Sender);
  Grid.Canvas.FillRect(Rect);
  Texto := Grid.Cells[ACol,ARow];
  if ACol = 0 then DrawText(Grid.Canvas.Handle, PChar(Texto), StrLen(PChar(Texto)), Rect, DT_CENTER);
  if ACol = 1 then DrawText(Grid.Canvas.Handle, PChar(Texto), StrLen(PChar(Texto)), Rect, DT_LEFT);
  if ACol = 2 then DrawText(Grid.Canvas.Handle, PChar(Texto), StrLen(PChar(Texto)), Rect, DT_RIGHT);
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
alineacion de un memo Choclito Varios 5 02-05-2006 08:24:46
StringGrid, colores y alineación Alexander Varios 5 17-11-2005 01:15:11
Alineación en Edit rbeltran Varios 1 28-01-2005 17:01:11
Alineación de controles roman OOP 9 24-08-2004 00:00:57
alineacion de 2 StringGrid miguel_fr OOP 6 17-06-2004 15:50:09


La franja horaria es GMT +2. Ahora son las 16:25:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi