|
81
|
Programación / .NET (C#, VB.NET, ASP) / Re: Cuando compilo mi aplicación, no funciona.
|
en: 21 Noviembre 2012, 16:43 pm
|
Un error es señal de que algo anda mal, lo correcto es corregirlo no ignorarlo. No puedes caer ante un error, porque en todos los proyectos hasta en los mejores y más grandes incluso con los mejores programadores, los errores existen y la lógica es combatirlos. Aunque si en verdad deseas ignorarlo..... En Configuraciones del Proyecto, puedes Activar el Handler de excepciones no controladas, y filtrar esta excepción para así ignorarla. Proyecto > Aplicación (Es una pestaña) > Ver eventos de aplicaciones (Es un botón esta abajo al final) > Se abre una nueva ventana de código busca y agrega el evento UnhandledException > Y agregas esto: If TypeOf e.Exception Is IndexOutOfRangeException Then e.ExitApplication = False End If
Tienes que tener en cuenta que cuando se da un error en un método todo el código que prosigue al lugar donde se dio el error no se ejecuta y el método se corta violentamente. Dim A As Integer = 5 Dim B As Integer = 1 B -= 1 Dim C As Integer = A / B 'Error' 'Desde aquí se corta el método' MessageBox.Show(C)
Este código tiene un error común, una variable se vuelve cero en tiempo de ejecución luego se hace una division que resulta en error, si configuramos nuestra aplicación para ignorar el error, entonces el valor de C nunca sería calculado y el mensaje tampoco seria mostrado
|
|
|
82
|
Programación / .NET (C#, VB.NET, ASP) / Re: Cuando compilo mi aplicación, no funciona.
|
en: 21 Noviembre 2012, 16:31 pm
|
Esa ventana es aviso de una excepción no controlada, si lees da mucha información acerca de donde y como se dio el error, tienes que revisar el código en el lugar donde te dice que lo hubo, buscando valores inválidos, variables no inicializadas, divisiones por 0, desbordamientos y ese tipo de cosas.
Al menos allí se logra ver IndexOutOfRangeException, que es un tipo de excepción que resulta de excederse del Index en un arreglo, Por ejemplo una lista contiene 5 elementos, eso quiere decir que contiene los Index del 0 al 4, intentar llamar al 5 acabaría en esta excepción. Se puede ver que el error da en CargarPropiedades y que a su vez este método se llama desde el evento Form.Load.
|
|
|
83
|
Programación / .NET (C#, VB.NET, ASP) / Re: AllowDrop... como narices usarlo?
|
en: 21 Noviembre 2012, 16:19 pm
|
Debes crear el objeto FileInfo Dim I As New FileInfo(Objetos(0))
Y de esa variable es que sacas el valor de Attributes. No he podido hacer la comparación entre directorio y archivo, ¿Que estoy haciendo mal? Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles foldertextbox.DragDrop If e.Data.GetDataPresent(DataFormats.FileDrop) Then Dim Objetos As String() = e.Data.GetData(DataFormats.FileDrop) Dim attributes = Objetos(0) If ((attributes And FileAttributes.Directory) = FileAttributes.Directory) Then MsgBox("es un dir") Else MsgBox("no es un dir") End If
|
|
|
84
|
Programación / .NET (C#, VB.NET, ASP) / Re: AllowDrop... como narices usarlo?
|
en: 21 Noviembre 2012, 15:13 pm
|
Debes filtrar entre que es un archivo y una carpeta porque así recibirás cualquiera de los dos por igual, una de las formas de hacerlo es en el Evento DragEnter, crear un objeto FileInfo, con la ruta del archivo/carpeta recibido y verificar si el archivo posee el Attributes IO.FileAttributes.Directory. Recordando que Attributes es Flags, y se comprueba: (Info.Attributes And IO.FileAttributes.Directory) = IO.FileAttributes.Directory
Private Sub TextBox1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragDrop If e.Data.GetDataPresent(DataFormats.FileDrop) Then Dim Objetos As String() = e.Data.GetData(DataFormats.FileDrop) TextBox1.Text = Objetos(0) End If End Sub Private Sub TextBox1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TextBox1.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then e.Effect = DragDropEffects.All End If End Sub
|
|
|
88
|
Programación / .NET (C#, VB.NET, ASP) / Re: convoco a developers freelancer
|
en: 19 Noviembre 2012, 00:14 am
|
Creo que vale la pena recalcar el link que compartió Novlucker, creo que queda todo sobreentendido, sobretodo en las citas directas que hacen de Microsoft. La siguiente parte que colocan negrita es muy importante, cito: "Debido a las diferencias del pasado entre Microsoft Visual Basic , Microsoft Visual C , y Microsoft Visual C++ , muchos desarrolladores tienen la impresión de que Microsoft Visual C# .NET es un lenguaje mucho más poderoso que Microsoft Visual Basic .NET. Algunos desarrolladores asumen que muchas cosas que son posibles en Visual C# .NET son imposibles en Visual Basic .NET; de igual forma en que muchas cosas que son posibles en Microsoft Visual C 6.0 ó Microsoft Visual C++ 6.0 son imposibles en Microsoft Visual Basic 6.0. Asumir esto es incorrecto. Si bien existen diferencias entre Visual Basic .NET y Visual C# .NET , ambos son lenguajes de programación de primera clase basados en el Microsoft .NET Framework , y ambos son igual de poderosos."
|
|
|
90
|
Programación / .NET (C#, VB.NET, ASP) / Re: F1 - Cortar una imagen VB.NET
|
en: 18 Noviembre 2012, 18:34 pm
|
Todo lo imaginable es posible con el GDI de .Net , mira este ejemplo: Un proyecto Windows Forms vació, carga una imagen, crea un objeto GraphicPath y agrega los puntos que conforman el Polígono, obtiene la región que ocupa dicho Polígono, luego recorre cada Rectángulo que conforma la región pintando cada parte de la Imagen con ayuda de la función Offset que mueve los ejes hacia el Origen deseado (El punto desde donde se comenzara a Dibujar la Imagen) y el Destino (El punto desde donde se cortara el polígono en la imagen). Imports System.Drawing.Drawing2D Public Class Form1 Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint Dim Imagen As Image = Image.FromFile("C:\Ejemplo.JPG") Dim Forma As New GraphicsPath Forma.AddPolygon(New PointF() {New PointF(10, 20), New PointF(250, 35), New PointF(150, 200)}) Dim Poligono As New Region(Forma) Dim Origen As New Point(10, 10), Destino As New Point(20, 20) Dim RectanguloOrigen As RectangleF, RectanguloDestino As RectangleF For Each Rectangulo As RectangleF In Poligono.GetRegionScans(New Matrix) RectanguloOrigen = Rectangulo : RectanguloOrigen.Offset(Origen) RectanguloDestino = Rectangulo : RectanguloDestino.Offset(Destino) e.Graphics.DrawImage(Imagen, RectanguloOrigen, RectanguloDestino, GraphicsUnit.Pixel) Next End Sub End Class
|
|
|
|
|
|
|