Ver Mensaje Individual
  #2  
Antiguo 05-07-2006
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Reputación: 21
fer21unmsm Va por buen camino
Cita:
Empezado por zvf
Hola!!

Yo nunca he utilizado un string grid, y no puedo llenarlo de datos, siempre me aparece un access violation.

Tengo lo siguiente:
Código Delphi [-] var i, j:Integer; Str:String; TS:TStrings; begin //LLENO STRING GRID Form1.StringGrid1.Cells[0,0]:='1'; Form1.StringGrid1.Cells[1,0]:='1'; Form1.StringGrid1.Cells[2,0]:='1'; Form1.StringGrid1.Cells[3,0]:='1'; Form1.StringGrid1.Cells[4,0]:='1'; // Inicializamos // initialize Str := ''; // Para cada línea de las selecciondas // for selected lines for i := (Form1.StringGrid1.Selection.Top) to (Form1.StringGrid1.Selection.Bottom) do begin /////y comienza el codigo para realizar lo que se tiene que hacer con las filas seleccionadas del StringGrid1


GRACIAS!!
Hola zvh, creo que el error de access violation puede deberse a lo siguiente:

Has creado los objetos por ejmeplo
Código Delphi [-]
   TS:=TStrings.Create;

Segundo para poder agregar datos a tu StringGrid tienes que aumentar la propiedad RowCount Ejemplo:

Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin

StringGrid1.ColCount:=4;
StringGrid1.RowCount:=2; //si en RowCount siempre tiene que ser mayor que FixedRows, lo mismo sucede con ColCount y FixedCols

//cabeceras
StringGrid1.FixedRows:=1; //indica que la primera fila va a contener las cabeceras de cada columna
StringGrid1.FixedCols:=0; 

//Hay que recordar que del 0-3 hay 4 columnas
StringGrid1.Cells[0,0]:= 'Nombre';
StringGrid1.Cells[1,0]:= 'Apellido';
StringGrid1.Cells[2,0]:= 'Edad';
StringGrid1.Cells[3,0]:= 'Telefono';

//Si queremos llenar la grilla con datos se hace lo siguiente por ejemplo

for i:=1 to 10 do
begin
  StringGrid1.Cells[0,i]:= 'dato1';  //"i" significa la fila de la celda 
  StringGrid1.Cells[1,i]:= 'dato2';
  StringGrid1.Cells[2,i]:= 'dato3';
  StringGrid1.Cells[3,i]:= 'dato4';
  StringGrid1.RowCount:=StringGrid1.RowCount+1; //agregamos una fila más
end;
//al final de este ciclo nos quedará una fila en blanco, pero puedes cambiarlo si no lo deseas.
end;

Saludos.
Responder Con Cita