1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Resolvido - Ajuda no Matlab

Discussão em 'Programação' iniciada por Wilsu, 20 de Novembro de 2008. (Respostas: 0; Visualizações: 677)

  1. Wilsu

    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: 21 de Novembro de 2008

Partilhar esta Página