FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Otra vez yo
Gente, he podido avanzar astante... tengo algunos detalles nomas.... (ademas de algunos errores menores que ya voy resolviendo...
1ero.. puedo realizar busquedas bien en el txt con los datos que agrego.. se ve que estono es php, porque ahi yo puedo leer sin problemas lo que escribo a partir de un archivo.. sera el tipo de codificacion??, en fin, mientras pueda escribir y realizar busquedas en el txt no me interesa mucho. 2do.. La verdad que no encuentro como meter los datos del txt en un stringgrid, en esto no tengo ni idea... es una matriz de 4 elementos. 3ro.. como hago una validadcion del tipo siguiente para usar un mismo boton y no tener que agregar uno para cada procedimiento?? Intente algo del tipo: if nuevo1Click.execute = true then begin end if abrir1.click.execute = true then ..... o .action.execute... no recuerdo bien como lohabia hecho.. la cuestion es que no me deja... y se preguntaran porq no lo hago directamente del main menu???...porque el profesor quiere que desde el main seleccione los campos que se habilitan nomas,.... cosas del chango este. Gracias de nuevo... aunque sea por las bardeadas o las criticas me encabronaron - enojaron lo suficiente para que lo haga..jajajaja saludos |
#2
|
||||
|
||||
Cita:
Rejilla[Fila,Columna] = "lo que sea"; 0,0 - 0,1 - 0,2 - 0,3 1,0 - 1,1 - 1,2 - 1,3 2,0 - 2,1 - 2,2 - 2,3 3,0 - 3,1 - 3,2 - 3,3 |
#3
|
|||
|
|||
A ver si me explico mejor
En relacion a CLIENTE es Cliente = Record, yc:CLIENTE...sino entendi mal, sino me salio de casualidad es como asignarlo a c...sino contame que hice jaja.
Con respecto a lo segundo... del stringrid.. peor si e sun while y no se la cantidad de elementos que voy a tener?, porq asi pongo los titulos, eso lo hice, Pero el tema es si hago un while? gracias gente. |
#4
|
||||
|
||||
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; |
#5
|
|||
|
|||
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 |
#6
|
||||
|
||||
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 ]' |
#7
|
|||
|
|||
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. |
#8
|
|||
|
|||
ayuda con esto..no sale
Cita:
grax |
#9
|
|||
|
|||
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; |
#10
|
|||
|
|||
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 |
#11
|
|||
|
|||
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. |
#12
|
|||
|
|||
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 |
#13
|
||||
|
||||
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
|
|
|
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 |
|