Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: CH4ØZ en 20 Enero 2011, 08:14 am



Título: numeracion de lineas [vb.net]
Publicado por: CH4ØZ en 20 Enero 2011, 08:14 am
bueno vi varias veces q se pueden numerar las lineas (principalmente en programas referidos a la programacion).
bueno como yo estoy intentando hacer un editor de codigo, me gustaria saber como se hace.
algun lugar donde leer sobre esto o ideas. (preferentemente no codigo, solo quiero algo asi como un empujon).

gracias de antemano.


Título: Re: numeracion de lineas [vb.net]
Publicado por: [D4N93R] en 20 Enero 2011, 13:31 pm
Se me ocurre que lo pintes a mano, usando Drawing. Otra cosa podría ser utilizar un RichTextBox junto a otro, entonces uno sea la numeración y el otro sea en donde va a estar el código.

Solo se me ocurren esas dos :)


Título: Re: numeracion de lineas [vb.net]
Publicado por: CH4ØZ en 25 Enero 2011, 18:22 pm
but i want to do something like this:
http://wiki.sa-mp.com/wroot/images2/4/43/Editor_pawno_small.jpg (http://wiki.sa-mp.com/wroot/images2/4/43/Editor_pawno_small.jpg)


Título: Re: numeracion de lineas [vb.net]
Publicado por: seba123neo en 26 Enero 2011, 03:10 am
busca en internet hay pila de ejemplos...aca tenes el mas facil:

Numbering lines of RichTextBox in .NET 2.0 (http://www.codeproject.com/KB/edit/numberedtextbox.aspx)

y aca otro parecido pero maneja diferentes fuentes para el richtextbox:

Line Numbering of RichTextBox in .NET 2.0 (http://www.codeproject.com/KB/edit/RTF_LineNumbering.aspx)

LineNumbers for the RichTextBox (http://www.codeproject.com/KB/cpp/linenumbers_for_rtb.aspx)

saludos.


Título: Re: numeracion de lineas [vb.net]
Publicado por: CH4ØZ en 26 Enero 2011, 05:06 am
gracias es lo q buscaba.


Título: Re: numeracion de lineas [vb.net]
Publicado por: CH4ØZ en 3 Febrero 2011, 07:12 am
bueno otra vez yo. ultimamente andube preguntando demasiado, pero creanme q no es x falta de voluntad.

bueno, con la funcion q me dio seba, cree una funcion para numerar las lineas, pero resulta q tenia un par de bugs. intente sacarselos pero no he podido hacerlo. mi funcion quedo asi:
Código
  1.    Public Sub UpdateNumber(ByVal text As RichTextBox, Optional ByVal newline As Boolean = False)
  2.        Try
  3.            Main.Numerator.Font = text.Font
  4.            Main.Numerator.Clear()
  5.            Dim index As Integer, fLine As Integer, lLine As Integer
  6.            Dim pos As New Point(0, 0)
  7.            index = text.GetCharIndexFromPosition(pos)
  8.            fLine = text.GetLineFromCharIndex(index)
  9.            pos = Cursor.Position
  10.            index = text.GetCharIndexFromPosition(pos)
  11.            If newline = True Then
  12.                lLine = text.GetLineFromCharIndex(index) + 1
  13.            Else
  14.                lLine = text.GetLineFromCharIndex(index)
  15.            End If
  16.            If text.Lines.Count() > 200 And lLine < text.Lines.Count - 1 Then lLine += 1
  17.            For l = fLine To lLine
  18.                If 100000 < l < 1000000 Then
  19.                    Main.Numerator.Text &= l & "." & vbNewLine
  20.                ElseIf 10000 < l < 100000 Then
  21.                    Main.Numerator.Text &= " " & l & "." & vbNewLine
  22.                ElseIf 1000 < l > 10000 Then
  23.                    Main.Numerator.Text &= "  " & l & "." & vbNewLine
  24.                ElseIf 100 < l < 1000 Then
  25.                    Main.Numerator.Text &= "   " & l & "." & vbNewLine
  26.                Else
  27.                    Main.Numerator.Text &= "    " & l & "." & vbNewLine
  28.                End If
  29.            Next
  30.        Catch ex As Exception
  31.  
  32.        End Try
  33.    End Sub

la verdad es q lo q yo quiero es algo asi: http://solidfiles.com/d/a017/ (http://solidfiles.com/d/a017/)(es el programa el cual estoy intentando copiar pero con mejoras, si no lo quieren bajar de ese link y lo quieren buscar se llama pawno.)