Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   ¿Cómo modifico una linea de un Memo? (https://www.clubdelphi.com/foros/showthread.php?t=78567)

ErYcK 30-04-2012 12:37:20

¿Cómo modifico una linea de un Memo?
 
Buenas, soy nuevo en esto, mi problema es que pretendo meter en un memo los datos de una base de datos de productos que esta relacionada con otra de caracteristicas, el problema es que se como meter en una linea del memo todos los datos que tengo en productos pero no se como meter en la misma linea las caracteristicas si las tiene, lo que tengo es esto:

Código Delphi [-]
        Memo2->Clear();
        Memo3->Clear();
        if(SaveDialog1->Execute())
        {

       
Memo2->Lines->Add("REFERENCIA;ESTADO;CATEGORIA;SUBCAT1;SUBCAT2;SUBCAT3;PRODUCTO;KEY;MARCA;DESCRIPCION;FOTOS (separadas por , );CATEGORIAS;CATEGORIAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"); XDatos->QProductos->First(); int cont=1; while (!XDatos->QProductos->Eof) { Memo2->Lines[cont] = XDatos->QProductosREFERENCIA->Value+";"+ XDatos->QProductosESTADO->Value; while (!XDatos->QCaracteristicas->Eof) { if (XDatos->QProductosREFERENCIA->Value == XDatos->QCaracteristicasNuevoref->Value) Memo2->Lines[cont] = XDatos->QCaracteristicasCARACTERISTICA->Value+";;"); else Memo2->Lines[cont] = ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;"); } XDatos->QProductos->Next(); }div>

El tema es que no puedo añadir datos en la linea que yo elija, la única forma que veo de añadir datos al Memo es con Memo2->Lines->Add(); pero de esta forma cada vez que añado sera una linea nueva y no podría meter las caracteristicas en la misma linea.

No se si me he expresado bien, si se les ocurre algo les estaría muy agradecido, muchas gracias

ecfisa 30-04-2012 17:52:57

Hola ErYcK.

Proba de este modo:
Código:

void AddStrToMemoLine(TMemo *m, AnsiString str, int lin)
{
  if (lin >= 0 && lin < m->Lines->Count)
    m->Lines->Strings[lin] = m->Lines->Strings[lin] + str;
}


Saludos.

ErYcK 30-04-2012 18:01:05

Gracias
 
Me ha ayudado mucho esa idea, he terminado metiendo los campos de la primera tabla en una variable tipo String y despues si la referencia es la misma le voy añadiendo caracteristicas a la variable para por ultimo hacer el Memo2->Lines->Add(variable);

He conseguido mi proposito, muchas gracias


La franja horaria es GMT +2. Ahora son las 23:49:51.

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