Scilab, fonction mopen

Bazoukka Messages postés 8 Statut Membre -  
Bazoukka Messages postés 8 Statut Membre -
Bonjour,

Je dois réaliser un programme Scilab qui doit me permettre d'utiliser les données d'un fichier .txt.
Les premières lignes (commentées, chaîne de caractères) sont associées à une variable 'Grandeurs' et les données numériques (matrice 20*100, voire plus!) à une variables 'Mesures'.

Mon programme est :

//Initialisation
fname1=fname;
ext1=ext;
chemin=' ';

[fpath, fname, ext]=open_text(chemin, '*.txt', 'Fichier Brut *.txt');

name1=fpath+'\'+fname+ext
//name2=string(fullfile(fpath,fname+ext))
//name3=fullfile(fpath,fname+ext)
name4='D:\Documents\bauda\Données\Données_Analogic.txt'

//ofname=mopen(fname+ext,'r');
ofname=mopen(name3,'r');

if ~isempty(name3)
Gr=mgetl(ofname);
[nl,nc]=size(Gr);
grandeurs=Gr(1,:)

end
mclose(name3);

Mon probléme est que la seule maniére de le faire marcher correctement est avec 'name4' alors que je souhaite éxécuter ce fichier en relation avec un autre.
Il ne faut donc pas que je rentre explicitement un chaîne avec le chemin absolu de mon fichier à lire.

Merci d'avance de votre aide.

Bazoukka
A voir également:
  • Mopen scilab
  • Scilab - Télécharger - Édition & Programmation

2 réponses

Bazoukka Messages postés 8 Statut Membre
 
La fonction open_text() est peut-être utile, la voila donc:

// [fpath, fname, ext]=open_text(chemin, titre, specf)
// chemin : default acces
// specf : extension's file
//
// fpath : path's file
// fname : name's file
// ext : extension's file
//

function [fpath, fname, ext]=open_text(chemin, specf, titre)
rhs=argn(2);

if rhs<2
specf='*.txt';
chemin='';
end
if rhs<3
titre='Chercher un fichier';
end
// if rhs<3
// titre='Fichier_essai';
//
// end

[fname2, fpath2]=uigetfile(specf,chemin,titre,%t)
if ~isempty(fname2)
fpath=fpath2;
wh=strindex(fname2,'.');
if isempty(wh)
wh=length(fname2)+1;
end
fname=part(fname2, 1:wh-1);
ext=part(fname2, wh:length(fname2));
else
fname=[];
ext=[];
end
// nom=fpath+'\'+fname+ext
endfunction

Donner moi des pistes svp.
0
Bazoukka Messages postés 8 Statut Membre
 
Pb résolu,
j'avais un caractére spéciale (ie é) des le chemin que je concaténais!!
il n'aime pas ca du tout!
pour débugger, j'ai regardé la longueur de mes deux chaine qui semblaient identiques, puis j'ai regardé le code ASCII de chacune d'elles.
voili, voila.
0