Comment rediriger le résultat d’une commande console sur une form Un petit exemple pour vous montrer comment grâce à System.Management et System.ServiceProcess il est possible de lancer des commandes dans la console windows et de rediriger le résultat sur une form. Dans cet exemple …
Créer un BlocNote (part2)
Dans visual basic 6 , la gestion des fichier se réalisait en utilisant les fonction d’ouverture open,append, input,output.
Dans visual basic.net (orienté Objet) la gestion des fichier se réalise a partir de l’espace de nom System.IO qui duplique et développe l’objet système de fichier et nous permet de lire et d’écrire des caractères vers des flux ou des fichiers.
Nous allons voir dans ce tutoriel: Comment utiliser le system Objet pour créer un bloc note.
Prérequis : partie 1 (ouverture et sauvegarde d’un fichier txt, récupération d’information sur le fichier)
dans cette partie nous allons voir :
- Mise en gras
- Mise en italique
- Soulignement
- Choix de la police
- Choix de la taille de la police
- Choix de la couleur du texte
- Alignement du texte (gauche, droite , centré)
- Ajouter une zone de liste (bullet)
- bouton Couper, Copier, Coller
Rajouter sur votre Form : une barre d’outils, puis ajouter sur cette barre d’outils
- 13 boutons (gras, italique,souligné,barré,gauche,centré,droite,enveleindentation, indentation,liste a puce, couper, copier coller)
- 3 combobox (taille police, police, couleur)
mnu_gras
mnu_italique…
Listes des polices disponibles
For Each Font As System.Drawing.FontFamily In System.Drawing.FontFamily.Families mnu_police.Items.Add(Font.Name) Next 'on affiche par défaut la police du richtextbox mnu_police.Text = TResFichier.Font.Name
Tailles des polices disponibles
Nous allons ensuite ajouter la taille des polices dans le combo mnu_taillepolice
‘on ajoute la taille des police
Dim i As Integer For i = 6 To 48 Step 2 mnu_taillepolice.Items.Add(i) Next 'on affiche la taille par défault mnu_taillepolice.Text = TResFichier.Font.Size
Ajout du choix des couleurs
Puis les couleurs du system dans le combo mnu_couleur, en affichant la couleur noir par défault
‘On ajoute toute les couleurs du systeme a la barre d’outils couleur
'on part sur n'importe quelle couleur , le but est juste de recuperer le type Dim oT As Type = System.Drawing.Color.Beige.GetType 'obtention des propriétés du type dans un tableau Dim oProperties() As System.Reflection.PropertyInfo = oT.GetProperties Dim oP As System.Reflection.PropertyInfo 'itération For Each oP In oProperties If oP.CanRead Then mnu_couleur.Items.Add(oP.Name) End If
Fonctions gras, italiques, souligné, barré
Ensuite pour les bouton mnu_gras, mnu_italique, mnu_souligne, mnu_barre, de la barre d’outils sur l’événement clic
rajouter le code suivant :
'Mettre en gras Private Sub mnu_gras_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_gras.Click If TResFichier.SelectionFont.Bold Then TResFichier.SelectionFont = New Font(TResFichier.SelectionFont, FontStyle.Regular) Else TResFichier.SelectionFont = New Font(TResFichier.SelectionFont, FontStyle.Bold) End If End Sub 'souligné Private Sub mnu_souligne_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_souligne.Click If TResFichier.SelectionFont.Underline Then TResFichier.SelectionFont = New Font(TResFichier.SelectionFont, FontStyle.Regular) Else TResFichier.SelectionFont = New Font(TResFichier.SelectionFont, FontStyle.Underline) End If End Sub 'italique Private Sub mnu_italique_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_italique.Click If TResFichier.SelectionFont.Italic Then TResFichier.SelectionFont = New Font(TResFichier.SelectionFont, FontStyle.Regular) Else TResFichier.SelectionFont = New Font(TResFichier.SelectionFont, FontStyle.Italic) End If End Sub 'barré Private Sub mnu_barre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_barre.Click If TResFichier.SelectionFont.Strikeout Then TResFichier.SelectionFont = New Font(TResFichier.SelectionFont, FontStyle.Regular) Else TResFichier.SelectionFont = New Font(TResFichier.SelectionFont, FontStyle.Strikeout) End If End Sub
Fonctions d’alignements gauche, centré, droite, indentation
On s’attaque maintenant aux alignements, ce sont les boutons mnu_gauche, mnu_centre, mnu_droite, mnu_enleveindente, mnuindente, toujours dans l’évènement click
'alignement gauche Private Sub mnu_gauche_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_gauche.Click TResFichier.SelectionAlignment = HorizontalAlignment.Left End Sub 'alignement centré Private Sub mnu_centre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_centre.Click TResFichier.SelectionAlignment = HorizontalAlignment.Center End Sub 'alignement droite Private Sub mnu_droit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_droit.Click TResFichier.SelectionAlignment = HorizontalAlignment.Right End Sub 'indente de 20 a chaque click Private Sub mnu_indent_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_indent.Click TResFichier.SelectionIndent = TResFichier.SelectionIndent + 20 End Sub 'enleve l'indentation Private Sub mnu_enleveindent_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_enleveindent.Click TResFichier.SelectionIndent = TResFichier.SelectionIndent - 20 End Sub
Fonction de Listes ordonnées
La zone de liste, bouton mnu_bullet, événement click :
Private Sub mnu_bullet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_bullet.Click If TResFichier.SelectionBullet Then TResFichier.SelectionBullet = False Else TResFichier.SelectionBullet = True End If End Sub
Fonctions couper, copier, coller
Puis les fonctions couper, copier, coller : mnu_couper, mnu_copier, mnu_coller, événement click
'couper Private Sub mnu_couper_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_couper.Click Clipboard.SetText(TResFichier.SelectedRtf) TResFichier.SelectedText = "" End Sub 'copier Private Sub mnu_copier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_copier.Click Clipboard.SetText(TResFichier.SelectedRtf) End Sub 'coller Private Sub mnu_coller_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnu_coller.Click TResFichier.SelectedRtf = Clipboard.GetText End Sub
Fonctions choix de la police, sa taille, sa couleur
Et pour finir, la police, taille de police et couleur, sur l’évènement DropDownClosed , mnu_police, mnu_taillepolice, mnu_couleur
'choix de la couleur Private Sub mnu_couleur_DropDownClosed(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnu_couleur.DropDownClosed 'on créer un nouvelle instance de couleur Dim instColor As Color 'que l'on definie par son nom instColor = Color.FromName(mnu_couleur.SelectedItem) 'puis On l'affecte TResFichier.SelectionColor = instColor End Sub 'choix de la police Private Sub mnu_police_DropDownClosed(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnu_police.DropDownClosed Dim newsize As Single = mnu_taillepolice.Text TResFichier.SelectionFont = New Font(mnu_police.SelectedItem.ToString, TResFichier.SelectionFont.Size) End Sub 'choix de la taille de la police Private Sub mnu_taillepolice_DropDownClosed(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnu_taillepolice.DropDownClosed Dim newsize As Single = mnu_taillepolice.SelectedItem TResFichier.SelectionFont = New Font(TResFichier.SelectionFont.Name, newsize) End Sub
Voila, c’est un bon début, si vous souhaitez d’autre fonctions n’hésitez pas à laisser un commentaire.