Scapmag
Messages postés8Date d'inscriptionvendredi 4 avril 2008StatutMembreDernière intervention21 janvier 2012
-
23 avril 2008 à 09:30
Scapmag
Messages postés8Date d'inscriptionvendredi 4 avril 2008StatutMembreDernière intervention21 janvier 2012
-
23 avril 2008 à 20:12
Bonjour à tous
N'ayant pas trouvé de logiciel qui permet de faire des listes de compressions/decompressions de fichiers RAR à exécuter plus tard, j'ai décidé de le faire moi-même. Mais avec mon petit niveau de débutant, je bloque sur un problème d'accentuation.
Le principe du programme est de créér un fichier bat avec les instructions type RAR X "Fichiers.rar". Mais lorsque le nom du fichier RAR contient un accent ("problème.rar"), le fichier Bat est bien écrit mais lors de son exécution par une instruction shell, les lettres accentuées sont remplacées par d'autres signes.
Avez-vous une solution à mon problème ?
Merci
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 23 avril 2008 à 16:32
dans la précipitation j'ai oublier un truc important :
procedure TForm1.Button1Click(Sender: TObject);
var
Si :STARTUPINFO;
Pi : PROCESS_INFORMATION ;
begin
zeromemory(@si,sizeof(STARTUPINFO));
Si.dwFlags:=STARTF_USESHOWWINDOW;
Si.wShowWindow:=SW_HIDE;
If CreateProcess(Nil, 'F:\Program Files\Winrar\Rar.exe X éssais.rar o+',nil,nil,True,
0,nil,nil,Si,Pi) Then
Begin
WaitForSingleObject(pi.hProcess,INFINITE);
CloseHandle( Pi.hProcess );
CloseHandle( Pi.hThread );
End;
MessageBox(handle,'c''est fini','Fin',MB_OK);
end;
Scapmag
Messages postés8Date d'inscriptionvendredi 4 avril 2008StatutMembreDernière intervention21 janvier 2012 23 avril 2008 à 15:33
Merci
Non c'est les fichiers à décompresser dans ce cas.
Dans mon fichier Bat j'ai
RAR X c:\problè~1.rar
RAR X c:\proble~1.rar
J'exécute le bat après et le programme RAR ne reconnais pas le 1er alors que le 2eme fonctionne bien.
Dans mon programme, je peux sélectionnner des fichier RAR à décompresser ou des dossiers à compresser.
Je m'aperçois que je suis peut-être compliqué par rapport à mon faible niveau de Delphi.
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 23 avril 2008 à 16:24
essaye ça :
procedure TForm1.Button1Click(Sender: TObject);
var
Si :STARTUPINFO;
Pi : PROCESS_INFORMATION ;
begin
zeromemory(@si,sizeof(STARTUPINFO));
Si.dwFlags:= STARTF_USESHOWWINDOW;
Si.wShowWindow:=SW_HIDE;
CreateProcess(Nil, 'F:\Program Files\Winrar\Rar.exe X éssais.rar o+ ',nil,nil,True,
0,nil,nil,Si,Pi);
WaitForSingleObject(pi.hProcess,INFINITE);
MessageBox(handle,'c''est fini','Fin',MB_OK);
end;