| |
| 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! | Fragen zu Tipps & Tricks und Workshops im vb@rchivTipp 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 | |
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 | |
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. | |
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 | |
| Sie sind nicht angemeldet! Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|
|
|
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
|
|