![]() |
![]() |
| Paypal | 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
|
||||
|
||||
|
Deberías explicar cómo lo lees, qué haces, ¿lees línea a línea del fichero de texto y luego debes poner los datos leídos en el grid, no?, si es así, sólo debes de crearte por ejemplo un par de variables para fila y columna y hacer el bucle:
Pones los títulos en la fila 0, luego: Más o menos así, es que no sé cómo lo tienes implementado, pero la idea es esta: Código:
fila:=1; columna:0; Cliente.first; while not cliente.eof do begin rejilla[fila,columna] := c.nombre; inc(columna); rejilla[fila,columna] := c.apellidos; ... ... cliente.next; inc(fila): end;
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
ta muy bueno lo que me decis..
Esta muy buena la forma en que me decis de hacerlo, pero como que definis fila y columna... te muestro el desastre que tengo hecho hasta aho desde la unit 2 donde estan los procedimientos para la otra unit:
NI falta que me digas que debe tener errores, voy emparchando mas o menos porq lo tengo que terminar hoy si osi porq mañana laburo, asi que nada...lo hago como puedo... la proxima ya ira mejor imagino. gracias por todo viejo. Última edición por rgstuamigo fecha: 09-03-2010 a las 14:35:50. Razón: Estética en el código |
|
#3
|
||||
|
||||
|
Por favor, pon el código entre etiquetas code, así es complicado leerlo
![]() [code ] ... tu código ... [/code ] sin el espacio que he dejado entre el 'e ]'
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Perdon, soy nuevo en el foro
Ahi va de nuevo el codigo...toy buescando como hacer lo que me dijiste..
Código:
unit Unit2;
interface
uses Dialogs, StdCtrls, SysUtils, Grids;
type
Cliente = Record
Apellido, nombres: string[20];
DNI, saldo: double;
end;
TArchivo = class
private
Archi:File of Cliente;
datos: Cliente;
Ver: TStringGrid;
public
procedure CrearArchivo(ArchiFisico:string);
procedure AbrirArchivo(ArchiFisico:string);
procedure AgregarCliente(c:Cliente;var b:byte);
procedure GuardarArchivo(ArchiFisico:string);
procedure EliminarCliente(var h:longint; e10: string);
procedure CerrarArchivo;
function Buscar_X_DNI(var h:longint; var c:Cliente):boolean;
procedure MostrarLista(var ver:TStringGrid);
end;
implementation
procedure TArchivo.CrearArchivo;
begin
AssignFile(Archi,ArchiFisico);
Rewrite(Archi);
end;
procedure TArchivo.AbrirArchivo(ArchiFisico:string);
begin
AssignFile(Archi,ArchiFisico);
Reset(Archi)
end;
procedure TArchivo.AgregarCliente(c:Cliente;var b:byte);
begin
{$I-}
Seek(Archi, FileSize(archi));
{$I+};
b:=IOResult;
If b=0 then
Write(Archi, c);
end;
procedure TArchivo.GuardarArchivo(ArchiFisico:string);
begin
AssignFile(Archi,ArchiFisico);
Rewrite(Archi);
end;
procedure TArchivo.EliminarCliente(var h:longint; e10: string);
var
aux: file of Cliente;
begin
assignfile(aux,'temp.dat');
{$I-}
reset(archi);
rewrite(aux);
{$I+}
if ioresult<>0 then
showmessage('Error en Archivo')
else
Begin
while not eof (archi) do begin
read(archi,datos);
if datos.dni <> h then
write(aux,datos);
end;
closefile (archi);
closefile(aux);
erase(Archi);
if not
RenameFile('temp.dat', e10)
then
Showmessage('Error renombrando Archivos!');
end;
Showmessage ('Se eliminó correctamente el Cliente con DNI'+ inttostr(h));
end;
procedure TArchivo.CerrarArchivo;
begin
if IOresult = 0 then
begin
closefile(Archi);
end
end;
function TArchivo.Buscar_X_DNI(var h:longint;var c: Cliente):boolean;
begin
reset(archi);
while not eof (archi) do
begin
read(archi, c);
if c.dni = h then
begin
Result := True;
Exit;
end;
end;
// Cliente no encontrado
Result := False;
end;
procedure TArchivo.MostrarLista(var ver:TStringGrid);
var fila, columna: integer;
begin
Reset(Archi);
fila:=1;
columna:=0;
while not EOF do
begin
datos.first;
ver.Cells[fila,columna] := datos.nombres;
inc(columna);
ver.Cells[fila,columna] := datos.Apellido;
archi.datos.next;
inc(fila):
end;
end;
showmessage('El Archivo esta vacio');
exit;
end;
end;
end.
|
|
#5
|
|||
|
|||
|
ayuda con esto..no sale
Cita:
grax |
|
#6
|
|||
|
|||
|
ya casi esta
lo resolvi asi... no se si es la mejor manera, pero es la que pense
Código:
procedure TArchivo.MostrarLista(var ver:TStringGrid);
var fila, columna,i: integer; d1,d2: word; d3, d4: real;
begin
if IOresult<> 0 then
begin
showmessage('El Archivo esta vacio');
exit;
end;
ver.Cells[0,0]:='Nombre';
ver.Cells[1,0]:='Apellido';
ver.Cells[2,0]:='DNI';
ver.Cells[3,0]:='Saldo';
while not eof(archi) do begin
read(archi, datos);
columna:=0;
for fila:=1 to 3 do
ver.Cells[columna,fila] := datos.nombres;
inc(columna);
for fila:=1 to 3 do
ver.Cells[columna,fila] := datos.Apellido;
inc(columna);
for fila:=1 to 3 do
ver.Cells[columna,fila] := FloatToStr(datos.DNI);
inc(columna);
for fila:=1 to 3 do
ver.Cells[columna,fila] := FloatToStr(datos.saldo);
inc(columna);
end;
end;
|
|
#7
|
|||
|
|||
|
ultima ayuda constringgrid y validacion
gente les pido un ultimo favor... faltando 3horas para irme a trabajr y ocon la intencion de dormir al menos dos apelo a su buena voluntad..
necesito limpiar un stringrid al seleccionar para ejecutar otra consulta y ver la nueva. segundo asunto, necesito validar uno de los campos para ver si es un valor negativo o positivo. hasta aca es donde llegue: Código:
procedure TArchivo.MostrarListaPositivos(var ver:TStringGrid);
var fila, columna,i: integer;
begin
if IOresult<> 0 then
begin
showmessage('El Archivo esta vacio');
exit;
end;
ver.Refresh;
ver.Cells[0,0]:='Nombre';
ver.Cells[1,0]:='Apellido';
ver.Cells[2,0]:='DNI';
ver.Cells[3,0]:='Saldo';
fila:=1;
columna:=0;
while not eof(archi) do
begin
read(archi, datos);
ver.Cells[columna,fila] := datos.nombres;
ver.Cells[1,fila] := datos.Apellido;
ver.Cells[2,fila] := FloatToStr(datos.DNI);
ver.Cells[3,fila] := FloatToStr(datos.saldo);
inc(fila);
end;
end;
gracias, cualquier aporte sera mas que agradecido |
|
#8
|
|||
|
|||
|
Para validar si uno de los campos es positivo o negativo, usa algo así
Para limpiar el StringGrid fiajate si te sirve esto: Saludos! Última edición por BrunoBsso fecha: 08-03-2010 a las 16:25:01. |
|
#9
|
|||
|
|||
|
fin de tema
No se de donde se cierra el tema...pero finalmente salio...les agradezco y espero devolver las ayudas que me han dado en algun momento.
saludos |
|
#10
|
|||
|
|||
|
Creo que los temas no los cerramos los usuarios, sino que los cierran los moderadores/administradores.
Por otro lado, me alegro que se haya solucionado tu problema (aunque mi aporte fue tardío y bastante simple comparado con otros). Saludos! |
|
#11
|
||||
|
||||
|
Nos alegra muchísimo que lo hayas conseguido, finalmente no ha sido tan difícil, es cuestión de echarle ganas y tiempo
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#12
|
||||
|
||||
|
No sé si será que tu profesor quiere que trabajes así
, pero te cuento que en delphi existen componentes que te permiten hacer exactamente eso que pretender hacer sin codificar casi nada. .Si te interesa puedes avisar para poder explicarte. .Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ayuda con este codigo | kurono | Varios | 4 | 13-06-2008 01:03:29 |
| Ayuda con este código que me dejaron | LAFALOFO | Varios | 7 | 14-09-2006 20:50:26 |
| una ayuda con este error please | dariana20 | SQL | 3 | 14-06-2006 23:14:06 |
| Ayuda con este error???? | danytorres | Varios | 1 | 27-10-2004 11:38:09 |
| Me ayuda alguien con este msg de error? | NaZZ | Varios | 4 | 12-03-2004 09:31:25 |
|