Resolvido - Ajuda no Matlab

Wilsu

Power Member
Boas a todos sem excepção,

tou a fazer um trabalho em Matlab que consiste numa interface GUI para ler valores de ficheiros .txt e fazer o tratamento desses valores. O programa já vai avançado mas tou com problemas em selecionar o ficheiro q quero q seja lido.

OBJECTIVO: O meu objectivo seria selecionar esse ficheiro através de uma janela de navegação tal e qual aquelas q nos surgem em qualquer programa quando queremos abrir um ficheiro.

HIPÓTESE 1: Já me fartei de procurar mas aparentemente não há a possibilidade de chamar essa janela MAS, inves de abrir literalmente o ficheiro num editor, atribuir o seu nome a uma variável.

HIPÓTESE 2: O help do Matlab tem um exemplo chamado "List Box Directory Reader" que não é muito diferente da janela referida anteriormente. Porém, nem tudo são rosas. Eu fiz pequenas alterações neste exemplo para que, ao fazer duplo-click sobre o ficheiro q pretendo trabalhar, o nome dele fosse atribuido a uma variável ("file2read") e que imediatamente fechasse essa janela e voltasse a janela principal. O estranho é que ele fecha a janela principal (ou interface) inves de fechar a de navegação.

Deixo-vos a pequena alteração que fiz (a bold) ao ficheiro do exemplo entre as linhas 100 e 130
Código:
get(handles.figure1,[COLOR=Plum]'SelectionType'[/COLOR]);
[COLOR=YellowGreen]% If double click[/COLOR]
[COLOR=RoyalBlue]if[/COLOR] strcmp(get(handles.figure1,[COLOR=Plum]'SelectionType'[/COLOR]),[COLOR=Plum]'open'[/COLOR])[INDENT]     index_selected = get(handles.listbox1,[COLOR=Plum]'Value'[/COLOR]);
[/INDENT][INDENT]     file_list = get(handles.listbox1,[COLOR=Plum]'String'[/COLOR]);
[/INDENT][INDENT][COLOR=YellowGreen]% Item selected in list box[/COLOR]
[/INDENT][INDENT]     filename = file_list{index_selected};
[/INDENT][INDENT][COLOR=YellowGreen]% If directory[/COLOR]
[/INDENT][INDENT][COLOR=RoyalBlue]if[/COLOR]  handles.is_dir(handles.sorted_index(index_selected))
[/INDENT][INDENT][INDENT]         cd (filename)
[/INDENT][/INDENT][INDENT][INDENT][COLOR=YellowGreen]% Load list box with new directory.[/COLOR]
[/INDENT][/INDENT][INDENT][INDENT]         load_listbox(pwd,handles)
[/INDENT][/INDENT][INDENT][COLOR=RoyalBlue]else[/COLOR]
[/INDENT][INDENT][INDENT][B]file2read=filename;[/B]
[/INDENT][/INDENT][INDENT][INDENT][B]close;[/B]
[/INDENT][/INDENT][INDENT][INDENT][COLOR=YellowGreen]%[/COLOR][COLOR=YellowGreen](apaguei aqui várias instruções q não interessavam)[/COLOR]
[/INDENT][/INDENT][INDENT][COLOR=RoyalBlue]end[/COLOR]
[/INDENT][COLOR=RoyalBlue]end[/COLOR]
Espero que me possam ajudar. Ficaria eternamente grato. Qualquer duvida ou informação necessário por favos não hesitem em pedir.
 
Última edição:
Back
Topo