Bonjour,
Après une première sélection de fichiers, je voudrais en effectuer une deuxième de sorte que les premiers fichiers sélectionnés ne peuvent plus l'être.
Je me demande s'il est possible de les faire "disparaître" de ma liste, comme quand on rend un bouton invisible.
Sinon, je peux afficher un message d'error. C'est peut-être la solution la plus facile.
Voici le code pour ma première sélection :
Voici, dans l'idée, ce que je voudrais faire pour ma deuxième sélection :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function filepushbutton_Callback(hObject, eventdata, handles) [filename, pathname, filterindex]=uigetfile( {'*.mat','MAT-files (*.mat)';'*.*','All Files (*.*)'},'Pick a file', 'MultiSelect', 'on'); handles.filename=filename filename data=[]; for i_file = 1:length(filename) file = fullfile(pathname, filename{i_file}); temp = load(file); name = fieldnames(temp);%le nom du champ est le nom de la variable value = getfield(temp, name{1});%utilisation des champs dynamiques data=[data;value]; end handles.data=data; guidata(hObject,handles);
Est-ce réalisable ainsi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function measurementpushbutton_Callback(hObject, eventdata, handles) [filename2, pathname, filterindex]=uigetfile( {'*.mat','MAT-files (*.mat)';'*.*','All Files (*.*)'},'Pick a file', 'MultiSelect', 'on'); data2=[]; for i_file2 = 1:length(filename) if (filename2{i} != handles.filename) return error; end end for i_file2 = 1:length(filename) file = fullfile(pathname, filename{i_file}); temp = load(file); name = fieldnames(temp);%le nom du champ est le nom de la variable name value2 = getfield(temp, name{1});%utilisation des champs dynamiques data2=[data2;value2]; end handles.data2=data2; guidata(hObject,handles);
Et je ne sais pas comment comparer les éléments contenus dans filename et filename2
Merci d'avance pour votre aide, vos idées...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for i_file2 = 1:length(filename) if (filename2{i} != handles.filename) return error; end end![]()
Partager