viernes, 17 de febrero de 2012

Tutorial Personalizar el Nuevo Perfil de Facebook Geek

Tutorial de Facebook

sábado, 11 de febrero de 2012

video Copiar de datagrid a datagrid


datagrid 1
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i As Integer = 0 To 2
DataGridView1.Rows.Add(i, "21/11/2011", Month(Now), "Disco duro", "Dispositivos", 2 + i, Format((1 + i) * 120000, "N0"))
Next

For i As Integer = 0 To 2
DataGridView1.Rows.Add(i, "18/10/2011", "10", "Memorias", "Dispositivos", 2 + i, Format((1 + i) * 60000, "N0"))
Next

For i As Integer = 0 To 2
DataGridView1.Rows.Add(i, "10/11/2011", "11", "Procesador", "Dispositivos", 2 + i, Format((1 + i) * 140000, "N0"))
Next



'centra la cantidad
DataGridView1.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter
'justifica el valor a la izquierda
DataGridView1.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight

'Total items
Ttitems.Text = DataGridView1.RowCount - 1

'Suma la cantidad & valor
Dim Scantidad, Svalor As Integer
For i As Integer = 0 To DataGridView1.RowCount - 1
Scantidad += DataGridView1.Rows(i).Cells(5).Value
Svalor += DataGridView1.Rows(i).Cells(6).Value
Next
Ttcantidad.Text = Format(Scantidad, "N0") 'Muestro la suma en el label ttcantidad con formato numerico
Ttotal.Text = Format(Svalor, "N0") 'Muestro la suma en el label ttotal con formato numerico

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form2.Show()

End Sub
End Class



datagrid 2
Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try

DataGridView1.Rows.Clear() 'limpia el datagri


Dim CD, FC, MS, PR, CT, CTD, VL As String 'Variables q van almacenar cada unos de los campos a pasar del formulario1
For fila As Integer = 0 To Form1.DataGridView1.RowCount - 1 'cuenta el numero de fila datagri delformulario 1
If Form1.DataGridView1.Rows(fila).Cells(2).Value = ComboBox1.Text Then 'compara si fila de la columna 2 es igual al mes pasa la informacion
CD = Form1.DataGridView1.Rows(fila).Cells(0).Value 'valor fila columna cero
FC = Form1.DataGridView1.Rows(fila).Cells(1).Value 'valor fila columna uno
MS = Form1.DataGridView1.Rows(fila).Cells(2).Value 'valor fila columna dos
PR = Form1.DataGridView1.Rows(fila).Cells(3).Value 'valor fila columna tres
CT = Form1.DataGridView1.Rows(fila).Cells(4).Value 'valor fila columna cuatro
CTD = Form1.DataGridView1.Rows(fila).Cells(5).Value 'valor fila columna cinco
VL = Form1.DataGridView1.Rows(fila).Cells(6).Value 'valor fila columna seis
DataGridView1.Rows.Add(CD, FC, MS, PR, CT, CTD, VL) 'asqui carga la informacion al datagrid del formulario 2
End If
Next

totales() 'proceso que calcula los totales de las cantidades y los valores




Catch ex As Exception
End Try

End Sub

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'este bucle nos carga los meses el combobox1
For i As Integer = 0 To 12
ComboBox1.Items.Add(i)
Next

'lleno el combobox2 con estas fechas para luego utilizarlas
ComboBox2.Items.Add("21/11/2011")
ComboBox2.Items.Add("10/11/2011")
ComboBox2.Items.Add("18/10/2011")


'lleno el combobox3 con los nombres de los tres productos para luego hacer busqueda
ComboBox3.Items.Add("Disco duro")
ComboBox3.Items.Add("Memorias")
ComboBox3.Items.Add("Procesador")




End Sub



Private Sub ComboBox3_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox3.SelectedIndexChanged

End Sub

Private Sub ComboBox3_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox3.TextChanged
DataGridView1.Rows.Clear() 'limpia el datagri
DataGridView1.Rows(0).Cells(3).Value = ComboBox3.Text 'hacer clic en combobox me escribe su valor el datagrid en la posicio cero de columna 3

End Sub

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

End Sub


Sub totales()
'Suma la cantidad & valor
Dim Scantidad, Svalor As Integer
For i As Integer = 0 To DataGridView1.RowCount - 1 'cuenta el numero de filas q tiene el datagrid del formulario 2
Scantidad += DataGridView1.Rows(i).Cells(5).Value 'suma las cantidades y las va acomulando en la variable scantidad
Svalor += DataGridView1.Rows(i).Cells(6).Value 'suma las cantidades y las va acomulando en la variable svalor
Next
Ttcantidad.Text = Format(Scantidad, "N0") 'Muestro la suma en el label ttcantidad con formato numerico
Ttotal.Text = Format(Svalor, "N0") 'Muestro la suma en el label ttotal con formato numerico

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Try


DataGridView1.Rows.Clear() 'limpia el datagri


Dim CD, FC, MS, PR, CT, CTD, VL As String 'Variables q van almacenar cada unos de los campos a pasar del formulario1
For fila As Integer = 0 To Form1.DataGridView1.RowCount - 1 'cuenta el numero de fila datagri delformulario 1
If Form1.DataGridView1.Rows(fila).Cells(1).Value = ComboBox2.Text Then 'compara si fila de la columna 1 es igual al mes pasa la informacion
CD = Form1.DataGridView1.Rows(fila).Cells(0).Value 'valor fila columna cero
FC = Form1.DataGridView1.Rows(fila).Cells(1).Value 'valor fila columna uno
MS = Form1.DataGridView1.Rows(fila).Cells(2).Value 'valor fila columna dos
PR = Form1.DataGridView1.Rows(fila).Cells(3).Value 'valor fila columna tres
CT = Form1.DataGridView1.Rows(fila).Cells(4).Value 'valor fila columna cuatro
CTD = Form1.DataGridView1.Rows(fila).Cells(5).Value 'valor fila columna cinco
VL = Form1.DataGridView1.Rows(fila).Cells(6).Value 'valor fila columna seis
DataGridView1.Rows.Add(CD, FC, MS, PR, CT, CTD, VL) 'asqui carga la informacion al datagrid del formulario 2
End If
Next

totales() 'proceso que calcula los totales de las cantidades y los valores

Catch ex As Exception
End Try
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Try



DataGridView1.Rows.Clear() 'limpia el datagri


Dim fila, CD, FC, MS, PR, CT, CTD, VL As String 'Variables q van almacenar cada unos de los campos a pasar del formulario1

fila = Form1.DataGridView1.CurrentRow.Index 'a la variable fila la asigno el index o fila seleccionada del datagrid del formulario 1

CD = Form1.DataGridView1.Rows(fila).Cells(0).Value 'valor fila columna cero
FC = Form1.DataGridView1.Rows(fila).Cells(1).Value 'valor fila columna uno
MS = Form1.DataGridView1.Rows(fila).Cells(2).Value 'valor fila columna dos
PR = Form1.DataGridView1.Rows(fila).Cells(3).Value 'valor fila columna tres
CT = Form1.DataGridView1.Rows(fila).Cells(4).Value 'valor fila columna cuatro
CTD = Form1.DataGridView1.Rows(fila).Cells(5).Value 'valor fila columna cinco
VL = Form1.DataGridView1.Rows(fila).Cells(6).Value 'valor fila columna seis

DataGridView1.Rows.Add(CD, FC, MS, PR, CT, CTD, VL) 'asqui carga la informacion al datagrid del formulario 2


totales() 'proceso que calcula los totales de las cantidades y los valores

Catch ex As Exception
End Try
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Try





Dim cantidad, valor As Integer 'variables q van a contener la sumatoria de las cantidades y el valor


For fila As Integer = 0 To Form1.DataGridView1.RowCount - 1 'cuenta el numero de fila datagri delformulario 1
If Form1.DataGridView1.Rows(fila).Cells(3).Value = ComboBox3.Text Then 'compara si fila de la columna 3 es igual al mes pasa la informacion
cantidad += Form1.DataGridView1.Rows(fila).Cells(5).Value 'le asigno el valor fila de la columna 5 q es la cantidad a la variable cantidad
valor += Form1.DataGridView1.Rows(fila).Cells(6).Value 'le asigno el valor fila de la columna 6 q es el valor a la variable valor
End If
Next

DataGridView1.Rows(0).Cells(5).Value = Format(cantidad, "N0") 'pongo en el datagri en fila cero de la columna 5 del formulario 2 los valores q cotiene la variable cantidad
DataGridView1.Rows(0).Cells(6).Value = Format(valor, "N0") 'pongo en el datagri en fila cero de la columna 6 formulario 2 los valores q cotiene la variable valor


totales() 'proceso que calcula los totales de las cantidades y los valores

Catch ex As Exception
End Try

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Try


DataGridView1.Rows.Clear() 'limpia el datagri

DataGridView1.Rows.Add(1, "", "", "Disco duro") 'agrego los productos al datagrid para el ejemplo
DataGridView1.Rows.Add(2, "", "", "Memorias")
DataGridView1.Rows.Add(3, "", "", "Procesador")



Dim cantidad, valor As Integer 'variables q van a contener la sumatoria de las cantidades y el valor
Dim productof1, productof2 As String 'variables q van a contener la sumatoria de las cantidades y el valor


For i As Integer = 0 To DataGridView1.RowCount - 2 'cuenta el numero filas del datagerid del formulario2
productof2 = DataGridView1.Rows(i).Cells(3).Value 'variable producto del datagrid del formulario 2
cantidad = 0 'incio las variables en cero cada vez q pasa un ciclo para que no me acomule el valor del producto anterior
valor = 0
For fila As Integer = 0 To Form1.DataGridView1.RowCount - 1 'cuenta el numero de fila datagri delformulario 1
productof1 = Form1.DataGridView1.Rows(fila).Cells(3).Value 'variable producto del datagrid del formulario 1
If productof1 = productof2 Then 'compara si fila de la columna 3 es igual al mes pasa la informacion
cantidad += Form1.DataGridView1.Rows(fila).Cells(5).Value 'le asigno el valor fila de la columna 5 q es la cantidad a la variable cantidad
valor += Form1.DataGridView1.Rows(fila).Cells(6).Value 'le asigno el valor fila de la columna 6
DataGridView1.Rows(i).Cells(5).Value = Format(cantidad, "N0") 'asigno las cantidades y los valores a los producto del datagrid 1 del formulario 1
DataGridView1.Rows(i).Cells(6).Value = Format(valor, "N0")
End If
Next
Next

totales() 'proceso que calcula los totales de las cantidades y los valores

Catch ex As Exception
End Try

End Sub
End Class

viernes, 20 de enero de 2012

Selección y eliminación de todos los elementos de un ListBox:

Insertar un ListBox y dos Botón en un nuevo proyecto. Poner la propiedad MultiSelect del ListBox
a "1 - Simple" y escriba el siguiente código:

Private Declare Function SendMessageLong Lib "user32" Alias
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long,
ByVal wParam As Long, ByVal lParam As Long) As Long

Private Sub Form_Load()
List1.AddItem "Texto 1"
List1.AddItem "Texto 2"
List1.AddItem "Texto 3"
List1.AddItem "Texto 4"
List1.AddItem "Texto 5"
List1.AddItem "Texto 6"
List1.AddItem "Texto 7"
End Sub

Private Sub Command1_Click()
'Seleccion de todo el contenido
Dim Resp As Long
Resp = SendMessageLong(List1.hwnd, &H185&, True, -1)
End Sub

Private Sub Command2_Click()
'Eliminacion de todos los elementos seleccionados
Dim Resp As Long
Resp = SendMessageLong(List1.hwnd, &H185&, False, -1)
End Sub

Como desplegar la lista de un ComboBox automáticamente:


Insertar un ComboBox y un Botón en un nuevo proyecto y escribir el siguiente código:

Private Declare Function SendMessageLong Lib "user32" Alias
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long,
ByVal wParam As Long, ByVal lParam As Long) As Long

Private Sub Form_Load()
Combo1.Clear
Combo1.AddItem "Objeto 1"
Combo1.AddItem "Objeto 2"
Combo1.AddItem "Objeto 3"
Combo1.AddItem "Objeto 4"
Combo1.AddItem "Objeto 5"
Combo1.AddItem "Objeto 6"
Combo1.AddItem "Objeto 7"
Combo1.Text = "Objeto 1"
End Sub

Private Sub Command1_Click()
'ComboBox desplegado
Dim Resp As Long
Resp = SendMessageLong(Combo1.hwnd, &H14F, True, 0)
End Sub
Nota: Resp = SendMessageLong(Combo1.hwnd, &H14F, False, 0) oculta la lista desplegada
de un ComboBox, aunque esto sucede también cuando cambiamos el focus a otro control o al formulario.

Salvar el contenido de un TextBox a un fichero en disco:


Añada el siguiente código:
Private Sub Command1_Click()
Dim canalLibre As Integer
'Obtenemos un canal libre que nos dará
'el sistema oparativo para poder operar
canalLibre = FreeFile
'Abrimos el fichero en el canal dado
Open "C:\fichero.txt" For Output As #canalLibre
'Escribimos el contenido del TextBox al fichero
Print #canalLibre, Text1
Close #canalLibre
End Sub

Nuevo

Para abrir:
Código:
Dim foo As Integer

foo = FreeFile
Open "C:\Archivo.txt" For Input As #foo
Text1.Text = Input(LOF(foo), #foo)
Close #foo
Para guardar:
Código:
Dim foo As Integer

foo = FreeFile
Open "C:\Archivo.txt" For Output As #foo
Print #foo, Text1.Text
Close #foo
dialogos:
Ese es para Abrir
Código:
Dim strOpen As String
CommonDialog1.ShowOpen
strOpen = CommonDialog1.FileName
Text1.LoadFile strOpen
Text1.LoadFile strClose
Ese para guardar
Código:
Dim strNewFile As String
CommonDialog1.ShowSave
strNewFile = CommonDialog1.FileName
Text1.SaveFile strNewFile

Capturar la pantalla entera o la ventana activa:


Añadir dos botones y escribir el siguiente código:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte,
ByVal bScan As Byte, ByVal dwFlags As Long,
ByVal dwExtraInfo As Long)

Private Sub Command1_Click()
'Captura la ventana activa
keybd_event 44, 0, 0&, 0&
End Sub

Private Sub Command2_Click()
'Captura toda la pantalla
keybd_event 44, 1, 0&, 0&
End Sub

Determinar si un fichero existe o no:

Escriba el siguiente código: (una de tanta maneras aparte de Dir$())

Private Sub Form_Load()
On Error GoTo Fallo
x = GetAttr("C:\Autoexec.bat")
MsgBox "El fichero existe."
Exit Sub
Fallo:
MsgBox "El fichero no existe."
End Sub

Como obtener el directorio desde donde estamos ejecutando nuestro programa:

Escribir el siguiente código:

Private Sub Form_Load()
Dim Directorio as String
ChDir App.Path
ChDrive App.Path
Directorio = App.Path
If Len(Directorio) > 3 Then
Directorio = Directorio & "\"
End If
End Sub

Calcular la etiqueta o label de un disco duro:


Hallar la etiqueta o label del mismo disco duro:

Escribir el siguiente código:
Private Declare Function GetVolumeInformation& Lib "kernel32" Alias 
"GetVolumeInformationA" (ByVal lpRootPathName As String, 
ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, 
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, 
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, 
ByVal nFileSystemNameSize As Long)

Private Sub Form_Load()
  Dim cad1 As String * 256
  Dim cad2 As String * 256
  Dim numSerie As Long
  Dim longitud As Long
  Dim flag As Long
  unidad = "D:\"
  Call GetVolumeInformation(unidad, cad1, 256, numSerie, longitud, 
  flag, cad2, 256)
  MsgBox "Label de la unidad " & unidad & " = " & cad1
End Sub

Uso de Random:


La función Rnd o Random posee la virtud de obtener números aleatorios entre 0 y 1:

El único inconveniente a la hora de usar Rnd, es que hay que inicializarlo, en otro caso,
el resultado de la función Rnd, será siempre el mismo dentro de un determinado ordenador.
Por ejemplo, el código:

Private Sub Form_Load()
  Dim Num As Double
  Num = Rnd
  MsgBox Num
End Sub
Nos daría como resultado siempre el mismo número.

Para solucionar este problema, debemos escribir la sentencia Randomize antes de llamar
a la función Rnd. De esta manera, la función Rnd actuará correctamente.

El código quedaría así:

Private Sub Form_Load()
  Dim Num As Double
  Randomize
  Num = Rnd
  MsgBox Num
End Sub