Matlab - problema con listbox

 
Vista:

problema con listbox

Publicado por bertt (1 intervención) el 18/01/2013 20:54:02
Tengo una listbox que me muestra el contenido de un directorio (todas sus carpetas). Lo que intento hacer es que al pinchar en una de las carpetas que se muestran, se escriba dicha carpeta(su nombre) dentro de un fichero .txt.

Cuando lo hago, me escribe la posicion que ocupa dicha carpeta dentro de la listbox, es decir, si la carpeta esta en tercer lugar, me imprime un 3 en el .txt.

Existe alguna forma de que muestre el nombre de la carpeta y no su posicion?

En otras ocasiones utilice un case, que dependiendo de la posicion escribiria un nombre, pero al ser una carpeta que se va a modificar y nunca va a tener un mismo contenido, para este caso no me serviria.


Saludos
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

problema con listbox

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 18/01/2013 21:37:07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function varargout = listbox7(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @listbox7_OpeningFcn, ...
                   'gui_OutputFcn',  @listbox7_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function listbox7_OpeningFcn(hObject, eventdata, handles, varargin)
nombres=ls;
set(handles.listbox1,'string',nombres);
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = listbox7_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function listbox1_Callback(hObject, eventdata, handles)
 contents=cellstr(get(hObject,'String')) ;
 nombre=contents{get(hObject,'Value')};
 fid=fopen('archivocaballero.txt','w');
 fprintf(fid,'%s \n',nombre);
 fclose(fid);



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]

http://matlabcaballero.blogspot.com
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

problema con listbox

Publicado por bertt (1 intervención) el 18/01/2013 23:00:48
Joder muchas gracias Jose Jeremias, funciona perfectamente.

A mayores tenia una pequeña duda:

En lo que tu has puesto me muestra el listado del directorio raiz por defecto, pero si quisiese especificar uno concreto, con un simple "cd" valdria?


Un saludo y muchas gracias nuevamente
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

problema con listbox

Publicado por bertt (1 intervención) el 19/01/2013 00:04:34
ya esta solucionado.

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

problema con listbox

Publicado por bertt (1 intervención) el 19/01/2013 08:15:36
He sustituido la parte que apuntaba al directorio raiz de tu codigo:

1
2
nombres=ls;
set(handles.listbox1,'string',nombres);


Por otro fragmento que tambien habias publicado tu anteriormente en otro caso:

1
2
nombres=dir(fullfile('C:/directoriodeterminado'));
set(handles.listbox1,'string', {nombres.name});



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