Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-03-2012
kirios kirios is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 27
Poder: 0
kirios Va por buen camino
Comparar Lineas de un Memo con un texto

Hola!
Mi idea es la siguiente, tengo que hacer una especie de control de ventas, e ir anotando cuánto se vendió de cada producto. Al final del programita, tengo un memo en el que aparece lo que se compra en el momento, de la siguiente manera

1 producto A
2 producto B
1 producto C

etc...

y eso se tendria que guardar en un archivo de texto. Lo que yo intente es hacerlo con la funcion Append, pero no me gusto porque me queda una tira larga de productos vendidos, muchas veces repetidos. Entonces, lo que necesitaria es que se lea la primer linea del memo, se compare con todas las lineas del archivo de texto, y si encuentra una igual, que solo cambie el número de la izquierda. Con la funcion copy, pos, etc puedo seleccionar solamente el nombre del producto y comparar desde ahi, el problema esta cuando quiero pasar a la segunda linea del memo. Es decir, leer la SEGUNDA linea del memo, compararla con todas las lineas del texto, etc...

Alguna idea? graciasss
Responder Con Cita
  #2  
Antiguo 21-03-2012
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Poder: 17
look Va camino a la fama
Cita:
Empezado por kirios Ver Mensaje
Hola!
Mi idea es la siguiente, tengo que hacer una especie de control de ventas, e ir anotando cuánto se vendió de cada producto. Al final del programita, tengo un memo en el que aparece lo que se compra en el momento, de la siguiente manera

1 producto A
2 producto B
1 producto C

etc...

y eso se tendria que guardar en un archivo de texto. Lo que yo intente es hacerlo con la funcion Append, pero no me gusto porque me queda una tira larga de productos vendidos, muchas veces repetidos. Entonces, lo que necesitaria es que se lea la primer linea del memo, se compare con todas las lineas del archivo de texto, y si encuentra una igual, que solo cambie el número de la izquierda. Con la funcion copy, pos, etc puedo seleccionar solamente el nombre del producto y comparar desde ahi, el problema esta cuando quiero pasar a la segunda linea del memo. Es decir, leer la SEGUNDA linea del memo, compararla con todas las lineas del texto, etc...

Alguna idea? graciasss
y porque no solo haces todo eso en una tabla temporal y al final limpias el memo y lo vuelves a cargar con los datos de la tabla cada vez que se actualice la info
__________________
all your base are belong to us
Responder Con Cita
  #3  
Antiguo 21-03-2012
kirios kirios is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 27
Poder: 0
kirios Va por buen camino
Cita:
Empezado por look Ver Mensaje
y porque no solo haces todo eso en una tabla temporal y al final limpias el memo y lo vuelves a cargar con los datos de la tabla cada vez que se actualice la info
Ya tengo todo el programa hecho, no lo puedo modificar ahora...Si tenes alguna idea de cómo resolverlo de esa manera, te agradeceria. Pense hacerlo con dos ciclos for anidados, uno que recorra las lineas del memo y otro las lineas del texto. pero no hay un una propiedad tipo MEMO.LINES[i]... o si? esa es mi duda
Responder Con Cita
  #4  
Antiguo 21-03-2012
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por kirios Ver Mensaje
Pense hacerlo con dos ciclos for anidados, uno que recorra las lineas del memo y otro las lineas del texto. pero no hay un una propiedad tipo MEMO.LINES[i]... o si? esa es mi duda
Hola kirios, si existe esa propiedad, puedes recuperar tu archivo en un StringList y utilizar dos ciclos anidados como dices.

Código Delphi [-]
//ejemplo de recorrer Memo linea a linea
 for i:=0 to memo.Lines.Count-1 do
  showmessage(memo.Lines[i]);

//ejemplo del StringList
var
 sl : TStringList;
begin
 sl := TStringList.Create;
 //recuperamos el archivo en el StringList
 sl.LoadFromFile('c:\archivo.txt');

 for i:=0 to sl.Count-1 do
  showmessage(sl[i]);

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 21-03-2012
kirios kirios is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 27
Poder: 0
kirios Va por buen camino
Cita:
Empezado por Caro Ver Mensaje
Hola kirios, si existe esa propiedad, puedes recuperar tu archivo en un StringList y utilizar dos ciclos anidados como dices.

Código Delphi [-]
//ejemplo de recorrer Memo linea a linea
 for i:=0 to memo.Lines.Count-1 do
  showmessage(memo.Lines[i]);

//ejemplo del StringList
var
 sl : TStringList;
begin
 sl := TStringList.Create;
 //recuperamos el archivo en el StringList
 sl.LoadFromFile('c:\archivo.txt');

 for i:=0 to sl.Count-1 do
  showmessage(sl[i]);

Saluditos
oooo genial, no sabia que existia esa propiedad. Muuuuchas gracias!
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
sumar lineas de memo marareta OOP 5 24-08-2010 02:26:03
Lineas en campo memo erasmorc OOP 7 28-08-2008 06:58:31
Obtener posicion de Texto en un Memo (fila de texto) JuanErasmo Varios 2 26-06-2007 22:47:41
Leer varios archivos de texto y extraer solo 2 lineas de ese texto mp3968 Internet 1 17-05-2007 20:24:09
sobrear lineas de un memo morfeo21 Varios 3 26-06-2003 22:23:30


La franja horaria es GMT +2. Ahora son las 19:37:23.


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