FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con StringGrid
Saludos a todos!!!
Mi problema es el siguiente, tengo un StringGrid de 8 columnas y 57 filas, al arrancar la aplicacion relleno la primera fila y la primera columna (no he encontrado de hacerlo en diseño), el problema es que cuando relleno las 57 filas desde un array me da error si las caro todas, sin embargo si cargo 20 o menos todo de PM, k puede ser?? llevo todo la mañana liado con esto y no le encuentro solucion, gracias peña!! |
#2
|
|||
|
|||
Me parece raro lo que comentas.
Lo unico que se me ocurre es que hay que tener en cuenta que la 1ª col es la 0 no la uno, si defines 57 la ultima es la 56 y no la 57 |
#3
|
|||
|
|||
Ya se k parece raro pero es asi, lo de la columna 0 ya lo sabia pero de todas formas si cojo y en lugar de poner las 57, pongo 20, sean las k sea, del principio, del final o sueltas no pasa nada, con 30 por ejemplo si.
|
#4
|
|||
|
|||
Supongo que utilizas la propiedad Cells para acceder a cada Columna-Fila.
Quizás si indicas el código podamos detectar dónde da el error.
__________________
Guía de Estilo |
#5
|
|||
|
|||
Simplemente es esto, yo creo k esta bien:
for i:=0 to sgCitas.RowCount-1 do sgCitas.Cells[0,i]:=ArrayHoras[i]; Luego he probado con esto: sgCitas.Cells[0,1]:=ArrayHoras[1]; sgCitas.Cells[0,2]:=ArrayHoras[2]; sgCitas.Cells[0,3]:=ArrayHoras[3]; sgCitas.Cells[0,4]:=ArrayHoras[4]; sgCitas.Cells[0,5]:=ArrayHoras[5]; sgCitas.Cells[0,6]:=ArrayHoras[6]; sgCitas.Cells[0,7]:=ArrayHoras[7]; sgCitas.Cells[0,8]:=ArrayHoras[8]; sgCitas.Cells[0,9]:=ArrayHoras[9]; ....... sgCitas.Cells[0,57]:=ArrayHoras[57]; Si pongo las 57 lineas tb falla pero si pongo solo 20 no |
#6
|
|||
|
|||
Cita:
__________________
Guía de Estilo |
#7
|
|||
|
|||
En principio parece que estas relleneando bien el grid.
¿Has probado si el problema no está en el grid sino en ArrayHoras?
__________________
Siempre Hay Alguien Ke Te Amarga La Existencia Soziedad Alkoholika |
#8
|
|||
|
|||
ponga lo k ponga k sea mayor que 20 falla.
rowcount=57 |
#9
|
||||
|
||||
Mira esta simple prueba y no falla:
Código:
procedure TForm1.Button1Click(Sender: TObject); var I:Integer; begin for I:=0 to StringGrid1.Rowcount - 1 do begin StringGrid1.cells[0,i]:=IntToStr(i); end; end; Un Saludo. |
#10
|
|||
|
|||
Este ejemplo esta probado y funciona
Código:
procedure TForm1.Button1Click(Sender: TObject); var a : array of integer; i : integer; begin SetLength(a, StringGrid1.RowCount); for i := 0 to High(a) do a[i] := i; for i := 0 to StringGrid1.RowCount - 1 do StringGrid1.Cells[0, i] := IntToStr(a[i]); end; * un TStringGrid al que le he puesto RowCount = 60 * una variable de tipo array de integers para hacerlo igual que tu, el cual inicializo en el primer bucle * en el segundo bucle cargo el StringGrid Me funciona sin problemas. Haz un debug a ver donde esta fallando y el tipo de error que te da tambien podria ayudar a solucionarlo |
#11
|
|||
|
|||
Me da este error:
Access violation at address 0044CD3D in module 'PLANING.EXE'. Read for address FFFFFFF0. El array lo defino asi: ArrayHoras : array[1..57] of string = ('08:00','08:15','08:30','08:45','09:00','09:15','09:30','09:45','10:00', '10:15','10:30','10:45','11:00','11:15','11:30','11:45','12:00','12:15', '12:30','12:45','13:00','13:15','13:30','13:45','14:00','14:15','14:30', '14:45','15:00','15:15','15:30','15:45','16:00','16:15','16:30','16:45', '17:00','17:15','17:30','17:45','18:00','18:15','18:30','18:45','19:00', '19:15','19:30','19:45','20:00','20:15','20:30','20:45','21:00','21:15', '21:30','21:45','22:00'); En el grid la propiedad rowcount = 58 y poniendo simplemente for i:=1 to sgCitas.RowCount-1 do sgCitas.Cells[0,i]:=IntToStr(i); ya me falla, no deberia pero no entiendo pk lo hace |
#12
|
|||
|
|||
Acabo de probar esto
Código:
procedure TForm1.Button1Click(Sender: TObject); const ArrayHoras : array[1..57] of string = ('08:00','08:15','08:30','08:45','09:00','09:15','09:30','09:45','10:00', '10:15','10:30','10:45','11:00','11:15','11:30','11:45','12:00','12:15', '12:30','12:45','13:00','13:15','13:30','13:45','14:00','14:15','14:30', '14:45','15:00','15:15','15:30','15:45','16:00','16:15','16:30','16:45', '17:00','17:15','17:30','17:45','18:00','18:15','18:30','18:45','19:00', '19:15','19:30','19:45','20:00','20:15','20:30','20:45','21:00','21:15', '21:30','21:45','22:00'); var i : integer; begin for i := 1 to sgCitas.RowCount - 1 do sgCitas.Cells[0,i] := arrayHoras[i]; end; No podria venir el error por otro lado? |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|