PROBLème BLOC NOTES !!!

Signaler
Messages postés
12
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
11 juin 2012
-
Messages postés
12
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
11 juin 2012
-
J'ai créé un bloc note en visual basic et j'ai un problème.

J'aimerai ouvrir un fichier texte avec mon propre bloc note en l'ouvrant à partir du fichier texte

Par exemple, j'ouvre text.txt, il ouvre bloc_noteperso.exe et il place le texte
dans le bloc note, comment dois-je faire ?

12 réponses


Bonjour,

Il faut associer l'extension txt avec ton application avec un clic droit à l'ouverture et choisir ouvrir avec.
Ou bien, modifier la base de registre depuis ton application.
Messages postés
12
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
11 juin 2012

Je suis désolé mais j'ai déjà essayer avec ouvrir avec, ça ne marche pas, je ne sais pas non plus comment m'y prendre pour modifier le registre.

ça ne marche pas
On est bien avancé avec ça! sois plus précis s'il te plaît.
Messages postés
12
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
11 juin 2012

Je souhaite pouvoir ouvrir mon bloc note depuis une instance et y afficher le texte dedans du fichier texte ouvert

Oui ça j'ai bien compris.
A ce sujet, tu vas devoir gérer dans l'événement Load, la lecture des arguments de lancement de ton application :
Dim arguments() As String = System.Environment.GetCommandLineArgs

En général, si l'on clique sur un fichier dans l'explorateur windows par exemple, le premier paramètre renvoyé par System.Environment.GetCommandLineArgs est le fichier à ouvrir (dans ton cas un .txt).
Messages postés
12
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
11 juin 2012

Voici mon code

Public Class Form1
    Dim text_start As String
    Dim text_end As String
    Dim myformat As DataFormats.Format

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        'Demande d'enregistre si text_debut <> text_fin
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim arguments() As String = System.Environment.GetCommandLineArgs
    End Sub

    Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged
        text_end = RichTextBox1.Text
    End Sub

    Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub HeureDateToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HeureDateToolStripMenuItem.Click
        RichTextBox1.Text &= Now.ToShortTimeString & " " & Now.ToShortDateString
    End Sub

    Private Sub SélectionnertoutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SélectionnertoutToolStripMenuItem.Click
        RichTextBox1.SelectAll()
    End Sub

    Private Sub AnnulerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AnnulerToolStripMenuItem.Click
        If RichTextBox1.CanUndo Then
            RichTextBox1.Undo()
        End If
    End Sub

    Private Sub CouperToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CouperToolStripMenuItem.Click
        RichTextBox1.Cut()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        If RichTextBox1.TextLength <> 0 And RichTextBox1.SelectedText.Length <> 0 Then
            CouperToolStripMenuItem.Enabled = True
            CopierToolStripMenuItem.Enabled = True
        Else : CouperToolStripMenuItem.Enabled False : CopierToolStripMenuItem.Enabled False
        End If

        If RichTextBox1.SelectedText.Length <> 0 Then
            SupprimerToolStripMenuItem.Enabled = True
        Else
            SupprimerToolStripMenuItem.Enabled = False
        End If

        If RichTextBox1.TextLength <> 0 Then
            SupprimerToutToolStripMenuItem.Enabled = True
            SélectionnertoutToolStripMenuItem.Enabled = True
        Else
            SupprimerToutToolStripMenuItem.Enabled = False
            SélectionnertoutToolStripMenuItem.Enabled = False
        End If
    End Sub

    Private Sub CopierToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopierToolStripMenuItem.Click
        RichTextBox1.Copy()
    End Sub

    Private Sub SupprimerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SupprimerToolStripMenuItem.Click
        RichTextBox1.SelectedText = String.Empty 'On supprime le texte selectionné
    End Sub

    Private Sub SupprimerToutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SupprimerToutToolStripMenuItem.Click
        RichTextBox1.Text = String.Empty
    End Sub

    Private Sub CollerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CollerToolStripMenuItem.Click
        RichTextBox1.Paste()
    End Sub
End Class


De plus ,j'ai essayé d'ouvrir depuis un .txt, rien ne s'affiche cependant dans le richtextbox

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim arguments() As String = System.Environment.GetCommandLineArgs
'C'est ici qu'il faut ouvrir et lire le fichier pour afficher le texte.
'arguments(0) contient le chemin et le nom du fichier à ouvrir.
    End Sub
Messages postés
12
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
11 juin 2012

J'ai essayé de mettre dans ça
RichTextBox1.Text = arguments(0)

pour obtenir le chemin et ça me met le répertoire du fichier....

Le composant RichTextBox possède sa propre méthode qui lui permet de charger un fichier texte.
Tu peux donc faire simplement :
RichTextBox1.LoadFile(element(0), RichTextBoxStreamType.PlainText)

Edit: remplacer element(0) par arguments(0) bien entendu
Messages postés
12
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
11 juin 2012

Le problème c'est que quand j'ouvre notepad depuis un fichier texte, le notepad m'ouvre le notepad en mode texte
Messages postés
12
Date d'inscription
dimanche 22 mai 2011
Statut
Membre
Dernière intervention
11 juin 2012

J'ai trouvé la solution

J'utilise une variable path et filename

dans le form_load

If Command().Length >= 1 Then
            path = Replace(Command(), """", "")
            openfile()
        End If


Command(), c'est le chemin du fichier qui à ouvert le bloc notes.