vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Fireball-Codeeditor / Databinding 
Autor: Knabber
Datum: 09.12.23 12:45

Hallo nochmal.
Kennt sich jemand aus mit Fireball-Codeeditor ?
Ich hab das externe control installiert. Wenn Ich einen Code eintippe oder per Copy/Paste einfüge wird mir wie gewünscht "Syntaxhighligning" angezeigt.
Eigenlich ist es ja nichts anderes als eine Richtextbox mit Highligtning.

Wenn ich aber nun diese Box binde an einer Spalte einer Tabelle aus der DB (in den Eigenschaften Databindings/Erweitert) dann bleibt die Box leer.
Habe es mit einer normalen Richtextbox getestet. Da läuft alles Problemlos.
hat da vielleicht jemand eine Lösung?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fireball-Codeeditor / Databinding 
Autor: Manfred X
Datum: 09.12.23 21:10

Hallo!

So weit ich das nach einem kurzen Blick beurteilen kann,
ist dieser CodeEditor nicht als Richtextbox ausgelegt bzw. verwendbar.
Er besitzt zwar eine Texteigenschaft (von Control geerbt),
eine Zuweisung auf diese Eigenschaft scheint aber nicht
ausgeführt zu werden.
Eine Rtf-Eigenschaft ist nicht offen gelegt.

Beitrag wurde zuletzt am 09.12.23 um 21:30:45 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fireball-Codeeditor / Databinding 
Autor: Knabber
Datum: 10.12.23 11:25

Hallo
Habe mich entschlossen auf das Highlightning zu verzichten. Ich nehme eine normale Richtextbox
Damit funktioniert jedenfalls alles
Vielen Dank für dein rüberschauen und für die Antwort
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fireball-Codeeditor / Databinding 
Autor: Manfred X
Datum: 10.12.23 13:00

Hallo!

Die Richtextbox-Eigenschaften SelectionStart, SelectionLength und SelectionColor
ermöglichen die Highlight-Darstellung von Textabschnitten.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Windows.Forms Formular: Highlight in der Richtextbox 
Autor: Manfred X
Datum: 10.12.23 13:57

Public Class frmRTFHighLight
 
    'Eingabe der Worte für Highlight-Darstellung
    Dim WithEvents txtHigh As New TextBox With
        {.Parent = Me, .Left = 10, .Top = 10, .Width = 300}
 
    Dim rtbHigh As New RichTextBox With
        {.Parent = Me, .Left = 10, .Top = 50, .Width = 300, .Height = 300, _
          .Multiline = True}
 
    Dim txtHighlight As String = ""
 
 
    Private Sub frmRTFHighLight_Load(sender As Object, e As EventArgs) Handles _
      MyBase.Load
 
        'Beispieltext
        rtbHigh.Text = "Ene mene miste," & vbCrLf & "was rappelt in der Kiste?" _
          &
            vbCrLf & "Ene mene Meck" & vbCrLf & "und Du bist weg"
        rtbHigh.AppendText(vbCrLf & vbCrLf & rtbHigh.Text)
    End Sub
 
 
    Private Sub txtHigh_KeyDown(sender As Object, e As KeyEventArgs) Handles _
      txtHigh.KeyDown
 
        If e.KeyCode = Keys.Return Then
            'bestehenden Highlight-Text löschen
            SelectText(txtHighlight, False)
            txtHighlight = txtHigh.Text
            'neuen Text Highlight darstellen
            SelectText(txtHighlight, True)
        End If
    End Sub
 
 
    Private Sub SelectText(ByVal txt As String, ByVal showselect As Boolean)
 
        With rtbHigh
            If String.IsNullOrWhiteSpace(txt) Then Exit Sub
 
            Dim i As Integer = -txt.Length - 1
 
            'Suchschleife
            Do
                i = .Find(txt,
                          i + txt.Length + 1,
                          .Text.Length,
                          RichTextBoxFinds.WholeWord)
                If i >= 0 Then
                    .SelectionStart = i
                    .SelectionLength = txt.Length
 
                    If Not showselect Then
                        'normaleDarstellung
                        .SelectionColor = .ForeColor
                        .SelectionFont = .Font
                    Else
                        'Highlight-Darstellung
                        .SelectionColor = Color.Blue
                        .SelectionFont = New Font("Arial", 10, FontStyle.Bold)
                    End If
 
                    .SelectionLength = 0
                End If
            Loop While i >= 0 AndAlso i < .Text.Length - Txt.Length
        End With
    End Sub
 
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fireball-Codeeditor / Databinding 
Autor: Knabber
Datum: 10.12.23 14:40

Ja, vielen Dank für den Code
Sehr schön, aber es ist nicht das was ich eigenlich wollte.
Dein Code bezieht sich nur auf den Text. (Was heisst hier "Nur") Das ist schon ganz toll
Mit schwebt eigenlich etwas größeres vor. Etwa wie in "Visual Studio" oder aber "Notepad++"
Mit Zeileneinrückung, alles nach Hochkomma grün usw.

trotzdem vielen Dank für deine Mühe
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fireball-Codeeditor / Databinding 
Autor: Manfred X
Datum: 10.12.23 14:46

Dafür benötigst Du einen etwas größeren Programmieraufwand.

Um alles zwischen zwei Hochkommas mit Grüner Farbe zu markieren,
sucht man - wie gezeigt - nach Hochkommapaarungen und
markiert - wie gezeigt - den Text dazwischen.

Ansonsten empfehle ich, die verschiedenen Selection-Eigenschaften
der Richtextbox genauer anzuschauen. Es liegen alle für Deine Zwecke
benötigten Hilfsmittel vor ....
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Richtextbox: Routine für das Markieren der Texte zwischen zwei Kennstrings 
Autor: Manfred X
Datum: 10.12.23 15:35

Im ersten Parameter ist die Zeichenfolge anzugebe, die Beginn und Ende eines
Blocks anzeigt.
rtbHigh ist eine Richtextbox.

    Private Sub MarkerBetween(Delimiter As String, MarkerColor As Color)
 
        With rtbHigh
            Dim pos1 As Integer = -Delimiter.Length - 1
            Dim pos2 As Integer = -1
            Do
                pos1 = FindString(Delimiter, pos1)
                If pos1 >= 0 Then
                    pos2 = FindString(Delimiter, pos1 + 2)
                    If pos2 > pos1 + 2 Then
                        .SelectionStart = pos1
                        .SelectionLength = pos2 - pos1 + 1
 
                        .SelectionBackColor = MarkerColor
                        .SelectionLength = 0
 
                        pos1 = pos2
                    End If
                End If
            Loop While pos2 >= 0 And pos2 = pos1 and pos2 < .Text.Length - 2
        End With
    End Sub
 
 
    Private Function FindString(ByVal txt As String, ByVal start As Integer) As _
      Integer
 
        Return rtbHigh.Find(txt, start + txt.Length + 1,
                            rtbHigh.Text.Length, RichTextBoxFinds.None)
    End Function


Beitrag wurde zuletzt am 10.12.23 um 15:53:15 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fireball-Codeeditor / Databinding 
Autor: Kuno60
Datum: 10.12.23 22:34

Hallo,

eine direkte Datenbindung scheint bei diesem Control nicht möglich zu sein.

'So kann der Code direkt zugewiesen werden:
CodeEditorControl1.Document.Text = "VB-Code"
'oder auch so:
SyntaxDocument1.Text = "VB-Code"
oder über eines der Ereignisse der BindingSource und Abfrage der Current-Eigenschaft:
  Private Sub TestClassBindingSource_CurrentItemChanged(sender As Object, e As _
    EventArgs) Handles TestClassBindingSource.CurrentItemChanged
    Dim cur As TestClass = CType(TestClassBindingSource.Current, TestClass)
    SyntaxDocument1.Text = cur.CodeText
  End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge 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