Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-05-2004
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 21
@-Soft Va por buen camino
Unhappy agregar registros a un fichero txt

hola


necesito insertar registros a un fichero plano procedente de otro fichero plano, esta es la estructura del fichero:

0000001,A,20
0000001,T,50
0000002,A,12
0000002,T,14

donde 0000001 viene siendo un codigo de un producto, A ó T son la ubicacion de dicho producto (Tienda - Almacen) y lo final es la cantidad del mismo en las distintas ubicaciones.

bueno, donde quiero llegar es a lo siguiente, suponiendo que se quiere agregar el codigo 0000001 que existe en otro fichero, en este caso solo tendria que agregar la cantidad de acuerdo a su ubicacion y sumarla Ej.

0000001,A,20 en caso de que en otro fichero exista 30 solo tendria que sumarle 20+30 = 50 y quedaria de esta forma:

0000001,A,50 y este es el resultado, es decir, se actualizo la cantidad pero no se duplico el registro 0000001,A,20, me explico

que no se duplique

0000001,A,20
0000001,T,50
0000001,A,30 <----- registro duplicado
0000002,A,12
0000002,T,14

lo correcto

0000001,A,50 <---- se sumo la cantidad
0000001,T,50
0000002,A,12
0000002,T,14

pero de lo contrario, es decir, si no existe pues lo agrega al final del fichero.

es un poco complicado y es por esto que he recorrido a vuestra ayuda. si no he sido claro no dudeis en preguntar.

Manejo el Fichero con ADO+ODBC+Delphi6.

Salu2
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #2  
Antiguo 04-05-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

¿ Y que es lo que quieres saber exactamente ?. ¿ Como manejar archivos de texto ?, ¿ Como buscar duplicados ?, ...

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 04-05-2004
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 21
@-Soft Va por buen camino
Lightbulb

hola

bueno me imagino que se debe lanzar una consulta que determine si el registro existe y sumarle la cantidad o de lo contrario agregarlo pero yo nunca he manejado fichero plano y no se como hacerlo y es por esto que necesito una idea clara de ustedes que acumulan una basta experiencia y me propongan una solucion a dicho inconveniente, el proposito de esto es actualizar un fichero ya existente con otro fichero que tiene datos pero no todos y es por esto que no he tomado la opcion de reemplazar el fichero ya que si no tiene todos lo campos no me servira de nada.


Salu2
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #4  
Antiguo 04-05-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Para manejar archivos planos, te recomiendo que utilizes un TStringList (consulta la ayuda de Delphi).

Mediante el método LoadFromFile, podrás cargarle los datos en el arhivo de texto, y mediante la propiedad Strings, podrás acceder a cada una de las filas, tan facilmente como si se tratará de una matriz.

Para detectar si en un fichero existe un elemento, yo simplemente haria un recorrido de todas las filas del Fichero. Como lo vas a hacer en memória (en el TStringList), será muy rápido.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #5  
Antiguo 05-05-2004
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 21
@-Soft Va por buen camino
hola

bueno, pero necesito por lo menos un pequeñisimo ejemplillo que servira como punto de partida para armar la estructura del codigo necesario para poder hacer lo que se me ha propuesto, no obstante crees que pueda ser posible hacer esto por medio de una consulta bien condicionada, ya sabes if esto entonces aquello etc.

Salu2
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #6  
Antiguo 05-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
el código es muy sencillo. Cargas el texto en un TStringList (con LoadFromFile). Con un ciclo vas recorriendo uno a uno los registros... hasta encontrar el adecuado... entonces extraes la cantidad, le sumas el valor adecuado, y rehaces la línea. Si el ciclo llega a su fin sin encontrarlo.. entonces insertas un registro nuevo.

Si el volumen de datos es alto, será mejor mantener la lista ordenada e implementar un algoritmo de busqueda binaria. Al no existir, insertar la nueva línea en el StringList en la posición adecuada para no perder el orden.

hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 05-05-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Además de lo que comenta Juan Antonio, puedes encontrar ejemplos, tal como es habitual, en la propia ayuda de Delphi.

Escribe TStringList, y pulsa F1 encima. Entrarás en la ayuda del StringList. Entra en el enlace "See also" y en "Working with string lists" tienes todos los ejemplos que te puedan hacer falta : carga de un archivo de texto, recorrido, manipulación, grabación en un archivo, ...

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
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


La franja horaria es GMT +2. Ahora son las 00:14:20.


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