Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 [C#] Manipuler la date courante et des fichiers Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Mar 24 Oct 2006 - 10:26 Répondre en citantRevenir en haut

Salut à tous,

Mon entreprise d'accueil m'a chargée de réaliser un petit programme en C#.

Dans ce but j'ai besoin d'apprendre à faire deux/trois trucs en C# que j'ignore pour l'instant :
<s>- Comment récupérer puis manipuler la date courante.</s> REUSSI
<s>- Comment copier (PAS déplacer) un fichier d'un répertoire à un autre.</s> REUSSI
- Comment lancer un script en PEARL et attendre qu'il ait fini de s'exécuter (potentiellement en mettant mon programme C# en pause pendant une durée raisonnable).

Tout ça en mode console.

Evidemment je vais me documenter sur Internet mais si vous avez des débuts de pistes à me fournir, des noms de commandes notamment, je vous en serai reconnaissant.

P.S : Pourquoi j'arrive pas à barrer mon texte? Crying or Very sad Pourtant les balises HTML devraient marcher non?


Dernière édition par Strato le Mar 24 Oct 2006 - 13:14; édité 2 fois
Voir le profil de l'utilisateurEnvoyer un message privé

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
zowix
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 176
Localisation: Grenoble - entre une chaise et un clavier

MessagePosté le: Mar 24 Oct 2006 - 11:07 Répondre en citantRevenir en haut

salut
pour copier:
un stream reader, contenu fichier dans variable, variable dans fichier.
y'a peut-être plus simple.

sinon zieute csharpfr.com Wink

_________________
Image
acer aspire 5101 awlmi x56 monté à 1GO... ça tourne!
membre à l'essai du staff www.grenoble2night.com (zowix)
jeudi: bars / vendredi: liquid / samedi: scotch
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Mar 24 Oct 2006 - 11:49 Répondre en citantRevenir en haut

Merci zowix.

Est-ce que quelqu'un saurait me dire comment transformer ma variable (de type string) 2006 en 06 ? (autrement dit comment virer automatiquement deux caractères sur la gauche)

Edit : C'est bon j'ai trouvé...

Code:
AA = AA.Substring(2,2);


Edit 2 : Pour déplacer un fichier il y avait plus simple...

Code:
File.Copy("C:\\fichier de départ", "C:\\fichier d'arrivée", true);


true indique si l'on doit écraser le fichier d'arriver si un fichier de même nom existe déjà.
Voir le profil de l'utilisateurEnvoyer un message privé
zowix
Accro à Web-IG
Accro à Web-IG


BTS IG - Option développeur 2ème année
Sexe: Sexe:Masculin
Messages: 176
Localisation: Grenoble - entre une chaise et un clavier

MessagePosté le: Mar 24 Oct 2006 - 15:04 Répondre en citantRevenir en haut

ben voilà, t'as trouvé.
je dois dire que j'apprends pas des masses en cours, csharpfr.com est mon vrai prof de C#...

_________________
Image
acer aspire 5101 awlmi x56 monté à 1GO... ça tourne!
membre à l'essai du staff www.grenoble2night.com (zowix)
jeudi: bars / vendredi: liquid / samedi: scotch
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteurMSN Messenger
telynor
Résident du forum
Résident du forum


Post-BTS
Sexe: Sexe:Féminin
Messages: 345
Localisation: IDF

MessagePosté le: Mer 25 Oct 2006 - 07:48 Répondre en citantRevenir en haut

Strato a écrit:

- Comment lancer un script en PEARL et attendre qu'il ait fini de s'exécuter (potentiellement en mettant mon programme C# en pause pendant une durée raisonnable).


Pour mettre ton programme en pause sans bloquer le processus principal, tourne toi vers les thread.

Un thread te permet d'executer une action en parallele de ton programme (genre attendre une reponse pendant que tu continus a bouger des fichier

http://emerica.developpez.com/csharp/threads/


Sinon pour la copie de fichier oui le FileCopy c est bien et pour le traitement de chaine le substring c est bien aussi.

bon courage pour la suite
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Mer 25 Oct 2006 - 16:27 Répondre en citantRevenir en haut

telynor a écrit:
Strato a écrit:

- Comment lancer un script en PEARL et attendre qu'il ait fini de s'exécuter (potentiellement en mettant mon programme C# en pause pendant une durée raisonnable).

Pour mettre ton programme en pause sans bloquer le processus principal, tourne toi vers les thread.

En fait je me suis servi de l'instruction Process.
Code:
Process Truc = Process.Start("pearl \"C:\\blablabla.pl\"");
Truc.Wait.For.Exit();

Mais j'ai pas encore pu le tester...
Voir le profil de l'utilisateurEnvoyer un message privé
telynor
Résident du forum
Résident du forum


Post-BTS
Sexe: Sexe:Féminin
Messages: 345
Localisation: IDF

MessagePosté le: Jeu 26 Oct 2006 - 16:34 Répondre en citantRevenir en haut

le process permet de lancer un exe.
Par contre (c est a tester) mais je pense que ton application va 'rester bloqué' jusqua la fin de l'execution.

L'avantage du thread c est que ton apply peut faire autre chose en parallele
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Jeu 26 Oct 2006 - 18:15 Répondre en citantRevenir en haut

telynor a écrit:
le process permet de lancer un exe.

Tu penses que ça ne marchera pas avec des lignes de commande qui lancent des scripts PEARL?
telynor a écrit:
Par contre (c est a tester) mais je pense que ton application va 'rester bloqué' jusqua la fin de l'execution.

C'est le but... Comme je ne maîtrise pour l'instant absolument pas les classes, objets, structures, et autres joyeusetés, j'ai conçu le programme pour qu'il se déroule de manière linéaire et en mode console uniquement. Donc c'est bien mon idée de lancer des applis extérieures et d'attendre qu'elles se soient terminées (et i y a un script particulier qui prend bien 30 minutes et qui doit être entièrement terminé avant qu'on lance les autres scripts).
telynor a écrit:
L'avantage du thread c est que ton apply peut faire autre chose en parallele

J'ai vaguement regardé et ça m'a semblé nettement plus compliqué que le Process. Mais si je suis obligé d'en passer par là...

En fait je n'ai pas encore testé le Process, je ferai ça lundi après-midi au boulot...
Voir le profil de l'utilisateurEnvoyer un message privé
telynor
Résident du forum
Résident du forum


Post-BTS
Sexe: Sexe:Féminin
Messages: 345
Localisation: IDF

MessagePosté le: Ven 27 Oct 2006 - 07:56 Répondre en citantRevenir en haut

hesite pas a nous tenir au courant, et si besoin on regardera ce qu'on a comme solution Smile
Voir le profil de l'utilisateurEnvoyer un message privéMSN Messenger
Strato
Résident du forum
Résident du forum


Ecole d'Ingénieurs
Sexe: Sexe:Masculin
Messages: 250
Localisation: Paris

MessagePosté le: Mar 31 Oct 2006 - 14:49 Répondre en citantRevenir en haut

Bon. J'ai enfin pu le tester grandeur nature et après quelques tracas tout marche...

... presque. En effet, j'ai encore une petite pétouille à résoudre.

Avec mon Process je lance une ligne de commande en perl qui doit créer des fichiers HTML. Grosso modo ça ressemble à ça :
Code:
perl "pouetpouet.pl" -output > "C:\trululu.html"


Sauf que quand je l'exécute depuis mon programme C# avec Process, au lieu de créer le fichier HTML, il fait défiler dans la console et à vitesse grand V l'intégralité du code que devrait contenir ce fichier HTML, et il ne le crée pas.

Je sais que c'est un problème de "flux" et j'ai déjà essayé d'ajouter Process.RedirectStandardOutput = false (ou true d'ailleurs) mais ça n'a rien changé.

Est-ce que quelqu'un a une vague idée de la manière de lui faire comprendre de ne pas tenir compte de ce flux et de laisser le Process faire son affaire?
Voir le profil de l'utilisateurEnvoyer un message privé
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum