3 pièce(s) jointe(s)
[Linux] La fonction système ChangeFileExt ne fonctionne pas (ou je suis vraiment mauvais ?)
ou je n'ai pas les yeux en face des trous ?
Bonsoir, et regardez :
Pièce jointe 508486
:koi:
C'est ex-ac-te-ment comme si la ligne ChangeFileExt(
n'existait pas. :marteau:
Alors bon, j'ai réécrit la fonction et là, c'est bon :
Pièce jointe 508490
Le temps que j'ai encore perdu avec cette c0nn3r13, même pas je vous raconte, :cry:
Pensez-y, quand vous coderez vos machins…
EDIT : je ne voulais pas mourir idiot alors j'ai démarré une machine virtuelle XP SP2 avec un Laz 1.8 et le problème est identique, ouf !
Pièce jointe 508491
:coucou:
EDIT2 : pour faciliter la vie de ceux qui voudraient tester, copiez/collez ce qui suit dans la proc d'un bouton, ou du FormCreate, puis F9 :
Code:
1 2 3 4 5 6 7 8 9 10
| var
tmpfile: string;
begin
tmpfile := GetTempFileName(GetTempDir, 'abc');
ChangeFileExt(tmpfile, '.jpg');
// décommenter, au choix, dessus ou dessous (et commenter l'autre), pour voir ce qui se passe ou pas.
//tmpfile := copy(tmpfile, 1, length(tmpfile)-length(ExtractFileExt(tmpfile))) + '.jpg';
ShowMessage(tmpfile); |
ChangeFileExt() est une fonction
Prototype de ChangeFileExt
Code:
1 2
|
function ChangeFileExt(const FileName, Extension: RawByteString): RawByteString; |
Je pense que çà fonctionnera mieux avec ceci:
Code:
1 2 3 4
|
tmpfile := GetTempFileName(GetTempDir, 'abc');
tmpfile := ChangeFileExt(tmpfile, '.jpg');
Showmessage(tmpfile); |
Je suppose que vous avez connu un ChangeFileExt() sous forme d'une procédure ou d'une fonction avec un prototype de la forme
Code:
1 2 3 4
|
function ChangeFileExt(var FileName: RawByteString; const Extension: RawByteString): boolean;
procedure ChangeFileExt(var FileName: RawByteString; const Extension: RawByteString); |