IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

passage d'une fonction a une autre dans deux fichiers différents. [Débutant]


Sujet :

Interfaces Graphiques

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut passage d'une fonction a une autre dans deux fichiers différents.
    Bonjour a tous,
    Voila j'ai une fonction qui se nomme "SaveDataMat", qui se trouve dans un fichier "filproc.m". Par ailleurs j'ai aussi une fonction qui se nomme "bnSave_callback" dans un fichier "frmExprtmarks.m". Dans le fichier "filproc.m" il y a une fonction d'enregistrement qui se nomme"SaveDataMat". Je voudrais savoir comment depuis "bnSave_callback " dans le fichier "frmExprtmark" je puis appeler "SaveDataMat" dans le fichier "filproc".
    Voici les codes correspondant aux différentes fonctions :
    SaveDataMat :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    %FUNCTION for saving processed data in .MAT-file
    %This function is called by mnSaveDispl_Callback - 
    % menu item File->Saving of .MAT-files->Save displayed data in single file
    function SaveDataMAT(Path, fName, SmartXXX, RawDataset, srcPath, trials, IChansAdded, Nms, varargin)
    %Titles for synchronization modes
    SynModes=[{'maximum value'}, {'minimum value'},{'global extremum'}, ...
        {'begin of decrease'},{'begin of increase'},{'specific value'}];
    %define MATRIX size for data saving 
      d3=size(SmartXXX,1); %the NUMBER of Trials (i.e. files)
      d12=zeros(d3,3);
      for dz=1:d3      %CYCLE by FILES
        for dtype=1:3  %CYCLE by data type    
          d12(dz,dtype)=size(SmartXXX{dz}{4}{dtype},1);
        end  
      end
      dz12=max(d12,[],1); %vector-array (3 elems.) of MAX sizes for kinemat., EMG, FC
      nLabs=SmartXXX{1}{3}(:); %The Number of labels of each type
      opCell=cell(3,1);
    %define structure array size for data saving   
      for dtype=1:3      %CYCLE by data type 
        ouDat=zeros(dz12(dtype),nLabs(dtype), d3);  
    %If data of varios length - equalize the lengths by adding NaN values    
        for dz=1:d3      %CYCLE by FILES
          difz=dz12(dtype)-d12(dz,dtype);
          if difz>0 ouDat(:, :, dz)=[SmartXXX{dz}{4}{dtype}; NaN(difz,nLabs(dtype))];
          else ouDat(:, :, dz)=SmartXXX{dz}{4}{dtype}; end 
        end 
        opCell{dtype}=ouDat;
      end    
      ffreq=[{'Frequency-kinematics'},{'Frequency-EMG'},{'Frequency-Force Platform'}];
      ffreq(2,:)=num2cell(SmartXXX{1}{1});
    % outdat - structure to save in .MAT-file
    % build this structure from information loaded 
    %& recieved during data processing
      outdat = struct('SourcePath', [], 'Trials',[],'Kinematics', [],'EMG',[], ...
             'ForcePlate',[],'Frequencies',[], 'Labels',[],'DataStruct',[],'RawDataStruct',[]);
      outdat.Kinematics=opCell{1};
      outdat.EMG=opCell{2};
      outdat.ForcePlate=opCell{3};
      outdat.Frequencies=ffreq;
      outdat.Labels=SmartXXX{1}{2};
      outdat.DataStruct=SmartXXX{1}{3};
      outdat.RawDataStruct=RawDataset;
      outdat.SourcePath=srcPath;
      outdat.Trials=trials;
      outdat.AddedChansInfo=IChansAdded;
      outdat.StartTime=SmartXXX{1}{7};
      if size(varargin,2)>0 %data were synchronized - synchro data mode 
        s1=char(SynModes(varargin{1})); %Mode of synchronization
        s=sprintf('Data synchronized on label %s (by %s)',varargin{2},s1); %which label was used for synchronization    
     %   varargin=>  SynModes(sMode), synLabel  
        outdat.SynchrInfo=s;
      end  
    %SAVING marker information
      MInfo=cell(d3,1); %place allocation for info of markers
      for ntr=1:d3      %CYCLE by TRIALS
       if size(SmartXXX{ntr},2)==8 %THERE is info of MARKERS
         MInfo{ntr}=SmartXXX{ntr}{8}; 
       end
      end
      outdat.MarkerInfo=MInfo;
      outdat.MarkerNumber=Nms; %MAX marker number
      save([Path, fName], 'outdat');
    end
    Pour la fonction bnSave_callback
    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
    25
    26
    27
    28
    29
    function bnSave_Callback(hObject, eventdata, handles)
    global expdMarks Nmax  SmartData nLab PathName FileName
    % hObject    handle to bnSave (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    ls=get(handles.lbLabs2copy,'String');
    for nm=1:length(expdMarks)
      nTr=expdMarks(nm).Tr;
      if expdMarks(nm).Lb>nLab
        nL=expdMarks(nm).Lb-1;
      else
        nL=expdMarks(nm).Lb;  
      end    
      LabNam=ls(nL);
      Nmax=Nmax+1;
      mInf=expdMarks(nm).mInfo;
      mrkInfo=struct('Label',LabNam, 'XY', mInf(1:2),'nMarker',Nmax); %MARKER info 
      if size(SmartData{nTr},2)<8
         SmartData{nTr}{8}=mrkInfo; 
      else
         SmartData{nTr}{8}=[SmartData{nTr}{8} mrkInfo]; 
      end    
    end
    [FilName, PathName] = uiputfile({'*.mat','MAT-files (*.mat)'});
    FileName
    PathName
    mrkInfo
    save (PathName, FileName, mrkInfo);
    close
    Je pourrai vous donner d'autres informations, mais peut être que celles-ci vous suffisent. Ceci fait partie d'un programme beaucoup plus gros où je ne me retrouve pas vraiment. Mais reprendre le code de quelqu'un sans s'être vu n'est pas facile.
    Merci de vos réponse en attendant.

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Bonjour,

    Tu ne peux pas appeler directement la sous-fonction (SaveDataMAT) d'une fonction (filproc) sans passer par cette fonction (filproc).

    Tu es donc obligé d'appeler filproc, et de prévoir dans filproc le cas où tu veux aller directement dans SaveDataMAT.

    Ce n'est pas forcément très clair j'en suis consciente alors un petit exemple :
    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
    %========= Fichier filproc.m
    function filproc(varargin)
    %il faudrait vérifier les arguments d'entree ici
    switch varargin{1}
    case 'SaveData'
       SaveDataMAT(varargin(2:end));
    end
    %ici ta sous-fonction SaveDataMAT
     
    %====================
    %Dans l'autre fichier frmExprtmarks.m
    %blablabla
     
    %la sous-fonction bnSave_callback
    function bnSave_Callback(hObject, eventdata, handles)
    %blablabla
    %appel à SaveData :
    filproc('SaveData',...les arguments qui vont bien);
    C'est une possibilité qui vaut ce qu'elle vaut (pas grand-chose...)

    L'autre possibilité serait de sortir ta sous-fonction SaveDataMAT de la fonction filproc et d'en faire une fonction à part entière (plus propre à mon avis).
    Dans ce cas il serait bon de la renommer (il faut mieux mettre les noms de fonction entièrement en minuscules) et de savoir exactement où elle est déjà appelée.

    PS : si je peux me permettre, je vois que tu utilises des variables globales, je pense te l'avoir déjà dit mais on ne le dira jamais assez : les variables global c'est le MAL !!
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut pour les variables globales !!!!!!!!
    rebonjour
    J'avais bien noté votre aversion pour les variables globales, mais je n'y suis pour rien, je récupère un code d'un russe qui parle anglais et je ne sais pas trop ce qu'il a fait. J'ai 100 pages de codes que je ne comprends pas (avec des fonctions partout et des variables qui changent régulièrement de nom) mais je dois faire des choses avec d'ici le mois de janvier. Donc c'est un peu la galère. Mais merci de votre aide, je vais m'y atacher des demain matin, et je pense que j'aurai d'autres questions pour vous a ce sujet, car je n'ai pas tout saisi. Mais en réfléchissant bien, j'espère trouver une solution, avec vos indications.

    Merci encore et a bientot.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut Je n'y arrive pas mais je pense a une autre solution
    Bonjour a vous
    depuis ce matin j'ai essayé de mettre en application vos conseil. Voici le code de la fonction filproc
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    function varargout = fileproc(varargin)
    % FILEPROC M-file for fileproc.fig
    %  FILEPROC: main running form (window) and function of the program.
    %  In order to begin data processing load one or several .TDF-files
    %  OR one .MAT-file, created earlier by this program
    %  on the base of 1 or more .TDF-files.
    %  After processing your data you may save results in .MAT-file:
    %  Menu File->Saving of .MAT-files->Save displayed data in single file
    %  (if you've changed data and not saving the changes try to exit,
    %  the program will demand a confirmation).
     
    % Last Modified by GUIDE v2.5 14-Nov-2008 23:02:08
     
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @fileproc_OpeningFcn, ...
                       'gui_OutputFcn',  @fileproc_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
    % End initialization code - DO NOT EDIT
    switch varargin{1}
        case 'SaveData'
            SaveMATfile(varargin(2:end));
        end
    end
    et le code de la fonction bnSave-callback du fichier frmExprtmarks.m
    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
    25
    26
    27
    28
    29
    30
    function bnSave_Callback(hObject, eventdata, handles)
    global expdMarks Nmax  SmartData nLab PathName FileName
    % hObject    handle to bnSave (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    ls=get(handles.lbLabs2copy,'String');
    for nm=1:length(expdMarks)
      nTr=expdMarks(nm).Tr;
      if expdMarks(nm).Lb>nLab
        nL=expdMarks(nm).Lb-1;
      else
        nL=expdMarks(nm).Lb;  
      end    
      LabNam=ls(nL);
      Nmax=Nmax+1;
      mInf=expdMarks(nm).mInfo;
      mrkInfo=struct('Label',LabNam, 'XY', mInf(1:2),'nMarker',Nmax); %MARKER info 
      if size(SmartData{nTr},2)<8
         SmartData{nTr}{8}=mrkInfo; 
      else
         SmartData{nTr}{8}=[SmartData{nTr}{8} mrkInfo]; 
      end    
    end
    [FilName, PathName] = uiputfile({'*.mat','MAT-files (*.mat)'});
    FileName
    PathName
    SmartData{nTr}{8}
    save (PathName, FileName, 'mrkInfo');
    filproc ('SaveData',PathName,FileName,mrkInfo);
    close
    ceci ne fait pas l'affaire, mais j'ai du me tromper quelque part.
    Par contre la commande "save" ne crée aucun fichier, alors qu'il ouvre bien la boite de dialogue pour récupérer le chemin et les noms des fichiers a enregistrer. Je pense que c'est une solution moins compliquée que l'appel a une fonction d'un autre fichier.
    Si vous pouviez me débrouiller cela se serait bien et comme j'en ai besoin ailleurs, cela me ferait un exemple pour pouvoir enregistrer des données dans un fichier .mat
    Merci d'avance de me faire avancer dans cette foret où je n'ai pas de boussole pour m'orienter !!!!!!

  5. #5
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Bon il y a plusieurs problèmes dans ton code.

    1. Ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    % End initialization code - DO NOT EDIT
    signifie :
    NE PAS EDITER EN DESSOUS DE CETTE LIGNE...

    Donc il faudrait plutôt faire 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    function varargout = fileproc(varargin)
    % FILEPROC M-file for fileproc.fig
    %  FILEPROC: main running form (window) and function of the program.
    %  In order to begin data processing load one or several .TDF-files
    %  OR one .MAT-file, created earlier by this program
    %  on the base of 1 or more .TDF-files.
    %  After processing your data you may save results in .MAT-file:
    %  Menu File->Saving of .MAT-files->Save displayed data in single file
    %  (if you've changed data and not saving the changes try to exit,
    %  the program will demand a confirmation).
    
    % Last Modified by GUIDE v2.5 14-Nov-2008 23:02:08
    
    % Begin initialization code - DO NOT EDIT
    gui_Singleton = 1;
    gui_State = struct('gui_Name',       mfilename, ...
                       'gui_Singleton',  gui_Singleton, ...
                       'gui_OpeningFcn', @fileproc_OpeningFcn, ...
                       'gui_OutputFcn',  @fileproc_OutputFcn, ...
                       'gui_LayoutFcn',  [] , ...
                       'gui_Callback',   []);
    
    %Cas spécifique :
    if nargin %il y a au moins un argument
       if strcmp(varargin{1},'SaveData') %le premier arg est SaveData
          SaveMATfile(varargin(2:end));
          return
       end
    end
    
    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
    % End initialization code - DO NOT EDIT
    Ceci dit ce n'est pas très joli comme solution (même si je l'ai proposée), tu devrais plutôt sortir carrément la fonction de sauvegarde.

    Pour le problème de sauvegarde, cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    save (PathName, FileName, 'mrkInfo');
    Attention à tes arguments, ici tu lui dit de sauver dans un fichier représenté par la variable PathName les variables mrkInfo et la variable représentée par la variable FileName....
    C'est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    save(fullfile(PathName,FileName),'mrkInfo');
    Règles du Forum

    Adepte de la maïeutique

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut rebonjour
    je ne suis pas un expert mais le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    save(fullfile(PathName,FileName),'mrkInfo');
    ne fonctionne pas, je n'ai toujours pas de fichier créé. Je suis encore planté devant l'adversité. Je sais que je suis un nul de chez nul, mais il me faudrait faire quelques petites choses, avec les 100 pages de code que j'ai, pour pouvoir m'en sortir. Mais cela n'a pas été fait par un informaticien, mais je dois faire avec. Bref si vous pouvez me faire enregister des fichiers avec la boite de dialogue ce serait bien. Je n'ai besoin , (mais en détails) que de cela, pour l'instant. Je suis débutant dans le domaine, et il me reste encore beaucoup de choses a apprendre. Mais si vous le voulez , comme l'a dit caro-line, les aidés d'aujourd'hui sont les aidant de demain.
    j'ai besoin de vous tous, a bientot j'espère que vous me réponderez.
    Merci a caro-line elle m'aide tellement que je ne sais pas comment la remercier!!!!

  7. #7
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Il n'y aurait pas un petit message d'erreur ?

    Ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [FilName, PathName] = uiputfile({'*.mat','MAT-files (*.mat)'});
    au lieu de FileName c'est une faute de copie du code ou une faute de frappe dans le code... ?
    Règles du Forum

    Adepte de la maïeutique

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut voici les message d'erreurs que j'ai
    rebonjour j'espère pouvoir vous lire depuis chez moi car je travaille le soir. Voici les message d"'erreurs que j'ai lorsque je fais tourner le programme.
    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
    ??? Undefined function or method 'eq' for input arguments of type 'cell'.
     
    Error in ==> fullfile at 37
          if (f(end)==fs) & (part(1)==fs),
     
    Error in ==> frmExprtmarks>bnSave_Callback at 358
    save(fullfile(PathName,FileName),'mrkInfo');
     
    Error in ==> gui_mainfcn at 96
            feval(varargin{:});
     
    Error in ==> frmExprtmarks at 42
        gui_mainfcn(gui_State, varargin{:});
     
    ??? Error using ==> waitfor
    Error while evaluating uicontrol Callback
    Ceci n'est pas tres conculant, mais peut être que cela vous donnera une idée. Pour l'instant il n'enregistre rien dans le fichier qu'il ne cré pas. Voici le code
    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
    25
    26
    27
    28
    29
    function bnSave_Callback(hObject, eventdata, handles)
    global expdMarks Nmax  SmartData nLab PathName FileName
    % hObject    handle to bnSave (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    ls=get(handles.lbLabs2copy,'String');
    for nm=1:length(expdMarks)
      nTr=expdMarks(nm).Tr;
      if expdMarks(nm).Lb>nLab
        nL=expdMarks(nm).Lb-1;
      else
        nL=expdMarks(nm).Lb;  
      end    
      LabNam=ls(nL);
      Nmax=Nmax+1;
      mInf=expdMarks(nm).mInfo;
      mrkInfo=struct('Label',LabNam, 'XY', mInf(1:2),'nMarker',Nmax); %MARKER info 
      if size(SmartData{nTr},2)<8
         SmartData{nTr}{8}=mrkInfo; 
      else
         SmartData{nTr}{8}=[SmartData{nTr}{8} mrkInfo]; 
      end    
    end
    [FilName, PathName] = uiputfile({'*.mat','MAT-files (*.mat)'});
    FilName
    PathName
    SmartData{nTr}{8}
    save(fullfile(PathName,FileName),'mrkInfo');
    close
    Je ne sais pas par quel bout le prendre mais en tout état de cause il n'enregistre rien. Je sais que cela n'est pas banal , et qu'il faudrait que vous ayez tout le code. C'est donc ce que je vais faire. En documents attaché je vous joint les différents programme qui composent ce logiciel. Je ne sais pas si vous aurez le temps de vous penchez dessus, mais cela est fait par un russe qui ne parle que l'anglais et que je soupsonne ne pas être informaticien.
    Bref si vous pouvez m'aidez !!!!!!
    a lundi car depuis chez moi je ne suis pas certain d'avoir acces au forum.

  9. #9
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Il te dit qu'il y a un problème car l'un des paramètres rentré à FULLFILE est un tableau de cellules.

    Le problème vient, je le soupçonne des variables globales.

    Il faut faire très attention aux nom de tes variables.
    FileName par exemple est une variable globale.

    Quand tu utilises UIPUTFILE tu lui demande en sortie FilName (sans le E), mais après c'est FileName (avec le E) que tu utilises dans le SAVE.
    Donc le FileName utilisé dans le SAVE est la variable globale qui a été définie un jour ailleurs et qui est surement de type CELL.

    Je suppose que le vrai nom de fichier que tu veux utiliser est celui retourné par UIPUTFILE, donc vérifie bien partout l'écriture et que tu n'as pas de faute de frappe (car là manifestement il y en a une).
    Règles du Forum

    Adepte de la maïeutique

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut il n'y a de pire faute que celle que l'on ne voit pas
    Bonjour
    Il y avait effectivement une faute de frappe. Je suis passé dessus plusieurs fois sans la voir et j'en demande pardon a ceux qui se sont penchés sur ce code pour une simple faute de frappe.
    Merci a tous (et en particulier a cro-line) de votre aide.
    A bientot

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appel de deux fonctions identiques se trouvant dans deux fichiers différents
    Par djtinou666 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 05/06/2013, 18h23
  2. Réponses: 5
    Dernier message: 19/11/2010, 12h28
  3. Passage d'une variable d'une fonction a une autre
    Par eilijah dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/09/2008, 15h49
  4. Réponses: 3
    Dernier message: 16/01/2006, 16h02
  5. Réponses: 4
    Dernier message: 17/03/2004, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo