none
WebBrowser, TextBox, Speichern, Drucken, Öffnen RRS feed

  • Frage

  • Hallo Leute,

    Ich schreibe gerade an mehreren Programmen, ich brauche dabei aber vielleicht etwas hilfe .

    Meine Fragen:

    1. Wie speicher ich den Text der in einer TextBox1 steht als den Suffix .txt? Das ganze soll über einen Button1 laufen. Also wenn man auf den Button1 klickt öffnet sich ein DIalog wo man den Namen bestimmen kann.

    2. Wie kann ich in einem WebBrowser1 den Seitentitel anzeigen`? also der Titel der Webseite soll in einer TextBox1 angezeigt werden.

    3.Wie kann man eine TextBox1 drucken? Also das wenn man auf einen Button1 klickt, sich darauf ein Fenster öffnet, wo man einstellungen oder so vprnehmen kann. Es kann auch einfach sein, das er es direkt druckt aber es müsste schon ein Fenster erscheinen, das gedruckt wird kann auch nur eine Info sein.

    4. Wie kann ich eine .html , .txt , .php ect. Datei in einem WebBrowser1 öffnen?
    Also es soll auf einen Button1 geklickt werden und dann öffnet sich ein Dialogfenster, wo man eine Datei auswählen kann.

    5. Wie kann ich in einer TextBox1 eine .txt-Datei öffnen?
    Also man klickt auf einen Button1 und darauf öffnet sich ein Fenster, in dem man die Datei auswählen kann.


    Ich hoffe ihr könnt mir bei manchen oder allen Fragen helfen.

    Vieleeeeeeeeeee Grüße,


    Stephan
    Freitag, 31. Oktober 2008 16:39

Antworten

  • Hallo,

    wie ich sehe, wurde das Thema Drucken ausgespart. Da habe ich auch lange gesucht.
    Folgenden Code habe ich dazu gefunden (bislang aber selbst noch nicht probiert).
    Das Problem bei der Verwendung von Dialogen ist, dass der Dialog selbst nicht unseren Job erledigt. Beim ColorDialog ist das einfach.
    Drucken ist da schon etwas komplizierter. Unter C++ ist es mr mal gelungen, eine Codevorlage zum laufen zu kriegen.

    Viel Erfolg hiermit:

    Dim fileToPrint As System.IO.StreamReader
    Dim printFont As System.Drawing.Font
    Private Sub PrintButton_Click(sender As Object, e As EventArgs) Handles _
       PrintButton.Click
       Dim PrintPath As String = System.Environment. _
          GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
       fileToPrint = New System.IO.StreamReader(PrintPath & "\myFile.txt")
       printFont = New System.Drawing.Font("Arial", 10)
       PrintDocument1.Print()
       fileToPrint.Close()
    End Sub
    
    Private Sub PrintDocument1_PrintPage(sender As Object, e As _
       System.Drawing.Printing.PrintPageEventArgs) Handles _
       PrintDocument1.PrintPage
       Dim linesPerPage As Single = 0
       Dim yPos As Single = 0
       Dim count As Integer = 0
       Dim leftMargin As Single = e.MarginBounds.Left
       Dim topMargin As Single = e.MarginBounds.Top
       Dim line As String = Nothing
       linesPerPage = e.MarginBounds.Height/printFont.GetHeight(e.Graphics)
       While count < linesPerPage
          line = fileToPrint.ReadLine()
          If line Is Nothing Then
             Exit While
          End If
          yPos = topMargin + count * printFont.GetHeight(e.Graphics)
          e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, _
             yPos, New StringFormat())
          count += 1
       End While
       If Not (line Is Nothing) Then
          e.HasMorePages = True
       End If
    End Sub
    



    Wenn's klappt, gibs weiter, wenn nicht (sag blos niemandem von wem du das hast ;-)

    Stefan
    Liebe Grüße Stefan
    Sonntag, 21. Februar 2010 22:26
  • 1)

    Code Snippet

    Dim SaveFileDialog As New SaveFileDialog
    SaveFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
    SaveFileDialog.Filter = "Textdateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"

    If (SaveFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
    Dim sw As New IO.StreamWriter(SaveFileDialog.FileName, _
    False, System.Text.Encoding.GetEncoding(1252))
    sw.Write(TextBox1.Text)
    sw.Close()
    End If


    2) Kann ich nicht genau sagen, ich hab mich noch nie mit dem Webbrowser beschäftigt. Ich würds mal mit
    textbox1.Text = webbrowser1.DokumentTitle probieren.

    3) PrintDialog verwenden. Hab ich auch noch nicht probiert.

    4) Dateipfad als Parameter für webbrowser1.Navigate() angeben.

    5)
    Code Snippet

    Dim OpenFileDialog As New OpenFileDialog

    OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments

    OpenFileDialog.Filter = "Textdateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"


    If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then

    Dim sr As New IO.StreamReader(OpenFileDialog.FileName, _ System.Text.Encoding.GetEncoding(1252)

    TextBox1.Text = sr.ReadToEnd

    sr.Close()
    sr.Dispose()

    End If

    mfg mr hapflinger


    EDIT: Tut mir Leid wegen der missglückten Codebeispielen...


    Mittwoch, 5. November 2008 19:45

Alle Antworten

  • 1)

    Code Snippet

    Dim SaveFileDialog As New SaveFileDialog
    SaveFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments
    SaveFileDialog.Filter = "Textdateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"

    If (SaveFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
    Dim sw As New IO.StreamWriter(SaveFileDialog.FileName, _
    False, System.Text.Encoding.GetEncoding(1252))
    sw.Write(TextBox1.Text)
    sw.Close()
    End If


    2) Kann ich nicht genau sagen, ich hab mich noch nie mit dem Webbrowser beschäftigt. Ich würds mal mit
    textbox1.Text = webbrowser1.DokumentTitle probieren.

    3) PrintDialog verwenden. Hab ich auch noch nicht probiert.

    4) Dateipfad als Parameter für webbrowser1.Navigate() angeben.

    5)
    Code Snippet

    Dim OpenFileDialog As New OpenFileDialog

    OpenFileDialog.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.MyDocuments

    OpenFileDialog.Filter = "Textdateien (*.txt)|*.txt|Alle Dateien (*.*)|*.*"


    If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then

    Dim sr As New IO.StreamReader(OpenFileDialog.FileName, _ System.Text.Encoding.GetEncoding(1252)

    TextBox1.Text = sr.ReadToEnd

    sr.Close()
    sr.Dispose()

    End If

    mfg mr hapflinger


    EDIT: Tut mir Leid wegen der missglückten Codebeispielen...


    Mittwoch, 5. November 2008 19:45
  • Zu 4. Aus der ToolBox einen OpenfileDialog holen und einen Button (falls nicht vorhanden)

    Für den button
     Dim OpenFile As New OpenFileDialog
            OpenFile.FileName = " "
            OpenFile.Filter = "Website (*.html) |*.html"
            OpenFile.Title = "HTML"
            OpenFile.ShowDialog()
            Try
                Dim Read As New System.IO.StreamReader(OpenFile.FileName)
                Webbrowser1.DocumentText = Read.ReadToEnd
                Read.Close()
            Catch ex As Exception
            End Try
    Sonntag, 21. Februar 2010 16:24
  • Hallo,

    wie ich sehe, wurde das Thema Drucken ausgespart. Da habe ich auch lange gesucht.
    Folgenden Code habe ich dazu gefunden (bislang aber selbst noch nicht probiert).
    Das Problem bei der Verwendung von Dialogen ist, dass der Dialog selbst nicht unseren Job erledigt. Beim ColorDialog ist das einfach.
    Drucken ist da schon etwas komplizierter. Unter C++ ist es mr mal gelungen, eine Codevorlage zum laufen zu kriegen.

    Viel Erfolg hiermit:

    Dim fileToPrint As System.IO.StreamReader
    Dim printFont As System.Drawing.Font
    Private Sub PrintButton_Click(sender As Object, e As EventArgs) Handles _
       PrintButton.Click
       Dim PrintPath As String = System.Environment. _
          GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
       fileToPrint = New System.IO.StreamReader(PrintPath & "\myFile.txt")
       printFont = New System.Drawing.Font("Arial", 10)
       PrintDocument1.Print()
       fileToPrint.Close()
    End Sub
    
    Private Sub PrintDocument1_PrintPage(sender As Object, e As _
       System.Drawing.Printing.PrintPageEventArgs) Handles _
       PrintDocument1.PrintPage
       Dim linesPerPage As Single = 0
       Dim yPos As Single = 0
       Dim count As Integer = 0
       Dim leftMargin As Single = e.MarginBounds.Left
       Dim topMargin As Single = e.MarginBounds.Top
       Dim line As String = Nothing
       linesPerPage = e.MarginBounds.Height/printFont.GetHeight(e.Graphics)
       While count < linesPerPage
          line = fileToPrint.ReadLine()
          If line Is Nothing Then
             Exit While
          End If
          yPos = topMargin + count * printFont.GetHeight(e.Graphics)
          e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, _
             yPos, New StringFormat())
          count += 1
       End While
       If Not (line Is Nothing) Then
          e.HasMorePages = True
       End If
    End Sub
    



    Wenn's klappt, gibs weiter, wenn nicht (sag blos niemandem von wem du das hast ;-)

    Stefan
    Liebe Grüße Stefan
    Sonntag, 21. Februar 2010 22:26
  • 2. (Textbox1)
    textBox1.Text = Webbrowser1.Url
    müsste klappen
    Montag, 22. Februar 2010 16:37
  • 5. (Button "Datei öffnen")
     Dim OpenFile As New OpenFileDialog
            OpenFile.FileName = " "
            OpenFile.Filter = "Text (*.txt) |*txt"
            OpenFile.Title = "TXT"
            OpenFile.ShowDialog()
            Try
                Dim Read As New System.IO.StreamReader(OpenFile.FileName)
                TextBox1.Text = Read.ReadToEnd
                Read.Close()
            Catch ex As Exception
            End Try
    
    • Als Antwort vorgeschlagen mmmsdn Sonntag, 14. März 2010 08:47
    Dienstag, 23. Februar 2010 12:19
  • Voller Code für Speichern und Öffnen mit Erklärungen:

    '''''''''''''''''''''''
    'Code by Yves Riedener'
    '''''''''''''''''''''''
    
    Imports System.IO 'Importiert die IO Komponenten
    Public Class Form1
      Dim SaveFilePath As String 'Deklariert eine Text Variable für den Dateipafd
      Dim SaveFileText As String 'Deklariert eine Text Variable für den Dateitext
    
      Private Function OpenFile(ByVal Title As String, ByVal InitialDirecotry As String, ByVal Filter As String) 'Beginn der Funktion und Deklarierung der benötigten Informationen
        Try 'Versucht folgenden Code auszuführen
          SaveFilePath = Nothing 'Löscht die Informationen in der SaveFilePath Variable
          SaveFileText = Nothing 'Löscht die Informationen in der SaveFileText Variable
          Dim ofd As New OpenFileDialog 'Erstellt einen Neuen OpenFileDialog, welcher für die Dateiauswahl verwendet wird
          ofd.Title = Title 'Weist dem ofd einen Titel zu
          ofd.Multiselect = False 'Da diese Funktion nur für das Lesen einer Datei geschrieben wurde, wird Multiselect auf False gesetzt(Mehrfachauswahl wird deaktiviert)
          ofd.InitialDirectory = InitialDirecotry 'Weist dem ofd einen Start-Ordner zu, dieser ist zu sehen, wenn der ofd geöffnet wird
          ofd.Filter = Filter 'Weist dem ofd einen Filter zu, dieser beschränkt die Dateiauswahl nach folgendem String-Schema: Dateien 1|*.11;*.12|Dateien 2|*.21;*.22;*.23|Alle Dateien|*.*
          If ofd.ShowDialog = Windows.Forms.DialogResult.OK Then 'Folgender Code wird nur ausgeführt wenn die Datei erfolgreich ausgewählt wurde
            If File.Exists(ofd.FileName) Then 'Folgender Code wird nur ausgeführt wenn die ausgewählte Datei existiert
              SaveFilePath = ofd.FileName 'Weist der SaveFilePath Variable den ausgewählten Datei-Pfad zu
              SaveFileText = File.ReadAllText(SaveFilePath) 'Weist der SaveFileText Variable den ausgewählten Datei-Text zu
            Else
              MsgBox("Die ausgewählte Datei konnte nicht gefunden werden.", MsgBoxStyle.Critical, "Öffnen Fehlgeschlagen") 'Zeigt eine Fehlermeldung an, wenn die Datei nicht gefunden wurde
            End If
          End If
          Return SaveFileText 'Gibt den Text der ausgewählten Datei zurück
        Catch ex As Exception 'Sollten Fehler im Obigen Code auftreten wird folgender Code ausgeführt:
          MsgBox(ex.Message, MsgBoxStyle.Critical, "Error") 'Zeigt die Fehlermeldung des Fehlers an
        End Try
      End Function
    
      Private Function SaveFile(ByVal Text As String, ByVal Title As String, ByVal InitialDirecotry As String, ByVal Filter As String) 'Beginn der Funktion und Deklarierung der benötigten Informationen
        Try 'Versucht folgenden Code auszuführen
          SaveFilePath = Nothing 'Löscht die Informationen in der SaveFilePath Variable
          SaveFileText = Nothing 'Löscht die Informationen in der SaveFileText Variable
          Dim sfd As New SaveFileDialog 'Erstellt einen Neuen SaveFileDialog, welcher für die Dateiauswahl verwendet wird
          sfd.Title = Title 'Weist dem sfd einen Titel zu
          sfd.InitialDirectory = InitialDirecotry 'Weist dem sfd einen Start-Ordner zu, dieser ist zu sehen, wenn der ofd geöffnet wird
          sfd.Filter = Filter 'Weist dem sfd einen Filter zu, dieser beschränkt die Dateiauswahl nach folgendem String-Schema: Dateien 1|*.11;*.12|Dateien 2|*.21;*.22;*.23|Alle Dateien|*.*
          If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then 'Folgender Code wird nur ausgeführt wenn die Datei erfolgreich ausgewählt wurde
            SaveFilePath = sfd.FileName 'Weist der SaveFilePath Variable den ausgewählten Datei-Pfad zu
            SaveFileText = Text 'Weist der SaveFileText Variable den Text zu
            File.WriteAllText(SaveFilePath, SaveFileText)
          End If
        Catch ex As Exception 'Sollten Fehler im Obigen Code auftreten wird folgender Code ausgeführt:
          MsgBox(ex.Message, MsgBoxStyle.Critical, "Error") 'Zeigt die Fehlermeldung des Fehlers an
        End Try
      End Function
    
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        RichTextBox1.Text = _
        OpenFile("Textdatei auswählen", My.Computer.FileSystem.SpecialDirectories.MyDocuments, "Text Dateien|*.txt|Web Dateien|*.html;*.htm;*.xml|Alle Dateien|*.*") 'Führt die Funktion OpenFile aus, welche einen Text zurück gibt, welcher in die RichTextBox1 geschrieben wird
      End Sub
    
      Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        SaveFile(RichTextBox1.Text, "Speicherort auswählen", My.Computer.FileSystem.SpecialDirectories.MyDocuments, "Text Dateien|*.txt|Html Dateien|*.html;*.htm|XML Dateien|*.xml|Alle Dateien|*.*") 'Führt die Funktion SaveFile aus, welche den Text in RichTextBox1 speichert
      End Sub
    End Class
    
    Einfach mal in Vb kopieren, ist dann ein bisschen übersichtlicher...


    LG Yves Riedener
    Freitag, 13. August 2010 16:31