elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Librería de Snippets para VB.NET !! (Compartan aquí sus snippets)
**Aincrad** y 2 Visitantes están viendo este tema.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 55 Ir Abajo Respuesta Imprimir
Autor Tema: Librería de Snippets para VB.NET !! (Compartan aquí sus snippets)  (Leído 316,306 veces)
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Librería de Snippets para VB.NET !! (Compartan aquí sus snippets)
« en: 18 Diciembre 2012, 22:23 »

¿Que es un Snippet?

Es una porción de código que suele contener una o varias Subrutinas con el propósito de realizar una tarea específica,
cuyo código es reusable por otras personas y fácil de integrar con sólamente copiar y pegar el contenido del Snippet.





( click para ver el índice )



« Última modificación: 5 Julio 2018, 15:09 por Eleкtro » En línea


Novlucker
Ninja y
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [APORTE] Snippets
« Respuesta #1 en: 18 Diciembre 2012, 23:04 »

Los aportes son siempre bienvenidos, peeeero, tal vez deberías de tener snippets que hagan las cosas de la manera más elegante y "performante" posible :P, hay código mejorable, pero es mucho para revisar :xD

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: [APORTE] Snippets
« Respuesta #2 en: 19 Diciembre 2012, 00:02 »

Esto de snippets vendria a ser como "codigos sueltos" para poder copiar y tenerlos a mano siempre? es como que nos hayas dejado tus apuntes con funciones? o el VS tiene algo para leer esa extension .snippet y aplicarlo a tu proyecto de alguna forma? no lo tengo instalado por eso solo he mirado los codigos en notepad.
En línea

Novlucker
Ninja y
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [APORTE] Snippets
« Respuesta #3 en: 19 Diciembre 2012, 00:40 »

Exacto, se instalan en el Visual, y se tienen fragmentos de código prefabricado y para autocompletado :P



Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: [APORTE] Snippets
« Respuesta #4 en: 19 Diciembre 2012, 01:49 »

Vendrian a ser entonces como las clases que trae el VS? solo que estos snippets serian clases incorporadas por nosotros mismos.

Gracias!
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: [APORTE] Snippets
« Respuesta #5 en: 19 Diciembre 2012, 04:04 »

$Edu$ no se si tienes el VS pero si lo tienes donde escribes el código del form presiona "click derecho > insert snippet" y ahí ves lo que són.

Esto de snippets vendria a ser como "codigos sueltos" para poder copiar y tenerlos a mano siempre?
Ya te ha contestado Novlucker pero cabe decir que un snippet no es algo que haya inventado Microsoft, hay bastantes editores de texto que soportan el uso de snippets, y bueno... los que trabajen con HTML/CSS/PHP y todo eso seguro que están muy acostumbrados a usar snippets para sus diseños web, igual que se pueden tener snippets para Batch (xD).

saludos!



tal vez deberías de tener snippets que hagan las cosas de la manera más elegante y "performante" posible :P,
hay código mejorable

Hay algunos snippets que yo solo no podría haberlos creado porque no sé hacerlo, por ejemplo el "GlobalHotkeys.snippet", no véas cuanto código con las APIs, como para ponerme a intentar mejorarlos! :xD

Ahora te hago yo una sugerencia:
De sabios es compartir el conocimiento, hay que realizar buenas acciones antes de que se acabe el munedo en... 2 días  :silbar:,
Y lo que necesita todo aprendiz de programador es un aporte con los snippets del gran Nov, muchos lo agradecerían (O al menos uno aquí presente... xD).

Ahí lo dejo...  :-X

Saludos!
« Última modificación: 19 Diciembre 2012, 04:15 por EleKtro H@cker » En línea


Novlucker
Ninja y
Moderador Global
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [APORTE] Snippets
« Respuesta #6 en: 19 Diciembre 2012, 13:11 »

De sabios es compartir el conocimiento, hay que realizar buenas acciones antes de que se acabe el munedo en... 2 días  :silbar:,
Y lo que necesita todo aprendiz de programador es un aporte con los snippets del gran Nov, muchos lo agradecerían (O al menos uno aquí presente... xD).

Es que no tengo snippets personalizados, solo uso los que vienen incorporados en el Visual :P Justamente ayer luego de ver los tuyos me puse a pensar que sería lo que podría tener en snippets, pero la verdad no se me ocurre :P

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: [APORTE] Snippets
« Respuesta #7 en: 21 Diciembre 2012, 12:33 »

me puse a pensar que sería lo que podría tener en snippets, pero la verdad no se me ocurre :P
que pena que no tengas,
yo pienso que con unos cuantos snippets y pocas modificaciones se puede llegar a crear un programa entero en un instante.

Por ejemplo creamos un programa con un webbrowser y el htmlagilitypack para parsear alguna web y tomar los enlaces, o un auto-login, nos cuesta varias horas hacerlo (sin tener en cuenta el diseño).

Ahora sacamos snippets de las funciones y subrutinas más improtantes que hacemos en ese proyecto, y el próximo proyecto parecido que tengamos que hacer nos costará minutos, o al menos mucho mucho menos que al principio xD.

PD: Tenías razón, había mucho code mejorable, por ejemplo el de "isinternetavaliable" se hacía en unas 10 líneas y de una manera que no me gusta nada, el snippet original incluido en VS2012 lo hace en una línea xD


HE ACTUALIZADO LOS SNIPPETS
Algunos nuevos y algunos ligéramente mejorados basándome en los que vienen incluidos por defecto en VS2012.
« Última modificación: 21 Diciembre 2012, 12:38 por EleKtro H@cker » En línea


$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: [APORTE] Snippets (ACTUALIZADO 21/12/2012)
« Respuesta #8 en: 21 Diciembre 2012, 14:10 »

Es que si miras un poco al futuro, cualquiera va a poder programar lo que quiera, cada vez esta tan facil que las generaciones futuras diran "se programar" y solo sabran la estructura para programar pero 0 conocimiento en generar codigo propio. Lo mismo piensan las generaciones antiguas de nosotros los que usamos .NET y no ASM xD
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: [APORTE] Snippets (ACTUALIZADO 21/12/2012)
« Respuesta #9 en: 11 Enero 2013, 06:30 »

Deberían hacer un post en esta sección que contenga sólamente snippets y donde todos aporten snippets útiles  ;D





He hecho este snippet para agilizar el renombramiento de archivos, aquí tienen ;)

PD: Uso "MOVE" porque de otra forma es imposible renombrar el archivo con el mismo nombre, como bien está explicado aquí por NovLucker: http://foro.elhacker.net/net/solucionado_iquestcomo_renombrar_un_archivo_o_carpeta_con_el_mismo_nombre-t378839.0.html

Código
  1.   ' Usage:
  2.    '
  3.    ' RenameFile("C:\Test.txt", "TeSt.TxT")
  4.    ' RenameFile("C:\Test.txt", "Test", "doc")
  5.    ' RenameFile(FileInfoObject.FullName, FileInfoObject.Name.ToLower, FileInfoObject.Extension.ToUpper)
  6.    ' If RenameFile("C:\Test.txt", "TeSt.TxT") Is Nothing Then MsgBox("El archivo no existe!")
  7.  
  8. #Region " RenameFile function "
  9.  
  10.    Private Function RenameFile(ByVal File As String, ByVal NewFileName As String, Optional ByVal NewFileExtension As String = Nothing)
  11.        If IO.File.Exists(File) Then
  12.            Try
  13.                Dim FileToBeRenamed As New System.IO.FileInfo(File)
  14.                If NewFileExtension Is Nothing Then
  15.                    FileToBeRenamed.MoveTo(FileToBeRenamed.Directory.FullName & "\" & NewFileName) ' Rename file with same extension
  16.                Else
  17.                    FileToBeRenamed.MoveTo(FileToBeRenamed.Directory.FullName & "\" & NewFileName & NewFileExtension) ' Rename file with new extension
  18.                End If
  19.                Return True ' File was renamed OK
  20.            Catch ex As Exception
  21.                ' MsgBox(ex.Message)
  22.                Return False ' File can't be renamed maybe because User Permissions
  23.            End Try
  24.        Else
  25.            Return Nothing ' File doesn't exist
  26.        End If
  27.    End Function
  28.  
  29. #End Region

Y unos cuantos más...

Modificar atributos de archivos:
Código
  1.   ' Usage:
  2.    ' Attrib("File.txt", IO.FileAttributes.ReadOnly + IO.FileAttributes.Hidden)
  3.    ' If Attrib("File.txt", IO.FileAttributes.System) Is Nothing Then MsgBox("File doesn't exist!")
  4.  
  5.      Private Function Attrib(ByVal File As String, ByVal Attributes As System.IO.FileAttributes)
  6.        If IO.File.Exists(File) Then
  7.            Try
  8.                FileSystem.SetAttr(File, Attributes)
  9.                Return True ' File was modified OK
  10.            Catch ex As Exception
  11.                ' MsgBox(ex.Message)
  12.                Return False ' File can't be modified maybe because User Permissions
  13.            End Try
  14.        Else
  15.            Return Nothing ' File doesn't exist
  16.        End If
  17.    End Function


Controlar el mismo evento para varios controles:

Código
  1.   Private Sub Button_Is_Clicked(sender As Object, e As EventArgs) Handles _
  2.        Button1.Click, _
  3.        Button2.Click, _
  4.        Button3.Click
  5.  
  6.        Dim Clicked_Button As Button = CType(sender, Button)
  7.  
  8.        If Clicked_Button.Name = "Button1" Then
  9.        ' Things for Button1
  10.        ElseIf Clicked_Button.Name = "Button2" Then
  11.        ' Things for Button2
  12.        ElseIf Clicked_Button.Name = "Button3" Then
  13.        ' Things for Button3
  14.        End If
  15.    Ens Sub

Un link label:

Código
  1.    ' First add a LinkLabel control into the form.
  2.  
  3.    Private Sub LinkLabel_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
  4.        System.Diagnostics.Process.Start("http://www.Google.com")
  5.        System.Diagnostics.Process.Start("mailto:ME@Hotmail.com")
  6.    End Sub

Procesar todos los archivos de texto de My.Resources:

Código
  1.        For Each ResourceFile As DictionaryEntry In My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True).OfType(Of Object)()
  2.            If TypeOf (ResourceFile.Value) Is String Then
  3.                MsgBox(My.Resources.ResourceManager.GetObject(ResourceFile.Key))
  4.                'MsgBox(ResourceFile.Key)   ' Resource Name
  5.                'MsgBox(ResourceFile.Value) ' Resource FileContent
  6.            End If
  7.        Next

Procesar todos los archivos de imagen de My.Resources:

Código
  1.        For Each ResourceFile As DictionaryEntry In My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True).OfType(Of Object)()
  2.            If TypeOf (ResourceFile.Value) Is Drawing.Image Then
  3.                Button_2000_2006.Image = ResourceFile.Value
  4.                'MsgBox(ResourceFile.Key)   ' Resource Name
  5.                'MsgBox(ResourceFile.Value) ' Resource FileContent
  6.            End If
  7.        Next

Ordenar un listview al clickar sobre la columna a ordenar:

Código
  1. ' Instructions:
  2. ' 1. Add the class
  3. ' 2. Add the declaration
  4. ' 3. Add a listview
  5.  
  6.  
  7. Dim ColumnOrder As String = "Down"
  8.  
  9.  
  10. #Region " ListView Sort Column event "
  11.  
  12.    Private Sub ListView_ColumnClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs) Handles ListView1.ColumnClick
  13.        If ColumnOrder = "Down" Then
  14.            Me.ListView1.ListViewItemSorter = New OrdenarListview(e.Column, SortOrder.Ascending)
  15.            ListView1.Sort()
  16.            ColumnOrder = "Up"
  17.        ElseIf ColumnOrder = "Up" Then
  18.            Me.ListView1.ListViewItemSorter = New OrdenarListview(e.Column, SortOrder.Descending)
  19.            ListView1.Sort()
  20.            ColumnOrder = "Down"
  21.        End If
  22.    End Sub
  23.  
  24.  
  25. #End Region
  26.  
  27.  
  28. #Region " OrdenarListView [CLASS] "
  29.  
  30. Public Class OrdenarListview
  31.    Implements IComparer
  32.  
  33.    Private vIndiceColumna As Integer
  34.    Private vTipoOrden As SortOrder
  35.  
  36.    Public Sub New(ByVal pIndiceColumna As Integer, ByVal pTipoOrden As SortOrder)
  37.        vIndiceColumna = pIndiceColumna
  38.        vTipoOrden = pTipoOrden
  39.    End Sub
  40.  
  41.    Public Function Ordenar(ByVal x As Object, ByVal y As Object) As Integer Implements System.Collections.IComparer.Compare
  42.        Dim item_x As ListViewItem = DirectCast(x, ListViewItem)
  43.        Dim item_y As ListViewItem = DirectCast(y, ListViewItem)
  44.  
  45.        Dim string_x As String
  46.  
  47.        If item_x.SubItems.Count <= vIndiceColumna Then
  48.            string_x = ""
  49.        Else
  50.            string_x = item_x.SubItems(vIndiceColumna).Text
  51.        End If
  52.  
  53.        Dim string_y As String
  54.        If item_y.SubItems.Count <= vIndiceColumna Then
  55.            string_y = ""
  56.        Else
  57.            string_y = item_y.SubItems(vIndiceColumna).Text
  58.        End If
  59.  
  60.        If vTipoOrden = SortOrder.Ascending Then
  61.            If IsNumeric(string_x) And IsNumeric(string_y) Then
  62.                Return Val(string_x).CompareTo(Val(string_y))
  63.            ElseIf IsDate(string_x) And IsDate(string_y) Then
  64.                Return DateTime.Parse(string_x).CompareTo(DateTime.Parse(string_y))
  65.            Else
  66.                Return String.Compare(string_x, string_y)
  67.            End If
  68.        Else
  69.            If IsNumeric(string_x) And IsNumeric(string_y) Then
  70.                Return Val(string_y).CompareTo(Val(string_x))
  71.            ElseIf IsDate(string_x) And IsDate(string_y) Then
  72.                Return DateTime.Parse(string_y).CompareTo(DateTime.Parse(string_x))
  73.            Else
  74.                Return String.Compare(string_y, string_x)
  75.            End If
  76.        End If
  77.    End Function
  78. End Class
  79.  
  80. #End Region

Un ejemplo de un SaveFileDialog:

Código
  1.        Dim SaveFile As New SaveFileDialog
  2.        SaveFile.Title = "Save a Report File"
  3.        SaveFile.InitialDirectory = Environ("programfiles")
  4.        SaveFile.RestoreDirectory = True
  5.        SaveFile.DefaultExt = "txt"
  6.        SaveFile.Filter = "txt file (*.txt)|*.txt"
  7.        SaveFile.CheckPathExists = True
  8.        'SaveFile.CheckFileExists = True
  9.        'SaveFile.ShowDialog()
  10.  
  11.        If SaveFile.ShowDialog() = DialogResult.OK Then
  12.          MsgBox(SaveFile.FileName)
  13.        End If

Centrar un form secundario en el form principal:

Código
  1. #Region " CenterForm function "
  2.  
  3.    Function CenterForm(ByVal Form_to_Center As Form, ByVal Form_Location As Point) As Point
  4.        Dim FormLocation As New Point
  5.        FormLocation.X = (Me.Left + (Me.Width - Form_to_Center.Width) / 2) ' set the X coordinates.
  6.        FormLocation.Y = (Me.Top + (Me.Height - Form_to_Center.Height) / 2) ' set the Y coordinates.
  7.        Return FormLocation ' return the Location to the Form it was called from.
  8.    End Function
  9.  
  10. #End Region
  11.  
  12.    ' Form2 Load
  13.    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  14.        Me.Location = Form1.centerForm(Me, Me.Location)
  15.    End Sub
  16.  
  17.    ' Private Sub Button_MouseHover(sender As Object, e As EventArgs) Handles Button1.MouseHover
  18.    '     Form2.Show()
  19.    ' End Sub
  20.  
  21.    ' Private Sub Button_MouseLeave(sender As Object, e As EventArgs) Handles Button1.MouseLeave
  22.    '     Form2.Dispose()
  23.    ' End Sub


Saludos!
En línea


Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 55 Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines