Matlab - mostrar varias lineas de texto

 
Vista:

mostrar varias lineas de texto

Publicado por Jose (13 intervenciones) el 12/11/2009 20:11:49
buenas, necesito mostrar varias lineas de texto (una debajo de la otra, como un parrafo) en un static text o similar (matlab guide) el problema está en que cada vez que le dices de escribir algo en el static text BORRA LO ANTERIOR y yo necesito mostrar un parrafo entero, las lineas de textos se van generando en distintos bucles.
por ejemplo:

set(handles.text, 'String', 'Hola');
------varias sentencias---
set(handles.text, 'String', 'que');
------varias sentencias---
set(handles.text, 'String', 'tal');

en el static text solo aparecería "tal" porque solo escribe lo ultimo y me gustaria que apareciese todo.
No se puede hacer una matriz de texto y representarla toda del tirón?

GRACIASSS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:mostrar varias lineas de texto

Publicado por gustavo (1 intervención) el 12/11/2009 20:31:34
bueno.... si se puede hacer lo que dices una ,matriz de textos y mostrarla de una sola vez-----

alguna vez preguntaron lo mismo y bueno mi solución consiste en generar un cell array vacio de tamaño n e ir llenandolo con las cadenas de texto asi simpre mandas a mostrar el contenido del arreglo para que no se borre lo que escribiste y bueno tienes que configurar al static o al edit que uses como multilinea.

si tienes mas dudas pregunta de nuevo.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

en queé lo usas

Publicado por arenas (3 intervenciones) el 13/11/2009 00:04:38
creo saber la manera en como se resuelve, pero no sé si es lo que deseas, me gustaria que me platearas el problema que estas atacando o dame un ejemplo más claro del resultado. saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en queé lo usas

Publicado por Jose  (13 intervenciones) el 13/11/2009 13:59:09
bueno, muchas gracias ante todo a gustavo y a ti por la ayuda.
voy a intentar poner un ejemplo más claro.

Imaginaos un codigo asi, con un static text con el tag "texto":

set(handles.texto, ' string', 'hola');
set(handles.texto, ' string', 'como');
set(handles.texto, ' string', 'estas');

al final en el static text de mi interfaz grafica se mostraría solo la palabra "estas" (borra lo que había cada vez que se usa de nuevo set) y yo quiero que se muestre:

hola
como
estas

estoy usando un programa que en distintas lineas va mostrando informacion, y quiero ver esa toda información, no que me vaya borrando lo anterior.

Espero haber aclarado un poco la duda

Muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en queé lo usas

Publicado por gustavo (44 intervenciones) el 13/11/2009 16:09:23
bueno hay te van algunas ideas..... aunque tengo dudas de como intrudces las cadenas o si ya las tieenes definidas....

primero que nada debes hacer que el edit text sea multilinea: es decir que modifiques la propiedad max del edit ponle el valor 2.(talves ya lo sepas pero bueno por si las dudas)

ahora un ejemplo:

function pushbutton1_Callback(hObject, eventdata, handles)
set(handles.edit1,'string','hola')

function pushbutton2_Callback(hObject, eventdata, handles)
antes=get(handles.edit1,'string');
set(handles.edit1,'string',strvcat(antes,'como'))

function pushbutton3_Callback(hObject, eventdata, handles)
antes=get(handles.edit1,'string');
set(handles.edit1,'string',strvcat(antes,'estas'))

esto hace que lo que este antes escrito se una de forma vertical a lo que vas a agregar...si lo que vas a agregar ya esta definido.... pero si lo que vas a agregar lo introduces por otro edit text entonces solo debes tomar esa cadena:

function pushbutton4_Callback(hObject, eventdata, handles)
antes=get(handles.edit1,'string');
nueva=get(handles.edit2,'string');
set(handles.edit1,'string',strvcat(antes,nueva))

y listo ... bueno si no te sirvio explicame bien como es que tomas los datos que vas a mostrar o si ya los tienes definidos y los metes con un push...

sale nos vemos......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en queé lo usas

Publicado por jose (13 intervenciones) el 16/11/2009 18:15:25
muchas gracias gustavo, perdona por tardar en contestar, he estado algunos dias fuera..
lo que me has puesto es una idea pero no soluciona mi problema.
mira este es parte del codigo donde radica el kit de la cuestion jeje:

for i=1:length(fallos)
if fallos(i)>0 && amp(i)>=0.2
set(handles.eval, 'String','- Detectada frecuencia errónea: ')
elseif fallos(i)>0 && amp(i)<0.2
set(handles.eval, 'String','- Detectada frecuencia de baja a',num2str(fallos(i),' Hz'))
end
end

Entonces si te fijas para cada vez que se reproduce el bucle se borraría el static text ya que hay un nuevo set.
Con lo que dices no se podría solucionar el problema :(

Hay forma de ir rellenando un listbox?

gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:en queé lo usas

Publicado por Pablo (1 intervención) el 02/12/2009 10:48:40
Hola Jose:

Creo que podrías solucionar tu problema recuperando el texto que tienes en el static text y añadiéndole lo que te indicó gustavo, es decir:

for i=1:length(fallos)
if fallos(i)>0 && amp(i)>=0.2
aux = get(handles.eval, 'String');
set(handles.eval, 'String', strvcat(aux, ' - Detectada frecuencia errónea: ')
elseif fallos(i)>0 && amp(i)<0.2
aux = get(handles.eval, 'String');
set(handles.eval, 'String', strvcat(aux, '- Detectada frecuencia de baja
a',num2str(fallos(i),' Hz')));
end
end

Saludoss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar