![]() |
Problemas con la memo.lines.strings[n]
Tengo un problema que no se como solucionarlo i es que al poner el siguiente codigo, la Memo1.lines.strings[n] solo me pillar las 6 primeras letras como una linia, i no se como hacer para que la memo me pille tota la linia entera!!
num:=StrToInt(Memo1.Lines.Strings[0]); for m:=0 to num-1 do begin Llista.Cells[0,m]:=Memo1.Lines.Strings[1+(3*m)]; Llista.RowCount:=Llista.RowCount+1; end; haber si alguien sabe contestarme porque no se como hacerlo!!!! |
Dudo que corte la cadena por que si... ¿Estas seguro que te estas refiriendo a la misma línea?.. ¿Que es lo que contiene?
|
No te entiendo, qué pretende exactamente?
|
Cita:
|
Lo siente por no explicarme bien, haber voy a intentarlo de nuevo:
Tengo una memo con lo siguiente: 2 //Numero de productos Liquido //Nombre del 1r producto 3 //cantidad de producto codliquido //codigo del producto Tubo de acero //Nombre del 2o producto 8 //cantidad codtubo //codigo del 2o producto Y ahora quiero quiero coger unicamente los dos nombres de producto que hay. Al hacer memo.lines.strings[1] me coge 'Liquido', pero al hacer memo.lines.strings[4] me coge 'ido' y yo quiero que me coga 'Tubo de acero'. La pregunta es: porque solo me coge 7 caracteres memo.lines.strings[n]? Haber si me podeis responder a eso. Merci. Es que ya no se como mirarlo. |
Prueba con Memo.lines[1], Memo.Lines[2]....
|
Tampoco me funciona me coge 'liquido' y 'ido' que es el final de codliquido
|
Quizás sea algún carácter que tienes en el memo.
Puedes enviarme el proyecto ( o un ejemplo ) con un memo cargado con los datos que te fallan? lcegarra@overlay.es. Un saludo. |
debes estar cargando mal los datos sobre el Memo, porque no debería darte problemas, ya sea por algun caracter de terminación como dice Islu u otra cosa.
|
Aki teneis lo que hago :
Memo1.Clear; Memo1.Lines.Strings[0]:='2'; Memo1.Lines.Add('Liquido'); Memo1.Lines.Add(' '); Memo1.Lines.Add('codliquido'); Memo1.Lines.Add('Tubo pepito grillo'); Memo1.Lines.Add('5'); Memo1.Lines.Add('codtubo'); num:=StrToInt(Memo1.Lines.Strings[0]); for m:=0 to num-1 do begin Llista.Cells[0,m]:=Memo1.Lines[1+(3*m)]; Llista.RowCount:=Llista.RowCount+1; end; Llista.RowCount:=Llista.RowCount-1; If Llista.RowCount>8 then Llista.Width:=441; Un saludo, Merci |
No veo donde te coge 'liquido' y 'ido' , lo único que veo es que con esta opción :
Cita:
Entiendo que Llista es un TStringGrid, no? |
Por cierto, ten cuidad con :
Cita:
Cita:
|
Pregunta: ¿Por qué no usas un ListView en modo Report con varias columnas en lugar de un Memo?
Cada cosa lo pones en una columna distinta, queda más organizado y como puedes mover el ancho de cada columna, pues más chulo y todo. Tambien te olvidas de problemillas como el que tienes ahora, ya que puedes coger el valor de cada columna independientemente de espacios y otras cosas raras. Un saludo |
Merci a todos por vuestra ayuda, pero ya he encontrado el error y la verdad es que es de lo mas tonto que me ha pasado nunca!!!!!
La memo no era suficientemente grande para que me lo cogiera todo como hacia falta!!!!!!!!! Merci!!!!!! Un saludo |
Si lo que te pasaba es que te hacia solo el salto de línea, revisa la propiedad del memo WordWrap.
Un saludo |
La franja horaria es GMT +2. Ahora son las 05:40:30. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi