ControlChars.Cr, -CrLf, -CrLf v RichTextBox   otázka

VB.NET, WinForms

Dobrý večer!

Mohol by mi, prosím, niekto vysvetliť, aký je rozdiel medzi

ControlChars.Cr, ControlChars.CrLf a ControlChars.Lf a ak ich už vložím do textu, ako ich potom vymazať?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Alebo ak môžem doplniť otázku. Ako zistiť kód ľubovoľného znaku v texte?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

S vybraným textem můžete pracovat jako s řetězcem (string) a použít všechny jeho metody

  Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles Button1.Click
      Dim VybranyText As String = RichTextBox1.SelectedText
      If VybranyText.Length = 0 Then Exit Sub
      Dim Znaky As String = ""
      For i As Integer = 0 To VybranyText.Length - 1
        ' znak převedeme na jeho číselnou reprezentaci:
        Dim z As String = Asc(VybranyText.Substring(i, 1))
        Select Case z
          Case 9 ' tabulátor
            Znaky = Znaky & "TAB" & "  "
          Case 10 ' nový řádek
            Znaky = Znaky & "LF" & "  "
          Case 13 ' návrat na začátek řádku
            Znaky = Znaky & "CR" & "  "
          Case 32 ' mezera
            Znaky = Znaky & "mezera" & "  "
          Case Else
             ' zbylým znakům vrátíme jejich textovou podobu: 
            Znaky = Znaky & Chr(z) & "  "
        End Select
      Next
      MsgBox(Znaky)
      ' Náhrada v textu, např. LF nahradíme mezerou:
      VybranyText = Replace(VybranyText, Chr(10), " ")
      RichTextBox1.Text = _
         Replace(RichTextBox1.Text, RichTextBox1.SelectedText, VybranyText)
    End Sub
  End Class

nahlásit spamnahlásit spam 4 / 4 odpovědětodpovědět

CR je carriage return, neboli navrat kurzoru na zacatek radku a

LF je line feed, neboli novy radek. Tot teorie.

V praxi to funguje tak, ze

ve windows se radky ukoncuji CR+LF,

v Linuxu LF a pod Mac OS to je CR.

Doporucuji odradkovavat pomoci Environment.NewLine (nebo tak nejak, z hlavy nevim presne),ten je primo zavisly na platforme, na ktere bezi.

nahlásit spamnahlásit spam 4 / 4 odpovědětodpovědět

Ďakujem, páni. Vaše odpovede boli presne to, čo som potreboval.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Poprosím označiť otázku ako zodpovedanú.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback