Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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 19-12-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.478
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
Debería bastar con añadir al princippio de la función EliminarLinea las siguientes líneas:
Código Delphi [-]
  if (ARow = 0) or (Grid.RowCount = 1) then
    Exit;
Evitas que lo llamen con la línea 0 como parámetro 0 con otro valor pero cuando sólo queda 1.
__________________
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
  #2  
Antiguo 19-12-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Mediante un ejemplo, te agrego otra opción de borrado:
Código Delphi [-]
...

type
  TStringGrid = class(Grids.TStringGrid); // (*)

  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    btnDelete: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btnDeleteRowClick(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  c,r,x: Integer;
begin
  x := 0;
  StringGrid1.Rows[0].CommaText := 'COL1,COL2,COL3,COL4,COL5';
  for r := StringGrid1.FixedRows to StringGrid1.RowCount-1 do
    for c := StringGrid1.FixedCols to StringGrid1.ColCount-1 do
    begin
      StringGrid1.Cells[c,r] := Format('cell %d', [x]);
      Inc(x);
    end;
  StringGrid1.Row:= StringGrid1.RowCount-1; // ir a la última fila
end;

procedure TForm1.btnDeleteRowClick(Sender: TObject);
begin
  if StringGrid1.Row > StringGrid1.FixedRows then
    StringGrid1.DeleteRow(StringGrid1.Row)
  else
    StringGrid1.Rows[1].Text := '';
end;
...
(*) Clase TStringGrid desprotegida para acceder al método protegido DeleteRow ( también podes acceder al método DeleteColumn )

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 20-12-2018
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 15
feliz-58 Va por buen camino
Gracias amigos!
Responder Con Cita
  #4  
Antiguo 23-12-2018
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 15
feliz-58 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Mediante un ejemplo, te agrego otra opción de borrado:
Código Delphi [-]
...

type
  TStringGrid = class(Grids.TStringGrid); // (*)

  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    btnDelete: TButton;
    procedure FormCreate(Sender: TObject);
    procedure btnDeleteRowClick(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  c,r,x: Integer;
begin
  x := 0;
  StringGrid1.Rows[0].CommaText := 'COL1,COL2,COL3,COL4,COL5';
  for r := StringGrid1.FixedRows to StringGrid1.RowCount-1 do
    for c := StringGrid1.FixedCols to StringGrid1.ColCount-1 do
    begin
      StringGrid1.Cells[c,r] := Format('cell %d', [x]);
      Inc(x);
    end;
  StringGrid1.Row:= StringGrid1.RowCount-1; // ir a la última fila
end;

procedure TForm1.btnDeleteRowClick(Sender: TObject);
begin
  if StringGrid1.Row > StringGrid1.FixedRows then
    StringGrid1.DeleteRow(StringGrid1.Row)
  else
    StringGrid1.Rows[1].Text := '';
end;
...
(*) Clase TStringGrid desprotegida para acceder al método protegido DeleteRow ( también podes acceder al método DeleteColumn )

Saludos
Con esto...
Código Delphi [-]
if SG.Row > SG.FixedRows then
   SG.DeleteRow(SG.Row)
  else
    SG.Rows[1].Text := '';

Cuando ya tienes varios articulos, y eliminas el primero, solo limpia la primera linea, es decir "No la elimina" alguna idea de como resolver esto?
Responder Con Cita
  #5  
Antiguo 24-12-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
Empezado por feliz-58 Ver Mensaje
Cuando ya tienes varios articulos, y eliminas el primero, solo limpia la primera linea, es decir "No la elimina" alguna idea de como resolver esto?
Siempre tendrás al menos una línea.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 24-12-2018
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 15
feliz-58 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Siempre tendrás al menos una línea.

Saludos

Me explico, tengo 3 articulos:
---Articulo1---
---Articulo2---
---Articulo3---


si selecciono el primero, y lo "Elimino", solo limpia las celdas, no desplaza todo hacia arriba (Como deberia ser), esto solo pasa cuando hay mas de 1 articulo e intentas "Eliminar" el primero.
Responder Con Cita
  #7  
Antiguo 24-12-2018
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Hay algún motivo por el que no usas un dbgrid?
Creo que te facilitarán las cosas.
Responder Con Cita
  #8  
Antiguo 24-12-2018
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
idem... .

Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Hay algún motivo por el que no usas un dbgrid? Creo que te facilitarán las cosas.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #9  
Antiguo 24-12-2018
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Poder: 15
feliz-58 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Hay algún motivo por el que no usas un dbgrid?
Creo que te facilitarán las cosas.
y guardarlos en una tabla temporal?
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
App Android esta eliminando el folder res, XE5 dison Desarrollo en Delphi para Android 1 14-04-2014 14:48:01
Lanzando, capturando, eliminando sonidos R0M3R0 OOP 4 13-10-2008 21:19:16
Eliminando items en TTimer... [Gunman] OOP 7 02-02-2006 00:17:24
Problemas Eliminando Tablas En Mysql tebyr MySQL 2 20-11-2004 16:21:33
Eliminando contenido de campo Blob Ignacio Firebird e Interbase 1 17-11-2004 23:45:33


La franja horaria es GMT +2. Ahora son las 22:31:52.


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