Announcement

Collapse
No announcement yet.

Editor schreiben... jetzt hat es mich auch erwischt

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Editor schreiben... jetzt hat es mich auch erwischt

    Hallo zusammen,

    nun hat es mich leider auch erwischt und ich muss einen Editor mit vb.net schreiben. Soweit so einfach.
    Das Dumme ist nur, dass ich rtf einlesen muss und dieses dann aber nicht als rtf ausgeben darf sondern in einem rtf ähnlichen format.
    Soll heißen:
    Ich muss alle Formatierungen einer Zeile umsetzen in ein spezielles Format und diese Zeile dann mit den neuen Formatierungen in eine neue Datei schreiben.
    z.B.
    {\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl {\f0\fnil\fcharset0 Arial;}}
    \viewkind4\uc1\pard\fs20 Dies ist \b ein\b0 beispieltext
    \par }
    wird zu
    <ST,`Dies ist` ,12,55><ST,`ein`,23,55><ST,`beispieltext`,12,55>
    wobei die 12 dem Font Arial entspricht
    und die 23 dem Font Arial fett.

    Wie kann ich nun die Zeilen so aus der RTE-Box auslesen, dass ich die dann in dieses besch.... Format umwandeln kann?

    Vielen Dank im voraus für Eure HIlfe.
    Ich bin echt am verzweifeln....

  • #2
    Hallo,

    der Editor kann schon auf RTF basieren. Du benötigts "nur" zusätzlich eine Konvertierer der besch.... Format <-> RTF kann


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      joo und genau für diesen Konvertierer brauche ich etwas Hilfe, wie ich den RTF-Text irgendwohin lese, parse und dann in diesem "Pseudo-Keine-Ahnung-Was-das-ist-Format" ausgeben kann

      Comment


      • #4
        Dann muss der Konvertierer eben in beiden Richtungen funktionieren. Dann kannst Du einen standard RTF Editor verwenden. Beim Speichern wird das ganze dann in Dein Format umgewandelt. Beim Laden wandelst Du es zurück in RTF und zeigst es wird im RTF Editor an Word machts ja auch nicht anders

        Comment


        • #5
          Hallo,

          für die Konvertierung schau dir mal (als Inspiration) das Interpreter Muster an.

          Sollte es jedoch so sein dass von RTF auf das "komische" ein direktes Mapping vorhanden ist kannst du auch eleganter mit Regex das Replace durchführen.

          Es gibt sonst auch OpenSource RTF zu HTML konverter - dort kannst du auch schauen wie es gemacht wird.


          mfG Gü
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment


          • #6
            Ich frage mich nur immer wieder wirklich wer heutzutage noch ein spezielles Format für irgendwelche Formatierungen braucht -.-

            Comment


            • #7
              moin...

              Ich hoffe das dieser Code das ist was du suchst

              Code:
              Imports System.IO
              
              Public Class Form1
              
                  Private Sub Datei_speichern()
                      Dim save_dialog As New SaveFileDialog
                      save_dialog.ShowDialog()
                      Dim speichern_pfad As String = save_dialog.FileName
                      Dim datei As New System.IO.StreamWriter(speichern_pfad)
              
              
                      datei.WriteLine(TextBox1.Text)
              
                      datei.Close()
              )
              Da müsste jetzt beim SPeichern unten beim "DateiTyp" nichts stehen ...

              Hoffe konnte dir helfen..



              VB.net.Cookie

              PS: Hab was vergessen der restliche Save/open Code


              Code:
               Private Sub Öffnen()
                      Dim oeffne_dialog As New OpenFileDialog
                      oeffne_dialog.ShowDialog()
                      Dim öffne_pfad As String = oeffne_dialog.FileName
                      Dim lesen As New System.IO.StreamReader(öffne_pfad)
                      TextBox1.Text = lesen.ReadToEnd
                      lesen.Close()
              
                  End Sub
              
              
                  Private Sub NeuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NeuToolStripMenuItem.Click
                      If Textbox1.Modified = True Then
                          Dim speicher_bevor_neu As MsgBoxStyle
                          MsgBox("Wollen Sie die Datei vorher Speichern?", MsgBoxStyle.YesNo, "Speichern?")
                          If speicher_bevor_neu = MsgBoxResult.Yes Then
                              Datei_speichern()
                          ElseIf speicher_bevor_neu = MsgBoxResult.No Then
                              Textbox1.Clear()
              
                          End If
              
                      Else
                          Textbox1.Clear()
              
                      End If
                  End Sub
              
                  Private Sub OpenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ÖpenToolStripMenuItem.Click
                      Öffnen()
              
                  End Sub
              
                  Private Sub SpeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpeichernToolStripMenuItem.Click
                      Datei_speichern()
              I´m the Cookie of Vb.Net

              Comment


              • #8
                @VB.Net.Cookie

                Hast du dir die Frage überhaupt durchgelesen? Woraus entnimmst du, das er Code zum OpenFileDialog braucht?


                Ich muss alle Formatierungen einer Zeile umsetzen in ein spezielles Format und diese Zeile dann mit den neuen Formatierungen in eine neue Datei schreiben.
                z.B.
                {\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl {\f0\fnil\fcharset0 Arial;}}
                \viewkind4\uc1\pard\fs20 Dies ist \b ein\b0 beispieltext
                \par }
                wird zu
                <ST,`Dies ist` ,12,55><ST,`ein`,23,55><ST,`beispieltext`,12,55>
                wobei die 12 dem Font Arial entspricht
                und die 23 dem Font Arial fett.

                Wie kann ich nun die Zeilen so aus der RTE-Box auslesen, dass ich die dann in dieses besch.... Format umwandeln kann?
                Das hast du nicht gelesen?

                Hoffe konnte dir helfen..
                ???????
                Christian

                Comment


                • #9
                  Nur so ein Gedanke ... Woher willst du wissen das er es nicht braucht ?? Auch wenn er es nicht braucht brauch er ja den Open...Code nicht zu benutzen ... gell
                  I´m the Cookie of Vb.Net

                  Comment


                  • #10
                    Woher willst du wissen das er es nicht braucht ??
                    Wohl weil er nicht danach gefragt hat

                    Auch wenn er es nicht braucht brauch er ja den Open...Code nicht zu benutzen ... gell
                    Fängst du jetzt an all möglichen Code dann zu posten...ist ja egal wenn er nicht zum Thema gehört
                    Christian

                    Comment


                    • #11
                      Nope,

                      da ich einfach nur nett sein will und ich das selbe Problem auch schon hatte und es dank einem Typen der mir einfach eine E-mail gesendet hat mit Codes mit den ich nichts anfangen konnte. Nun habe ich den Fehler weg bekommen und kann jetzt das Textdokument auch als *.txt speichern .... Hoffe du verstehst jetzt meine absichten ....
                      I´m the Cookie of Vb.Net

                      Comment

                      Working...
                      X