Chaîne dans Scilab

Bazoukka Messages postés 8 Statut Membre -  
Bazoukka Messages postés 8 Statut Membre -
Bonjour,
Je tente d'ouvrir un fichier .txt dans Scilab.
Si j'affecte à une variable une chaîne du chemin absolu, ca marche!
Malheureusement je n'ai pas le chemin lors que je crée mon programme, il me faut concaténer les données.
et là, ca ne marche pas!
mes programme sont:

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

[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
endfunction

cette fonction marche mais lors de l'exécution de celui la, PROBLèME!
cela ne marche donc qu'avec 'name2' alors que je souhaite un truc du genre 'name', et 'name3' ne fonctionne pas non plus!

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

//fpath+'\'+fname+ext;
name=fpath+'\'+fname+ext
//name=string(fullfile(fpath,fname+ext))
name2='D:\Documents\bauda\Données\Astrix\Essai_Astrix_modif\Analogic_astrix.txt'
name3=[fpath '\Analogic_astrix.txt']
//ofname=mopen(fname+ext,'r');
//ofname=mopen(name3,'r');
u=file('open',TMPDIR+'\Analogic_astrix2.txt','old')

if ~isempty(name3)
stop=1;
grandeurs=[];
// Gr=mgetl(name);
Gr=mgetl(ofname);
[nl,nc]=size(Gr);
plop=Gr(:,1);
grandeurs=Gr(1,:)
// while stop
// g=mfscanf(ofname,'%s');
// if (t=='%')
// g=mfscanf(ofname,'%s')
// grandeurs=strcat([grandeurs, g])
// else
// stop=0;
// end
// end
end
mclose(name3);

HELP!! Merci d'avance.
A voir également:

1 réponse

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