Advertisement
FSan

Visual Basic

May 29th, 2024 (edited)
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.84 KB | None | 0 0
  1. 1. Calculadora
  2.  
  3. Public Class FormCalculadora
  4. Dim primerNumero As Double
  5. Dim segundoNumero As Double
  6. Dim operacion As String = ""
  7.  
  8. Private Sub ButtonNumero_Click(sender As Object, e As EventArgs) Handles ButtonNumero.Click
  9. Dim boton As Button = CType(sender, Button)
  10. TextBoxPantalla.Text &= boton.Text
  11. End Sub
  12.  
  13. Private Sub ButtonOperacion_Click(sender As Object, e As EventArgs) Handles ButtonOperacion.Click
  14. Dim boton As Button = CType(sender, Button)
  15. primerNumero = CDbl(TextBoxPantalla.Text)
  16. operacion = boton.Text
  17. TextBoxPantalla.Text = ""
  18. End Sub
  19.  
  20. Private Sub ButtonIgual_Click(sender As Object, e As EventArgs) Handles ButtonIgual.Click
  21. segundoNumero = CDbl(TextBoxPantalla.Text)
  22. Select Case operacion
  23. Case "+"
  24. TextBoxPantalla.Text = (primerNumero + segundoNumero).ToString()
  25. Case "-"
  26. TextBoxPantalla.Text = (primerNumero - segundoNumero).ToString()
  27. Case "*"
  28. TextBoxPantalla.Text = (primerNumero * segundoNumero).ToString()
  29. Case "/"
  30. If segundoNumero <> 0 Then
  31. TextBoxPantalla.Text = (primerNumero / segundoNumero).ToString()
  32. Else
  33. TextBoxPantalla.Text = "Error: División por cero"
  34. End If
  35. End Select
  36. End Sub
  37.  
  38. Private Sub ButtonLimpiar_Click(sender As Object, e As EventArgs) Handles ButtonLimpiar.Click
  39. TextBoxPantalla.Text = ""
  40. End Sub
  41. End Class
  42.  
  43. 2. Manipulación de archivos:
  44.  
  45. Imports System.IO
  46.  
  47. Public Class FormManipulacionArchivos
  48. Private Sub ButtonLeerArchivo_Click(sender As Object, e As EventArgs) Handles ButtonLeerArchivo.Click
  49. Dim rutaArchivo As String = "archivo.csv"
  50. If File.Exists(rutaArchivo) Then
  51. Dim lineas As String() = File.ReadAllLines(rutaArchivo)
  52. For Each linea As String In lineas
  53. Dim datos As String() = linea.Split(",")
  54. ' Procesar datos según sea necesario '
  55. Console.WriteLine($"Campo 1: {datos(0)}, Campo 2: {datos(1)}")
  56. Next
  57. Else
  58. Console.WriteLine("El archivo no existe.")
  59. End If
  60. End Sub
  61.  
  62. Private Sub ButtonEscribirArchivo_Click(sender As Object, e As EventArgs) Handles ButtonEscribirArchivo.Click
  63. Dim rutaArchivo As String = "archivo.csv"
  64. Dim datos As String = "Dato1,Dato2"
  65. File.WriteAllText(rutaArchivo, datos)
  66. Console.WriteLine("Archivo escrito exitosamente.")
  67. End Sub
  68. End Class
  69.  
  70. 3.Aplicación de gestión de inventario: (requiere conexión a una base de datos)
  71.  
  72. Imports System.Data.SqlClient
  73.  
  74. Public Class FormGestionInventario
  75. Private connectionString As String = "Data Source=NombreServidor;Initial Catalog=NombreBaseDatos;Integrated Security=True"
  76. Private Sub ButtonAgregarProducto_Click(sender As Object, e As EventArgs) Handles ButtonAgregarProducto.Click
  77. Using conexion As New SqlConnection(connectionString)
  78. Dim query As String = "INSERT INTO Productos (Nombre, Cantidad) VALUES (@Nombre, @Cantidad)"
  79. Using comando As New SqlCommand(query, conexion)
  80. comando.Parameters.AddWithValue("@Nombre", TextBoxNombreProducto.Text)
  81. comando.Parameters.AddWithValue("@Cantidad", Convert.ToInt32(TextBoxCantidadProducto.Text))
  82. conexion.Open()
  83. comando.ExecuteNonQuery()
  84. End Using
  85. End Using
  86. End Sub
  87.  
  88. Private Sub ButtonActualizarProducto_Click(sender As Object, e As EventArgs) Handles ButtonActualizarProducto.Click
  89. Using conexion As New SqlConnection(connectionString)
  90. Dim query As String = "UPDATE Productos SET Cantidad = @Cantidad WHERE Nombre = @Nombre"
  91. Using comando As New SqlCommand(query, conexion)
  92. comando.Parameters.AddWithValue("@Cantidad", Convert.ToInt32(TextBoxNuevaCantidad.Text))
  93. comando.Parameters.AddWithValue("@Nombre", TextBoxNombreProducto.Text)
  94. conexion.Open()
  95. comando.ExecuteNonQuery()
  96. End Using
  97. End Using
  98. End Sub
  99.  
  100. Private Sub ButtonEliminarProducto_Click(sender As Object, e As EventArgs) Handles ButtonEliminarProducto.Click
  101. Using conexion As New SqlConnection(connectionString)
  102. Dim query As String = "DELETE FROM Productos WHERE Nombre = @Nombre"
  103. Using comando As New SqlCommand(query, conexion)
  104. comando.Parameters.AddWithValue("@Nombre", TextBoxNombreProducto.Text)
  105. conexion.Open()
  106. comando.ExecuteNonQuery()
  107. End Using
  108. End Using
  109. End Sub
  110. End Class
  111.  
  112. 4. Validación de datos:
  113.  
  114. Public Class FormValidacionDatos
  115. Private Sub ButtonValidarCorreo_Click(sender As Object, e As EventArgs) Handles ButtonValidarCorreo.Click
  116. Dim correo As String = TextBoxCorreo.Text
  117. If System.Text.RegularExpressions.Regex.IsMatch(correo, "^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$") Then
  118. MessageBox.Show("Correo electrónico válido.")
  119. Else
  120. MessageBox.Show("Correo electrónico no válido.")
  121. End If
  122. End Sub
  123.  
  124. Private Sub ButtonValidarTelefono_Click(sender As Object, e As EventArgs) Handles ButtonValidarTelefono.Click
  125. Dim telefono As String = TextBoxTelefono.Text
  126. If System.Text.RegularExpressions.Regex.IsMatch(telefono, "^\d{10}$") Then
  127. MessageBox.Show("Número de teléfono válido.")
  128. Else
  129. MessageBox.Show("Número de teléfono no válido.")
  130. End If
  131. End Sub
  132. End Class
  133.  
  134.  
  135. 5. MANEJOS DE ARRAY
  136. Manejo de arrays y colecciones:
  137. Pregunta: "Escribe un código en Visual Basic para ordenar un array de números de manera ascendente."
  138. Respuesta: Utilizaría la función Array.Sort() para ordenar el array en su lugar.
  139.  
  140. Dim numbers() As Integer = {4, 2, 7, 1, 9}
  141. Array.Sort(numbers)
  142.  
  143. 6. Trabajo con clases y objetos:
  144. Pregunta: "Define una clase en Visual Basic para representar un libro con propiedades como título, autor y año de publicación."
  145. Respuesta:
  146.  
  147. Public Class Libro
  148. Public Property Titulo As String
  149. Public Property Autor As String
  150. Public Property AnioPublicacion As Integer
  151. End Class
  152.  
  153.  
  154. 3. Manejo de excepciones:
  155. Pregunta: "Escribe un código en Visual Basic para abrir un archivo y manejar posibles excepciones como archivo no encontrado o permisos insuficientes."
  156. Respuesta: Utilizaría un bloque Try...Catch para manejar las excepciones.
  157.  
  158. Try
  159. ' Intentar abrir el archivo '
  160. Dim sr As New System.IO.StreamReader("ruta_del_archivo.txt")
  161. ' Realizar operaciones con el archivo '
  162. sr.Close()
  163. Catch ex As System.IO.FileNotFoundException
  164. ' Manejar excepción de archivo no encontrado '
  165. MessageBox.Show("El archivo no se encontró.")
  166. Catch ex As System.IO.IOException
  167. ' Manejar excepciones de E/S (entrada/salida) '
  168. MessageBox.Show("Error al acceder al archivo.")
  169. End Try
  170.  
  171. 6. Uso de consultas SQL en Visual Basic:
  172. Pregunta: "Escribe una consulta SQL en Visual Basic para recuperar todos los clientes de una tabla llamada Clientes."
  173. Respuesta: Utilizaría un objeto SqlCommand para ejecutar la consulta SQL y un objeto SqlDataAdapter para llenar un DataSet con los resultados.
  174. vb
  175.  
  176. Dim connectionString As String = "cadena_de_conexión"
  177. Dim query As String = "SELECT * FROM Clientes"
  178. Using conexion As New SqlConnection(connectionString)
  179. Using adaptador As New SqlDataAdapter(query, conexion)
  180. Dim dataSet As New DataSet()
  181. adaptador.Fill(dataSet, "Clientes")
  182. ' Utilizar el dataSet para trabajar con los datos recuperados '
  183. End Using
  184. End Using
  185.  
  186. XML
  187.  
  188. 1. Lectura de un archivo XML:
  189. Pregunta: "¿Cómo leerías y procesarías datos de un archivo XML en Visual Basic?"
  190. Respuesta: Utilizaría la clase XmlDocument para cargar y analizar el archivo XML, luego navegaría por sus nodos para acceder a la información requerida.
  191.  
  192. Dim doc As New XmlDocument()
  193. doc.Load("ruta_del_archivo.xml")
  194. Dim nodoRaiz As XmlNode = doc.DocumentElement
  195.  
  196. For Each nodo As XmlNode In nodoRaiz.ChildNodes
  197. If nodo.Name = "cliente" Then
  198. Dim nombre As String = nodo.SelectSingleNode("nombre").InnerText
  199. Dim edad As Integer = Convert.ToInt32(nodo.SelectSingleNode("edad").InnerText)
  200. ' Procesar datos del cliente aquí '
  201. End If
  202. Next
  203.  
  204. 2. Escritura de datos en un archivo XML:
  205. Pregunta: "¿Cómo crearías y escribirías un archivo XML en Visual Basic?"
  206. Respuesta: Utilizaría la clase XmlWriter para crear un nuevo documento XML y escribiría los datos necesarios en él.
  207.  
  208. Using escritor As XmlWriter = XmlWriter.Create("nuevo_archivo.xml")
  209. escritor.WriteStartDocument()
  210. escritor.WriteStartElement("personas")
  211.  
  212. escritor.WriteStartElement("persona")
  213. escritor.WriteElementString("nombre", "Juan")
  214. escritor.WriteElementString("edad", "30")
  215. escritor.WriteEndElement()
  216.  
  217. escritor.WriteStartElement("persona")
  218. escritor.WriteElementString("nombre", "María")
  219. escritor.WriteElementString("edad", "25")
  220. escritor.WriteEndElement()
  221.  
  222. escritor.WriteEndElement()
  223. escritor.WriteEndDocument()
  224. End Using
  225.  
  226. 3. Consulta de datos XML utilizando LINQ to XML:
  227.  
  228. Dim doc As XDocument = XDocument.Load("ruta_del_archivo.xml")
  229. Dim clientes As IEnumerable(Of XElement) = From cliente In doc.Descendants("cliente")
  230. Where cliente.Element("edad").Value > 18
  231. Select cliente
  232.  
  233. For Each cliente As XElement In clientes
  234. Dim nombre As String = cliente.Element("nombre").Value
  235. Dim edad As Integer = Convert.ToInt32(cliente.Element("edad").Value)
  236. ' Procesar datos del cliente aquí '
  237. Next
  238.  
  239.  
  240.  
  241.  
  242. CREACION DE INTERFACES
  243.  
  244.  
  245. Public Class FormularioPrincipal
  246. Inherits System.Windows.Forms.Form
  247.  
  248. Private WithEvents label1 As System.Windows.Forms.Label
  249. Private WithEvents textBoxNombre As System.Windows.Forms.TextBox
  250. Private WithEvents buttonSaludar As System.Windows.Forms.Button
  251.  
  252. Public Sub New()
  253. InitializeComponent()
  254. End Sub
  255.  
  256. Private Sub InitializeComponent()
  257. Me.label1 = New System.Windows.Forms.Label()
  258. Me.textBoxNombre = New System.Windows.Forms.TextBox()
  259. Me.buttonSaludar = New System.Windows.Forms.Button()
  260. Me.SuspendLayout()
  261. '
  262. 'label1
  263. '
  264. Me.label1.AutoSize = True
  265. Me.label1.Location = New System.Drawing.Point(50, 50)
  266. Me.label1.Name = "label1"
  267. Me.label1.Size = New System.Drawing.Size(58, 13)
  268. Me.label1.TabIndex = 0
  269. Me.label1.Text = "Introduce:"
  270. '
  271. 'textBoxNombre
  272. '
  273. Me.textBoxNombre.Location = New System.Drawing.Point(120, 50)
  274. Me.textBoxNombre.Name = "textBoxNombre"
  275. Me.textBoxNombre.Size = New System.Drawing.Size(150, 20)
  276. Me.textBoxNombre.TabIndex = 1
  277. '
  278. 'buttonSaludar
  279. '
  280. Me.buttonSaludar.Location = New System.Drawing.Point(120, 100)
  281. Me.buttonSaludar.Name = "buttonSaludar"
  282. Me.buttonSaludar.Size = New System.Drawing.Size(75, 23)
  283. Me.buttonSaludar.TabIndex = 2
  284. Me.buttonSaludar.Text = "Saludar"
  285. Me.buttonSaludar.UseVisualStyleBackColor = True
  286. '
  287. 'FormularioPrincipal
  288. '
  289. Me.ClientSize = New System.Drawing.Size(300, 200)
  290. Me.Controls.Add(Me.buttonSaludar)
  291. Me.Controls.Add(Me.textBoxNombre)
  292. Me.Controls.Add(Me.label1)
  293. Me.Name = "FormularioPrincipal"
  294. Me.ResumeLayout(False)
  295. Me.PerformLayout()
  296. End Sub
  297.  
  298. Private Sub buttonSaludar_Click(sender As Object, e As EventArgs) Handles buttonSaludar.Click
  299. MessageBox.Show("¡Hola, " & textBoxNombre.Text & "!")
  300. End Sub
  301. End Class
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement