Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-02-2007
Ricomarz Ricomarz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Ensenada B.C
Posts: 18
Poder: 0
Ricomarz Va por buen camino
Problemas con DBGrid

Hola Buenas Noches para unos y dias para otros ...

Quisiera ver si alguien me puede ayudar con un problema que tengo con el DBGrid, les explico :

Tengo un archivo.txt el cual contiene cierta informacion, la cual obtengo y las asigno a unas variables.

Lo siguiente que he intentado hacer es el de insertar esos datos en un BDGrid pero no mas no puedo .... no se como hacerle jeje .. Bueno como no me salia opte por un ListBox con el cual si logre agregar los datos, pero quiero agregar los datos en un DBGrid tmb ...

Espero puedan ayudarme ...

saludos

P.D="Si pueden mandarme sus sugerencias a mi correo se los agradecere mucho, herectis@hotmail.com "
Responder Con Cita
  #2  
Antiguo 22-02-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Un DbGrid es un control para bases de datos, aunque también puede acceder ficheros de texto, separados por comas, tabulaciones...., me da la impresión que lo que estás buscando es un StringGrid.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 22-02-2007
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: 18.286
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
Siguiendo con lo que comenta Marcos, estaría bien que describieras qué formato tiene el archivo de texto (por si tiene estructura de tabla) y cómo lo quieres almacenar en el DBGrid.

También estaría bien que explicaras cómo lo estás intentando hacer (código).
__________________
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
  #4  
Antiguo 22-02-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Para poder realizar lo que quieres, yo lo hago de la siguiente manera:
- Creo un odbc para ficheros de tipo texto. Te pide el directorio, le indicas los separadores de campos (;,tabulador, ',', ...), y todos los archivos que hay en el directorio los toma como tablas.
- En la aplicación puedes utilizar cualquier motor de bbdd que maneje odbc ( bde, ado, ...)
A partir de ese momento, añades querys, datasets, dbgrids, ... y los tratas como si fueran tablas normales. Tiene alguna limitación obviamente, pero para leer información es más que suficiente. Permite hacer group by, order by, ....

Espero que te sirva de ayuda.

Un saludo
Edito: Como es que un pringao como yo corrijo a marcos y a neftali ??
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #5  
Antiguo 28-02-2007
Ricomarz Ricomarz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Ensenada B.C
Posts: 18
Poder: 0
Ricomarz Va por buen camino
Formato de archivo

Bueno, el formato del archivo esta asi:

Formato Primer Archivo
Cita:
65500614433 0102200702470560IVA COMISION -000000000013200000009859009700000000TOTAL DE MOVS. 000012
65500614433 0102200711080224DEP EN EFECTIV +00000000190610000000987724570000022400000000000031237651
Formato Segundo Archivo

Cita:
0709018000000000000315410780000000000000.000000000000000.000000000001851.100001470592007-01-17ENSENADA 5059EF
0709018000000000000315448200000000000000.000000000000000.000000000001906.100002499502007-01-17RODOLFO 6610EF
Asi es como obtengo los datos que quiero del primer y segundo formato, y los asingo a una variable, para despues agregarlos al dbgrid ...

Código:
procedure Bancomer();
Var
Fichero : TextFile;
Linea,dig,imp,fec,horas: String;
ref,fol,lon,i:integer;
begin
If FileExists ('D:\Proyectos\StandandOn\Caja Permanente\LeerArchivo\bancomer.txt') Then
begin
AssignFile (Fichero,'D:\Proyectos\StandandOn\Caja Permanente\LeerArchivo\bancomer.txt');
Reset (Fichero);
While not Eof(Fichero) Do
Begin
Readln(Fichero,Linea);
 
//Agrego los datos a variables
ref:=StrToInt(Copy(Linea,20,6));
dig:=Copy(Linea,26,2);
imp:=Copy(Linea,69,7);
fol:=StrToInt(Copy(Linea,80,5));
fec:=Copy(Linea,85,10);
horas:= FormatDateTime('hh:mm:ss', Time);
 
//Agrego el contenido de las variables a un ListBox
Form1.ListBox.Items.Add(' '+ IntToStr(Abs(ref)) + ' ' + dig + ' ' + imp + ' ' + IntToStr(Abs(fol)) + ' ' + fec + ' ' + horas);
 
end;
CloseFile (Fichero);
end
Else
Showmessage ('El fichero no existe')
 
end;
Bueno aqui sta la forma en que hago la insercion de los datos al ListBox, pero lo que necesito ahora es agregarlos a un DBGrid, he intentado pero no se como hacerle... Espero puedan ayudarme ... Por que la verdad me urge hacerlo antes del jueves ...

Saludos ...
Ricomarz
Responder Con Cita
  #6  
Antiguo 28-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Para una implementación rápida, te aconsejo un tipo record:
Código Delphi [-]
type TImportado = record
  ref: integer;
  dig:string;
  imp:=string;
  fol:=integer;
  fec:=TDate;
  horas: TTime;
end;
Cuando lees del archivo, en lugar de usar variables sueltas usas un Record de este tipo, y ahora creas un procedimiento que añada un registro a la base de datos:

Supongo que el DBGrid está apuntando a Tabla1.
Código Delphi [-]
procedure AnadeRecord( Datos:TImportado);
begin
   Tabla1.Append;
   tabla1CampoREf.asInteger := datos.ref;
   tabla2CampoDig.asString := datos.dig;
   ....


  Tabla1.Post;
end;
También se puede usar sqls para la inserción, que quizás sea más eficiente, pero esto es lo más rápido de implementar.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 28-02-2007
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
Justo lo que estaba buscando

Hola, justo tengo un problema muy similar. Tengo un archivo de texto separado por tabulaciones y me gustaria mostrarlo en un DBgrid pero no se como hacerlo, sino me equivoco Marcos hace mension a esto pero no explica el como hacerlo. Una vez que tenga el dbgrid cargado con el archivo de texto debo imprimir una especie de ticket con cada elemento que se cargue en la grilla.

Bueno creo que mate dos pajaros de un tiro, espero puedan ayudarme
Responder Con Cita
  #8  
Antiguo 28-02-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Respecto a los archivos que no tienen un caracter que separa los campos, no estoy seguro, pero cuando éstos vienen separados por comas, punto y coma, tabulador, etc, es tal y como lo explico.
Una vez definido el odbc, cada fichero txt se convierte en una tabla, que puede ser manejada vía querys.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #9  
Antiguo 02-03-2007
enriqueangulo enriqueangulo is offline
Registrado
 
Registrado: dic 2006
Posts: 5
Poder: 0
enriqueangulo Va por buen camino
Una gran duda sobre impresion

instale el Queryprint7, y tengo un dbgrid. Mi problema esta que cuando imprimo el dbgrid si lo imprime pero corto, osea le falta parte de una columna.
Si alguno de ustedes me podría ayudar a solucionar esto, les estaría agradecido.
Responder Con Cita
  #10  
Antiguo 02-03-2007
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
Progreso Adelante

Hola, quería comentarles ya logre conectar mi archivo de texto separado con tabulaciones con mi ADOTable pero e aqui que tengo un problemita, va en realidad varios. Primero muestro la forma que tiene mi archivo de texto asi vamos aclarando dudas:
Cita:

-1 784745 1 P-0070 C-004 400 4.1 27.4 5.8 9.3 28.3 363 81.5 72 7.8 5 1 8.1 33 413 1 1 2307 2.1 41 1 A C CN21 1 -115 10651 670627 12 10651 TU 2006 IPC S AG 41-2
Esta es solo una línea del archivo, de este archivo solo necesito me muestre tres columnas que son la segunda, tercera y la nro 25, cada archivo contiene al menos 150 líneas, además hago notar que el archivo no tiene encabezado es decir las columnas tabuladas no contienen rotulo o titulo, si quiero agregar un rotulo a la columna del dbgrid éste no muestra nada (por que??), como puedo hacer un querry para seleccionar solo las columnas que me interesan??.
Y por ultimo y ya para colmar el vaso, quiero lograr imprimir un ticket de cada línea obtenida en una impresora que esta en Red


Vaya no quiero ser abuso pero estoy un poco perdido, espero puedan ayudarme gracias.........
Responder Con Cita
  #11  
Antiguo 02-03-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Creo recordar que para visualizar sólo un par de campos puedes hacer dos cosas:
1.- Si usas un ado table, incluir en el grid sólamente los campos que quieras; ya sabes, boton derecho en el grid y añadir 3 columnas , poniendo el dato Title-Caption ( titulo) que quieras en cada campo.
2.- Si usas un ADOQuery, puedes hacer lo siguiente, teniendo en cuenta que al no haber primer registro de campos, se numeran 1,2,3, y así sucesivamente ( te hablo de memoria )
Código SQL [-]
select [1] as Campo1, [2] as Campo2, [5] as Codigo,  [27] as ZYZ from archivo.txt
Para imprimir, habrás de crear un report con el QReport, una vez creado, imprimirlo.

Espero haberte ayudado.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
Respuesta



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
Problemas con dbgrid Choclito OOP 1 20-12-2004 17:09:36
Problemas Con DBGrid JANDREGUE Varios 2 29-09-2004 16:20:50
Problemas con DBGrid ramonibk MS SQL Server 7 05-07-2004 13:06:11
problemas con el DBGrid aip Conexión con bases de datos 3 27-11-2003 23:02:46


La franja horaria es GMT +2. Ahora son las 18:59:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi