PREGUNTAS CONTESTADAS - Visual Basic.NET

 Hay un total de 338 Preguntas.<<  >> 

    Pregunta:  65975 - CÓMO INCRUSTO UN PDF EN EL FORMULARIO
Autor:  Carlos Inga
Buenas, tengo una pequeña duda, la cual deseo abrir un archivo PDF en un formulario.

System.Diagnostics.Process.Start("C:h1.pdf")

con el código de arriba puedo abrir el PDF, pero lo abre como aplicación normal, y lo que yo deseo es que se cargue dentro del formulario, y también deseo eliminar el icono de guardado, del PDF, para evitar que alguien pueda realizar copia no autorizadas del documento.

Bueno en la linea de arriba aparece solo para cargar un documento, aunque en realidad el formulario contiene 2 combobox que sirven de filtro para cargar cualquiera de los archivos PDF que se almacenan en una BD.
  Respuesta:  Carlos Inga
Hola, ya pude solucionar yo misma la pregunta, aquí les explico como lo hice para que le sirva a otros usuarios:

Primeramente vamos a la barra de archivos, seleccionamos proyecto, de hay ponemos agregar referencia, en la ventana que se abre nos posicionamos en la pestaña COM y seleccionamos la referencia Acrobat Reader 3.0 o alguna referencia parecida ya que esta cambia dependiendo de la versión del Reader que tengan instalado en su sistema.

Luego de eso en la barra de herramientas damos click derecho y seleccionamos en el menú desplegable la opción Elegir elemento, en la ventana que de abre tenemos que seleccionar la pestaña Componente COM y dentro de ese pestaña activamos la casilla correspondiente a Adobe PDF reader y aceptamos. Con esto ya tendremos una herramienta mas, la cual nos ayudara a dibujar el control PDF en el que se va a mostrar el resultado.

Por default el nombre del primer componente insertado es AxAcroPDF1, entonces en el botón para cargar el archivo ponen este código.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.AxAcroPDF1.LoadFile("C:f1.pdf")
End Sub

y eso es todo, de hay ya ustedes le pueden hacer los ajustes necesarios pero recuerden lo que manda en ese código es la parte Me.AxAcroPDF1.LoadFile("cadena de conexión o variable con la ruta")

    Pregunta:  66004 - DATAGRIDVIEW A OTRO ENLAZADO
Autor:  Danny Jasso
Buenos dias a todos:
por adelantado un agradecimiento por su apoyo..
Verán tengo un pequeño problema tengo un data grid view enlazado a datos y tengo otro DGV que se llena con los datos de un excel, por lo ke dseo pasar los datos del DGV1(Excel) a DGV(baseDatos) pero me sale un error que dice que no puedo pasar datos a un data grid enlazado como puedo resolverlo a continuacion dejo el codigo de mi modulo

'Carga data grid con el archivo de Excel
'esto si sale bien
Public Sub CargarExcSTD()
Try
If frmCargaDG.txtLibroExc.Text.Length = 0 Then
Exit Sub
End If

objOleConnection = New OleDbConnection( _
"provider=Microsoft.Jet.OLEDB.4.0; " & _
"data source=" & frmCargaDG.txtLibroExc.Text.Trim & "; Extended Properties=Excel 8.0;")

objDataAdapter = New OleDbDataAdapter( _
"select * from [Hoja1$]", objOleConnection)

objOleConnection.Open()
objDataSet = New System.Data.DataSet
objDataAdapter.Fill(objDataSet)
cmdBuilder = New OleDb.OleDbCommandBuilder(objDataAdapter)
frmCargaDG.DGE1.DataSource = objDataSet.Tables(0)
objOleConnection.Close()

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub

'cargo el DGV con los datos de la Base de Datos
Public Sub CargarDG1STD()

Try
objOleConnection = New OleDbConnection( _
"Provider=PervasiveOLEDB;Data Source=PFWENTARI;Location=10.27.17.33;")

objDataAdapter = New OleDbDataAdapter( _
"select * from PLFRCSTD", objOleConnection)

objOleConnection.Open()
objDataSet = New System.Data.DataSet
objDataAdapter.Fill(objDataSet)
cmdBuilder = New OleDb.OleDbCommandBuilder(objDataAdapter)
frmCargarD.DG1.DataSource = objDataSet.Tables(0)
objOleConnection.Close()

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

End Sub

+Esto tambien lo hace Bien....
Ahora como ago para pasar datos del que trae los datos de excel al que trae los datos de la DB y que lo actualize en la misma base de datos comooo porfavor si alguien sabe ya que en internet solo he encontrado como hacerlo pero como si metiera uno por uno campo por campo y no llenar uno con otro si me pueden ayudar muchas gracias....

saludos...
  Respuesta:  Carlos Perez
Supongo que primero llenas la tabla que trae la información del exel, entonces porque no haces una consulta donde inserte los datos de la tabla de exel a la tabla de base de datos?

A lo que me refiero es que una posible solución es que hagas una tabla temporal donde almacenes los datos de exel y de ahi, pases esos datos con un insert a la tabla de la base de datos y ya después truncas la tabla temporal, con un procedimiento almacenado puedes hacer eso muy fácil.

    Pregunta:  66008 - HACER QUE EL USUARIO CAMBIE CONTRASEÑA CADA CIERTO TI VB.NET
Autor:  juan perez
Estimados.

Estoy haciendo un programa en vb.net y me gustaria que me agudaran en lo siguiente:

Necesito hacer que mis contraseñas expiren cada cierto tiempo para hacer que el usuario las cambie y que no puedan cambiarlas por las ultimas 3 usadas.

IDE : Visual estudio 2008
base de datos: Sql server 2008

Si necesitan algun otro dato solo pidanlo, agradecere mucho cualquier información.

Muchas gracias por su ayuda.

Saludos.
  Respuesta:  abel montalvo
Hola

Donde pretendes guardar las contraseñas que ya uso?

Saludos

    Pregunta:  66013 - MAXIMIZAR DESDE NOTIFYICON
Autor:  Jose Rodriguez Rodriguez
Hola Buenas y gracias de antemano

Mi aplicación se puede minimizar a la bandeja del sistema (Al lado del reloj de windows vamos), lo que yo quiero es que: cuando el usuario intente ejecutar la aplicación por segunda vez desde el acceso directo del escritorio y la aplicación ya este ejecutada y minimizada en la bandeja del sistema, que simplemente se Maximice. Es decir si ya hay una instancia abierta de la aplicación que se maximice y que no se abra otra instancia.

un saludo.
  Respuesta:  Jose Rodriguez Rodriguez
Esta es la respuesta que encontre pero sigue sin maximizarme

Public Class clsInstanciaPrevia
' Mutex local para sólo permitir una instancia de la aplicación por usuario
Private Shared _mutex As System.Threading.Mutex

'API de Windows
<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function ShowWindow(ByVal hWnd As System.IntPtr, ByVal nCmdShow As Integer) As Integer
End Function

<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function SetForegroundWindow(ByVal hWnd As System.IntPtr) As Integer
End Function

Private Const SW_SHOWMAXIMIZED As Integer = 3
Private Const SW_SHOWNORMAL As Integer = 1

'Enumerador para inicar el tipo de bloqueo
Public Enum eTipo As Integer
POR_SESION = 0
[GLOBAL] = 1
End Enum

'Función que devuelve TRUE si ya existe una instancia previa del programa corriendo
'En caso de que la aplicación estuviera corriendo, intenta darle foco a la ventana principal
Public Shared Function InstanciaPrevia(ByVal Tipo As eTipo) As Boolean
'Obtengo el nombre del ensamblado donde se encuentra ésta función
Dim NombreAssembly As String = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name

'Nombre del mutex según Tipo (visibilidad)
Dim mutexName As String = If(Tipo = eTipo.GLOBAL, "Global", "Local") & NombreAssembly

Dim newMutexCreated As Boolean
Try
'Abro/Creo mutex con nombre único
_mutex = New System.Threading.Mutex(False, mutexName, newMutexCreated)

If newMutexCreated Then
'Se creó el mutex, NO existe instancia previa
Return False
Else
'El mutex ya existía, Libero el mutex
_mutex.Close()
'Intento otorgar el foco al programa ya abierto anteriormente
If Not MostrarVentanaPPalProceso() Then
'No se encontró la ventana principal
MsgBox("Ya existe una instancia previa del programa corriendo.")
End If
Return True
End If
Catch ex As Exception
MsgBox(ex.Message)
Return False
End Try

End Function

'Intenta mostrar la ventana principal de los procesos con mi mismo nombre
Private Shared Function MostrarVentanaPPalProceso() As Boolean
Dim sProcessName As String = Process.GetCurrentProcess.ProcessName

'Apuntador a la ventana ppal del proceso con nombre sProcessName
Dim mainhWnd As System.IntPtr = _
(From p In Process.GetProcessesByName(sProcessName) _
Where Not p.MainWindowHandle.Equals(IntPtr.Zero) _
Select p.MainWindowHandle).FirstOrDefault

If Not mainhWnd.Equals(IntPtr.Zero) Then
'Muestro la ventana
SetForegroundWindow(mainhWnd)
ShowWindow(mainhWnd, SW_SHOWNORMAL)
Return True
Else
Return False
End If
End Function
End Class

    Pregunta:  66204 - AGREGAR LABELS EN EJECUCION EN VISUAL STUDIO 2010
Autor:  Screwerman Bolt
debo crear una matriz de 3*3 de labels para un "gato"(matriz grafica).
la matriz grafica debe ser creada desde el codigo o en la ejecucion.
la idea es que la matriz grafica detecte el click como si fuera un boton pero debe ser un label.

el problema es que solo se crea un label y los otros no aparecen en su locacion que les asigno, como si solo se creara el ultimo, o algo asi...
lo que pasa es que no entiendo como fuciona
como los creo en orden???????????
este es el codigo:

Function crearmatriz()
Dim matriz(3,3) As New Label
Dim confil As Integer
Dim concols As Integer = 1

For fils = 0 To 2
confil = confil + 4
For cols = 0 To 2
concols = concols + 30
matriz(fil,cols).Location = New Point(confil, concols)
matriz( fil, cols).Text = "hola"
Me.Controls.AddRange(New Control() {matriz(fil,cols)})
Next
Next
End Function
obiamente la fucion se llama luego desde un button
  Respuesta:  Abel M. Montalvo
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
crearmatriz()
End Sub

Private Sub crearmatriz()
Dim matriz(3, 3) As Label
Dim XInicial As Integer = 50
Dim YInicial As Integer = 50
Dim separacion As Integer = 100

For fils = 0 To 2
For cols = 0 To 2
matriz(fils, cols) = New Label
matriz(fils, cols).Name = fils.ToString + " " + cols.ToString
matriz(fils, cols).Location = New Point(XInicial + fils * separacion, YInicial + cols * separacion)
matriz(fils, cols).Text = "hola"

'Agregamos un evento --> esto es extra porsi quieres saber que label precionaste
AddHandler matriz(fils, cols).Click, AddressOf EventoClickLabel ' Agregamos el evento Click al label

Me.Controls.Add(matriz(fils, cols))
Next
Next
End Sub

Private Sub EventoClickLabel(ByVal sender As Object, ByVal e As System.EventArgs) ' Este es el evento que recibe al label y a Event
Dim Milabel As Label = CType(sender, Label) ' sender (tipo object) es el label y lo convertimos a label para manipular sus propiedades
MessageBox.Show(Milabel.Name)
End Sub


Te faltaria repasar matrises, creacion de controles, agregar eventos a controles, perdona mi falta de ortografia.
Un saludo
Abel M.

    Pregunta:  66505 - PARAR BUCLE HASTA PULSAR UN BOTÓN
Autor:  Francisco Fernández
Estoy intentando sencillas aplicaciones. Y en este caso, por más que he buscado, no he encontrado solución a algo que aparente debería ser simple:
Recorrer un bucle en el que para pasar de una a otra iteracción haya que esperar la pulsación de un Button
Algo similar al efecto que haría un InputBox dentro del bucle.

Si conocen de alguna página o tutorial con pequeños retos de este tipo, que permitan ir aprendiendo de forma autodidacta, por favor, díganmelo.

Gracias.
  Respuesta:  Milton Franco
Ola, amigo para hacer eso debes usar un hilo, usas la clase THREAD , inicias el bucle y le pones una variable booleana que mientras sea igual a TRUE continue con su bucle y cuando presiones el boton pasas la variable a FLASE y automaticamente se saldra,
lo del hilo lo digo porque debes hacer el bucle en BACKGROUND para poder seguir utilizando la GUI, investiga sobre los metodos de la clase THREAD, son faciles de usar

    Pregunta:  66656 - COMO CARGAR HOJAS DE EXCEL A UNA BD DE SQL SERVERDESD VISUAL
Autor:  olaf bec her
¿me gustaria saber como puedo cargar hojas de excel para que se almacenen un una base de datos de sql server esto median una interfaz de visual basic 2010 express como se hace o que codigo se necesita para realizar esta tarea? gracias espero su respuesta
  Respuesta:  Jose Garcia
Tenes que abrir el archivo excel con el VB primero.

Necesitas importar (con imports si es VisualBasic o bien using si es C#):
- System.Data.OleDb;
- System.Data.SqlClient;

Tenes que crear 1 conexion con OleDbConnection y otra con SqlConnection.

Abrirlos ambos con el metodo OPEN propios de la clase.

Para el excel usas OleDbCommand, y haces un query.
para recibir datos lo haces con OleDbDataReader así recorres registro a registro.

Ahora para importar lo haces dentro del bucle del DataReader.

while(dr.Read()){
//tu codigo del Sql para importar registro.
}

Espero te sirva.

Dejo algo de documentacion, aca solo te deje la idea.

http://csharp.net-informations.com/data-providers/csharp-sqldataReader.htm

Digamos tanto para OleDb como para sqlClient la forma de conectarse es la misma, lo que varia es el connection string y tipo de conexion.

Saludos!

    Pregunta:  68299 - OCULTAR Y MOSTRAR SEGÚN UN RADIOBUTTONLIST
Autor:  Stella
Tengo un RadioButtonList con tres opciones y de acuerdo al índice cliqueado me debe mostrar diferentes secciones encerradas entre <div> </div> que están ocultas de entrada. No logro ese objetivo, probé distintas variantes y me pasa que, o no muestra ninguna de las tres, o me muestra las tres siempre, o me muestra la que no corresponde y siempre la misma .
Probé con la propiedad Tabindex además de Value, etc. y me parece que no reconoce el índice elegido y no sé porqué. Agradecería mucho que me ayudaran.

En el código .aspx tengo:

<asp:RadioButtonList ID="rbtl1" onclick="activ_div(this)" runat="server" Font-Bold="True" Font-Names="Arial"
Height="1px" RepeatDirection="Horizontal" Width="496px" BorderStyle="Solid" CausesValidation="True">
<asp:ListItem Value="1">Reparación del equipo</asp:ListItem>
<asp:ListItem Value="2">Cambio del Equipo</asp:ListItem>
<asp:ListItem Value="3">Reposición del equipo</asp:ListItem>
</asp:RadioButtonList>


<div id="divRepar" style="display: none;" >
<h2>Reparación del equipo</h2>
........................
........................
</div>

<div style="display: none;" id="divCambio">
<h2>Cambio del equipo</h2>
........................
........................
</div>

<div style="display: none;" id="divRepos">
<h2>Reposición del equipo</h2>
........................
........................
</div>
En el archivo JSCRIPT.js tengo:

function activ_div(rbtl1) {

if (rbtl1.value=0) {
document.getElementById("divRepar").style.display = "block";
}
if (rbtl1.value=1) {
document.getElementById("divCambio").style.display = "block";
}
if (rbtl1.value=2) {
document.getElementById("divRepos").style.display = "block";
}
}
Me indica que rbtl1.value está indefinido.
  Respuesta:  Carlos Perez
<asp:RadioButtonList runat="server" ID="rbtl1" Font-Bold="True" Font-Names="Arial"
Height="1px" RepeatDirection="Horizontal" Width="496px" BorderStyle="Solid" CausesValidation="True" >
<asp:ListItem Value="1">Reparación del equipo</asp:ListItem>
<asp:ListItem Value="2">Cambio del Equipo</asp:ListItem>
<asp:ListItem Value="3">Reposición del equipo</asp:ListItem>
</asp:RadioButtonList>
</div>

<div id="divRepar" visible="false" runat="server" >
<h2>Reparación del equipo</h2>
........................
........................
</div>

<div id="divCambio" visible="false" runat="server">
<h2>Cambio del equipo</h2>
........................
........................
</div>

<div id="divRepos" visible="false" runat="server">
<h2>Reposición del equipo</h2>
........................
........................
</div>


En el archivo JSCRIPT.js tengo:

Protected Sub rbtl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles rbtl1.SelectedIndexChanged

divRepar.Visible = False
divCambio.Visible = False
divRepos.Visible = False

If rbtl1.SelectedValue = 1 Then
divRepar.Visible = True
ElseIf rbtl1.SelectedValue = 2 Then
divCambio.Visible = True
Else
divRepos.Visible = True
End If
End Sub

|<  <<  24 25 26 27 28 29 30 31 32 33 34  >>  >|