vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 2478: Erzeugen und Formatieren eines RTF-Textes aus "normalen" Texten/Strings 
Autor: Manfred X
 Tipp anzeigenDatum: 25.11.17 21:31

Hallo!

Warum so umständlich mit Parametern als Zeichenfolgen ?
Public Class frmRTF
 
    'Klasse für Text-Abschnitt und RTF-Parameter
    'mit Standardwerten
    Private Class RTFParams
        Public text As String = ""
        Public Forecolor As Drawing.Color = Color.Black
        Public Backcolor As Drawing.Color = Color.White
        Public font As Drawing.Font = _
           New Font("Arial", 12, Drawing.FontStyle.Regular)
        Public indent As Integer = 0
    End Class
 
 
    Dim rtf As New RichTextBox With _
       {.Parent = Me, .Dock = DockStyle.Fill}
 
 
    Private Sub frmRTF_Load(sender As System.Object, _
         e As System.EventArgs) Handles MyBase.Load
 
       'Liste für Textabschnitte
       Dim rtfparts As New List(Of RTFParams)
 
       'Ein Beispieltext
       With rtfparts
          .Add(New RTFParams With {.text = "Das ist ein schöner Text!" & _
                 vbCrLf & vbCrLf, .indent = 12})
 
          .Add(New RTFParams With _
                 {.text = "Das ist ein noch", .Forecolor = Color.Red, _
                .font = New Font("Arial", 12, FontStyle.Bold)})
          .Add(New RTFParams With _
              {.text = " sehr viel", .Forecolor = Color.Blue})
          .Add(New RTFParams With {.text = " schönerer Text!"})
        End With
 
        'Textabschnitte im Control zusammenfügen
        CreateRTFText(rtfparts)
    End Sub
 
 
    Private Sub CreateRTFText(ByVal rtfparts As List(Of RTFParams))
 
        For i As Integer = 0 To rtfparts.Count - 1
            With rtfparts(i)
                If Not String.IsNullOrWhiteSpace(.text) Then
                    rtf.SelectionColor = .Forecolor
                    rtf.SelectionBackColor = .Backcolor
                    rtf.SelectionFont = .font
                    rtf.SelectionIndent = .indent
                    rtf.AppendText(.text)
                End If
            End With
        Next i
    End Sub
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Erzeugen und Formatieren eines RTF-Textes aus "normalen" Texten/Strings 
Autor: thuring
Datum: 02.01.18 11:02

Nun gut, ManfedX, ob es viel umständlicher ist, mit Strings zu arbeiten - sehr subjektiv...
Ich sage mal so: Dein Vorschlag ist AUCH eine Möglichkeit.

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Erzeugen und Formatieren eines RTF-Textes aus "normalen" Texten/Strings 
Autor: Manfred X
Datum: 07.01.18 08:29

Hallo!

Ich hatte gefragt, ob diese String-Zusammenstellung einem
bestimmten Zweck dient, also z.B. dem Speichern der Texte und
Textattribute in einer CSV-Datei.

Prinzipiell sollte man - falls möglich - die Framework-Klassen nutzen.

Für das Speichern der Angaben zu den RTF-Teilen kann man typsicher
die Soap-Serialisierung einsetzen.
Dazu wird die von mir oben verwendete Liste in einer Klasse gekapselt
und die Methoden zum Laden/Speichern der Listenelemente (durch Serialisierung)
hinzugefügt.
Da die SOAP-Serialisierung (erstellt eine lesbare XML-Datei) generische Klassen
nicht unterstützt, muß man die zunächst die Elementzahl serialisieren und danach
die Elemente in einer Schleife einzeln serialisieren/deserialisieren.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Erzeugen und Formatieren eines RTF-Textes aus "normalen" Texten/Strings 
Autor: thuring
Datum: 07.01.18 08:37

Hallo!
Eine Frage sehe ich zwar nicht, aber die Idee mit dem Speichern der Strings in CSV oder gar SQL-Tabelle ist gut. Das kann man weiter denken, da kann man recht variabel arbeiten...

Salzburger

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel