Foros del Web » Programación para mayores de 30 ;) » .NET »

hola necesito que me ayuden encontrar mi error

Estas en el tema de hola necesito que me ayuden encontrar mi error en el foro de .NET en Foros del Web. es programa para cambiar la resolución de la pantalla clase _____________________ Imports System.Runtime.InteropServices Public Class pantalla Public Const DISP_CHANGE_SUCCESFUL As Integer = 0 Public Const ...
  #1 (permalink)  
Antiguo 10/06/2010, 19:23
Avatar de sanctusbellicosus91  
Fecha de Ingreso: marzo-2010
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 0
hola necesito que me ayuden encontrar mi error

es programa para cambiar la resolución de la pantalla


clase
_____________________
Imports System.Runtime.InteropServices

Public Class pantalla
Public Const DISP_CHANGE_SUCCESFUL As Integer = 0
Public Const ENUM_CURRENT_SETTINGS As Integer = -1
Public Const ENUM_REGISTRY_SETTINGS As Integer = -2
Public Const CCHDEVICENAME As Integer = 32
Public Const CCHFORNAME As Integer = 32
Public Const DM_BITSPERPEL As Integer = 40000
Public Const DM_PELSDWITH As Integer = 80000
Public Const DM_PELSHEIGHT As Integer = 100000

<StructLayout(LayoutKind.Secuential)>
Public Structure DEVMODE

Public dmdevidename As String
Public dmspecversion As Integer
Public dmdriverversion As Integer
Public dmsize As Integer
Public dmDriveBeta As Integer
Public dmdrivextra As Integer
Public dmfields As Long
Public dmDisplayOrientation As ScreenOrientation
Public dmorientation As Integer
Public dmpapersize As Integer
Public dmpaperlength As Integer
Public dmpaperwidth As Integer
Public dmscale As Integer
Public dmcopies As Integer
Public dmdefaultsource As Integer
Public dmprintquality As Integer
Public dmcolor As Integer
Public dmduplex As Integer
Public dmresolution As Integer
Public dmttoption As Integer
Public dmcollate As Integer
Public dmFormName As String
Public dmunusedpadding As Integer
Public dmbitsperpel As Long
Public dmpelswidth As Long
Public dmpelsheight As Long
Public dmdisplayflags As Long
Public dmdisplayfrequency As Long

End Structure

<DllImport("-user32.dll", charset:=charset.Auto > _
Public Shared Function EnumDislaySettings(ByVal lpszdevicename As Long, _
ByVal imodem As Integer, ByRef ipdevmode As DEVMODE) As Boolean

End Function

End Class


______________________________
from





Public Class Form1

Public resCambio As Boolean
Public resAlto As Integer
Public resAncho As Integer
Public resBits As Integer

Public Structure tRes
Private Alto As Integer
Private Ancho As Integer
Private Bts As Integer
End Structure

pantalla DEVMODE Devmod = new pantalla.DEVMODE();
tResol[]resDisponibles = new tResol [0];
resDisponible (0) As tresol
Int nuevaRes;

Public Structure
void Resolucion()
int i;
bool hay resoluciones;
DevMode.dmSize=(short)MArshall.SizeOf(DevMode);
i=0;
do

hayResolucion = pantalla.EnumDisplaySettings(null,i,DevMode);
i+=1;
if(hayResolucion)

sting s =DevMode.dMPelsWidth.Tostring() + "x" +
DevMode.dmPelsHeight.tostring() + "x" +
DevMode.dmBitsPerpel.tostring() + "Bits";
Ist Resoluciones.Items.Add(&);
array:Resize(resDisponibles, 1);
resDisponibles(i-1).Ancho=DevMode.dmWidth;
resDisponibles(i-1).Alto=DevMode.dmHeight;
resDisponibles(i-1).Bits=DevMode.mdBitsPerpel;

while(hay Resolucion);
End Structure


Sub CambiarRes(ByVal Ancho As Integer, ByVal Alto As Integer, ByVal Bits As Integer)
Dim noCambio As Integer
DevMod.dmSize = CType(Marshal.SizeOf(DevMod), Short)
DevMod.dmFields = pantalla.DM_PELSDWITH Or pantalla.DM_PELSHEIGHT Or pantalla.DM_BITSPERPEL
DevMod.dmPELSDWITH = Ancho
DevMod.dmPELSHEIGHT = Alto
DevMod.dmBITSPERPEL = Bits
If (noCambio = pantalla.ChangeDisplaySettings(DevMod, 0) <> pantalla.DISP_CHANGE_SUCCESFUL) Then MessageBox.Show("Error: " & noCambio.ToString() & "al cambiar la resolucion de pantalla", "Error") Else
resCambio = True
End If



End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
CambiarRes(resDisponibles [nuevaRes].Ancho, resDisponibles [nuevaRes].Alto, resDisponibles [nuevaRes].Bits)
nuevaRes = istResolucion.Selected Index
txtNueva.Text = resDisponibles(nuevaRes).Ancho.Tostring() & " x " &_
resDisponibles(nuevaRes).Alto.Tostring() & " " &_
resDisponibles(nuevaRes).Bits.Tostring() & " Bits "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click


End Sub

Private Sub chkRestaurar_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkRestaurar.CheckedChanged
If chkRestaurar.Checked And resCambio Then
CambiarRes(resAncho, resAlto, resBits)
End If


End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
CambiarRes(resAncho, resAlto, resBits)
resCambio = False
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
resCambio = False
DevMod.dmSize = Ctype (Marshal.SizeOf(DevMod,short )
pantalla.EnumDisplaySettings(Nothing, ENUM_CURRENT_SETTINGS, DevMode)
resAncho = DevMod.dmWidth
resAlto = DevMod.dmHeight
resBits = DevMod.dmBitsPerPel
txtResolucion.Text = resAncho.ToString() & " x " & resAlto.ToString() & " " & resBits.ToString() & "Bits"
resoluciones()
End Sub
End Class
  #2 (permalink)  
Antiguo 11/06/2010, 04:41
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Respuesta: hola necesito que me ayuden encontrar mi error

Nosotros necesitamos que tu mismo aisles el problema, y evites escupir aquí tanto código, sin apenas mencionar nada.
Una vez lo tengas más localizado podrás hacer una pregunta mucho más concreta en el foro, y tendrás muchas más posibilidades de que alguien te ayude.
Saludos.
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 11/06/2010, 05:47
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Respuesta: hola necesito que me ayuden encontrar mi error

Claro, ¿Cual es el error que te genera ese codigo?
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #4 (permalink)  
Antiguo 11/06/2010, 07:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: hola necesito que me ayuden encontrar mi error

¿Por qué no has usado estructuras de control para localizarlo?
Un simple Try/Catch te evitaría hacer preguntas abstractas y pedirle a otros que hagan tu tarea...
Algo tan simple como poner:
Código vb.net:
Ver original
  1. Sub CambiarRes(ByVal Ancho As Integer, ByVal Alto As Integer, ByVal Bits As Integer)
  2.         Try
  3.             Dim noCambio As Integer
  4.             DevMod.dmSize = CType(Marshal.SizeOf(DevMod), Short)
  5.             If DevMod.dmFields = pantalla.DM_PELSDWITH Or pantalla.DM_PELSHEIGHT Or pantalla.DM_BITSPERPEL Then
  6.                 DevMod.dmPELSDWITH = Ancho
  7.                 DevMod.dmPELSHEIGHT = Alto
  8.                 DevMod.dmBITSPERPEL = Bits
  9.                 If (noCambio = pantalla.ChangeDisplaySettings(DevMod, 0) <> pantalla.DISP_CHANGE_SUCCESFUL) Then MessageBox.Show("Error: " & noCambio.ToString() & "al cambiar la resolucion de pantalla", "Error") Else
  10.                 resCambio = True
  11.             End If
  12.         Catch ex As Exception
  13.             MessageBox.Show("Excepción en ()" & vbNewLine & ex.Message & vbNewLine & ex.StackTrace.ToString, "Error encontrado", MessageBoxButtons.OK, MessageBoxIcon.Error)
  14.         End Try
  15.     End Sub
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 11/06/2010, 07:43
 
Fecha de Ingreso: febrero-2010
Ubicación: Guayaquil - Ecuador
Mensajes: 350
Antigüedad: 14 años, 2 meses
Puntos: 13
Respuesta: hola necesito que me ayuden encontrar mi error

Ejecuta paso a paso o pon quiebres en el codigo para que encuentres la linea del error.

Salu2

Etiquetas: encontrar, hola
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:33.