(gile) Posté(e) le 18 décembre 2010 Posté(e) le 18 décembre 2010 J'ai modifié le code et le téléchargement ci-dessus en conséquence. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rebcao Posté(e) le 18 décembre 2010 Auteur Posté(e) le 18 décembre 2010 Bonsoir, Merci Gilles tout a l'air de fonctionner... Et désolé pour ma réaction tardive à ton premier message... C'est quoi le compilateur ? Je te remercie, envoies moi la note ;) Christian [Edité le 18/12/2010 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
(gile) Posté(e) le 18 décembre 2010 Posté(e) le 18 décembre 2010 C'est quoi le compilateur ? Pour faire simple, la technologie utilisée est .NET, le langage est, ici, C# et le compilateur Visual Studio, c'est aussi l'éditeur de code (il existe des versions gratuites). En bref, la technologie .NET permet de créer des applications (exe, dll) écrites dans différents langages (C#, F#, VB.net, ...) qui utilisent une (immense) bibliothèque commune : le Framework.NET.Ces applications ne sont que "pré-compilées" dans un même langages intermédiaire (CIL) qui ne sera définitivement compilé qu'au moment de la première exécution en fonction du système (32 ou 64 bits) et du système d'exploitation (XP, Vista, Seven, mais aussi Linux et MacOS en utilisant le projet Mono). Autodesk a développé, depuis la version 2005, un SDK qui "emballe" la majeure partie des objets d'ObjectARX de façon à ce qu'ils soient utilisables dans l'environnement .NET ce qui en fait une plateforme de développement pour AutoCAD plus puissante que LISP ou VBA tout en étant d'un accès moins difficile qu'ObjectARX/C++. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rebcao Posté(e) le 19 décembre 2010 Auteur Posté(e) le 19 décembre 2010 Bonjour, Merci pour toutes ces précisions Bon week-end, Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
rebcao Posté(e) le 22 décembre 2010 Auteur Posté(e) le 22 décembre 2010 Bonjour, Voila tout fonctionne de nouveau comme avant et même mieux c'est plus rapide... Il reste juste un petit oubli, remplacer la CHAINE par RIEN (vide) FINDANDREPLACE CHAINE [surligneur] #RIEN#[/surligneur] FIC.TXT Je sais, j'abuse vraiment, mais je t'avais prévenu... ;) Et à charge de revanche, lorsque je serais à nouveau dans le coin... Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
(gile) Posté(e) le 24 décembre 2010 Posté(e) le 24 décembre 2010 Salut, J'étais un peu occupé ces jours-ci, mais voilà une nouvelle version avec l'option #RIEN# ajoutée.L'exe est renommé : Remplace.exe Remplace_2.zip J'ai aussi ré-écrit le code sous une forme plus lisible (à mon avis). EDIT code modifié using System; using System.IO; using System.Text; using System.Text.RegularExpressions; namespace Remplace { class Program { private static string str, filename; private static StringBuilder sb = new StringBuilder(); static void Main(string[] args) { try { switch (args[0].ToUpper()) { case "#COPIER#": copier(args); break; case "#DEBUT#": debut(args); break; case "#FIN#": fin(args); break; default: remplace(args); break; } } catch (Exception e) { Console.WriteLine(e.Message); } } private static void write(string content) { using (StreamWriter writer = new StreamWriter(filename, false, Encoding.UTF8)) { writer.Write(content); } } private static void remplace(string[] args) { filename = args[2]; using (StreamReader reader = new StreamReader(filename, Encoding.UTF8)) { str = reader.ReadToEnd(); Regex reg = new Regex(args[0], RegexOptions.IgnoreCase); if (args[1].ToUpper() == "#RIEN#") sb.Append(reg.Replace(str, string.Empty)); else sb.Append(reg.Replace(str, args[1])); } write(sb.ToString()); } private static void fin(string[] args) { filename = args[2]; using (StreamReader reader = new StreamReader(filename, Encoding.UTF8)) { while ((str = reader.ReadLine()) != null) { sb.AppendLine(string.Format("{0}{1}", str, args[1])); } } write(sb.ToString()); } private static void debut(string[] args) { filename = args[2]; using (StreamReader reader = new StreamReader(filename, Encoding.UTF8)) { while ((str = reader.ReadLine()) != null) { sb.AppendLine(string.Format("{0}{1}", args[1], str)); } } write(sb.ToString()); } private static void copier(string[] args) { filename = args[1]; using (StreamReader reader = new StreamReader(filename, Encoding.UTF8)) { while ((str = reader.ReadLine()) != null) { sb.AppendLine(string.Format("{0}###{0}", str)); } } write(sb.ToString()); } } } Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 24 décembre 2010 Posté(e) le 24 décembre 2010 Hello Gilles En effet ce code parait "assez limpide" ! Question BETE : cet EXE est 64 bits ou 32 bits ou les DEUX ? Le source peut il etre totalement identique ou presque entre une version 32 et 64 bits ? Est ce simplement une directive de compilation ?? Joyeux Noel et Bonne Annee, Le Decapode Autodesk Expert Elite Team
(gile) Posté(e) le 24 décembre 2010 Posté(e) le 24 décembre 2010 Salut, Comme expliqué brièvement réponse 27, le gros avantage de la technologie .NET réside dans l'utilisation de la Common Language Infrastructure (CLI), une sorte de 'machine virtuelle' qui permet d'utiliser des assemblies (dll ou exe) pré-compilées dans un langage intermédiaire (Common Intermediate Language ou CIL) depuis des sources écrites dans les langages compatibles (C#, VB.net, F#, etc).Le Common Langage Runtime (CLR), qui est l'implémentation de la CLI, compile ces assemblies en langage machine "à la volée" (Just In Time Compilation) lors de la première exécution, en fonction de la plateforme d'exécution courante. En clair, la même application qu'elle soit écrite en VB.NET, C#, F#, J#, IronPython... (ou avec des assemblies écrites dans différents langages) s'exécutera aussi bien en 32 qu'en 64 bits quelque soit le système d'exploitation (y compris Unix et MacOS avec le projet Mono) à condition que la version du Framework .NET (ou des bibliothèques Mono) ciblée par l'application soit chargée sur le poste où elle est exécutée. .NET, outre les "applications Console" comme celle-ci, permet de faire des applications Windows, des bibliothèques de classes, des applications Web et des applications AutoCAD (utilisant l'API AutoCAD .NET). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rebcao Posté(e) le 5 janvier 2011 Auteur Posté(e) le 5 janvier 2011 Bonsoir, Bonne Année et un Très Grand Merci (Gile) que du bonheur... Mille fois merci... Et n'hésites pas à m'envoyer la note ;) Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
rebcao Posté(e) le 5 janvier 2011 Auteur Posté(e) le 5 janvier 2011 Re, Après un test sur l'option #RIEN# ça na pas l'air de fonctionner ? En tapant : REMPLACE CHAINE #RIEN# FICHIER.TXT Remplace la CHAINE par le texte #RIEN# ! En théorie la CHAINE devait être supprimée... Quid ? :casstet: Merci de ta réponse. Christian [Edité le 5/1/2011 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
(gile) Posté(e) le 5 janvier 2011 Posté(e) le 5 janvier 2011 Oupss !... J'avais mal compris la demande... Voilà une nouvelle version : Remplace.zip PS : j'ai mis l'option #RIEN# mais une chaîne vide ferait aussi bien l'affaire :REMPLACE CHAINE "" FICHIER.TXT Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rebcao Posté(e) le 6 janvier 2011 Auteur Posté(e) le 6 janvier 2011 Bonjour, Mais c'est bien sur... Encore une fois je te remercie tout fonctionne au poil ! Christian [Edité le 6/1/2011 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
rebcao Posté(e) le 26 janvier 2011 Auteur Posté(e) le 26 janvier 2011 Bonjour Gilles, J'espère qu'il fait beau dans le Sud... Petit problème avec la police lorsque j'ai un fichier qui contient des caractères accentués il sont remplacés par un caractère autre !!! La page de CODE n'est pas la même ! Comme ce programme est exécuté uniquement en mode BATCH je pense qu'il y a un mélimélo en la page de code WINDOWS et DOS ! Si tu as une solution ce serait SUPER ! ;) Merci Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
(gile) Posté(e) le 26 janvier 2011 Posté(e) le 26 janvier 2011 Salut, Je dois dire que je ne maîtrise pas bien les problèmes d'encodage de caractères (c'est assez complexe). Après avoir consulté ma doc, j'ai modifié le code, mais je ne peux rien garantir.Merci de me dire si ça fonctionne. Remplace.zip Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
rebcao Posté(e) le 28 février 2011 Auteur Posté(e) le 28 février 2011 Bonjour, Pour information. Suite à quelques TESTS, j'ai constaté que les premières versions du programme REMPLACE.EXE encodait en fichier UTF-8 !!! ce format ne convient pas du tout à AutoCAD. La dernière version du REMPLACE.EXE encode en ANSI ce qui fonctionne parfaitement ! Encore merci Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
rebcao Posté(e) le 28 février 2011 Auteur Posté(e) le 28 février 2011 Re, Visiblement il n'aime pas les caractères accentués ! Voici un exemple : REMPLACE.EXE liste listeàèù TEST_FIC.MNS au lieu de [surligneur] listeàèù [/surligneur]on obtient [surligneur] listeÓÞ¨[/surligneur] Il doit y avoir une histoire de page de codes... Si tu peux y jeter un oeil ?! Je te remercie. Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
lecrabe Posté(e) le 28 février 2011 Posté(e) le 28 février 2011 Hello Christian Tu laisses les gens utiliser des caracteres accentues / speciaux, mais c un SCANDALE :) Le Decapode Autodesk Expert Elite Team
rebcao Posté(e) le 1 mars 2011 Auteur Posté(e) le 1 mars 2011 Bonjour, Mé Ké Ki Di La !? Surtout pas... J'ai utilisé le SUPER Programme de Gilles pour remplacer deux trois bricoles dans un fichier .MNS et en retour ça donne ça ! Christian [Edité le 1/3/2011 par rebcao] Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant