C# problème de manipulation de chaine de caractère.

C# problème de manipulation de chaine de caractère. - C#/.NET managed - Programmation

Marsh Posté le 20-12-2005 à 16:21:04    

Bonjour,
 
J'ai un petit problème de manipulation de chaine de caractère.
 
Voici mon code...
 
//------------------------------------
string sFileNameDir = "C:\\";
string sIniFileName = "test.ini";
 
string sConflictFile = "C:\\Program Files\\InstallShield\\AdminStudio\\6.0\\ConflictSolver\\iscmide.exe";
     
string sArguments = "-Q -C" + sFileNameDir  + sIniFileName;
 
Process p = new Process();
 
p.StartInfo.FileName = sConflictFile;
 
p.StartInfo.Arguments = sArguments;
 
p.Start();
//------------------------------------
 
J'aimerais que le résultat de la variable sArguments soit :
-Q -C"C:\test.ini"
 
Donc, que les guillements soient inclus.
 
Merci pour votre aide !

Reply

Marsh Posté le 20-12-2005 à 16:21:04   

Reply

Marsh Posté le 20-12-2005 à 17:46:21    

Ben je m'y connais pas en c# mais je pense que si tu le double sa devrait passer sinon tu passe par un équivalent à chr(34) au moin t'es sur que sa passe.

Reply

Marsh Posté le 20-12-2005 à 18:34:28    

Je dirais plusieurs solutions:
 

Code :
  1. string sArguments = "-Q -C" + "\"" + sFileNameDir  + sIniFileName + "\"";


ou

Code :
  1. string sArguments = "-Q -C\"" + sFileNameDir  + sIniFileName + "\"";


pour ceux qui ne veulent pas perdre de place ;)  
 
 
 
ou bien tu le rentres directement dans tes variables (un peu moins bon selon moi):
 

Code :
  1. string sFileNameDir = "C:\\\"";
  2. string sIniFileName = "test.ini\"";


 
Bien sur, ce que je n'ai pas reecrit ne change pas.

Reply

Marsh Posté le 29-12-2005 à 21:31:12    

Code :
  1. string sFileNameDir = @"C:\";
  2. string sIniFileName = "test.ini";
  3. string sConflictFile = @"C:\Program Files\InstallShield\AdminStudio\6.0\ConflictSolver\iscmide.exe";
  4. string sArguments = "-Q -C\"" + sFileNameDir  +"\""+ sIniFileName;
  5. Process p = new Process();
  6. p.StartInfo.FileName = sConflictFile;
  7. p.StartInfo.Arguments = sArguments;
  8. p.Start();


 
Note l'utilisation du "@" pour les chemins (ça le fait ignorer le sens des antislash).. c'est plus confortable  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed