• Viernes 29 de Marzo de 2024, 05:54

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - sergiotarrillo

Páginas: 1 ... 4 5 [6]
126
VB .NET / Enumeracion De "tipos De Letras"
« en: Martes 17 de Agosto de 2004, 01:16 »
Muchas veces cuadno queremos darle a un control el tipo de letra, tenemos que poner "Courrier New", quisiera saber si existe alguna clase, o variable que tenga todos los tipos de letra ........?

127
VB .NET / [Código Fuente] Hacer lineas con el mouse y mover el dibujo con el mouse
« en: Lunes 9 de Agosto de 2004, 06:40 »
Visual Basic .Net: Hacer una linea con el mouse, y moverla como un objeto con el teclado.


--------------------------------------------------------------------------------

Autor: supersergioman@hotmail.com
Universidad Nacional de Trujillo --- Peru

Puede parecer facil el titulo propuesto, pero podemos aprender muchos temas con este reto. A ver piensen un poco cual seria como seria el programa, aver..........., facil, capturo los click del mouse, claro serian dos, uno para el punto inicial y otro para el punto final, listo ahora lo dibujo. Pero como puedo mover esa linea a donde yo quiera?, dibujo una nueva linea, puede ser, muevo el fondo, puede ser, etc. Si quiero mover a la linea creada tengo que tratarla como un objeto, es decir hacer uso de P.O.O. (programacion orientada a objetos).

Auque paresca muy tedioso hacer clases, -si lo puedo hacer en el windows.form, si puede hacer pero la P.O.O, le da muchas caracteristicas a tu programa, cuando mas cresca tu programa no se te hara tan díficil si usaste P.O.O. Yo para este programa solo voy a usar dos clases: DrawLine.vb (formulario windows), y Linea.vb.

 

Clase Linea.vb


Código: vb.net
  1. Public Class Linea
  2.  
  3.    'atributos de la clase
  4.    Private iniX As Integer
  5.    Private iniY As Integer
  6.    Private finX As Integer
  7.    Private finY As Integer
  8.  
  9.    'lapiz del pincel
  10.    Private myPen As Pen
  11.  
  12.  
  13.  
  14.    '------------------------
  15.  
  16.       'aqui falta las declaraciones Property, en el zip esta todo  
  17.    '---------------------
  18.  
  19.  
  20.    'constructor
  21.    Public Sub New(ByVal iX As Integer, ByVal iY As Integer, ByVal fX As Integer, ByVal fY As Integer)
  22.       iniX = iX
  23.       iniY = iY
  24.       finX = fX
  25.       finY = fY
  26.  
  27.       'estableciendo el lapiz por defecto
  28.       myPen = New Pen(Color.Gold, 4)
  29.    End Sub
  30.  
  31.    'ahora si metodos principales de la clase
  32.    Public Sub Move(ByVal str As String)
  33.       Select Case str
  34.          Case "U"   'mover arriba
  35.             iniY -= 2
  36.             finY -= 2
  37.          Case "D"   'mover abajo
  38.             iniY += 2
  39.             finY += 2
  40.          Case "R"   'mover derecha
  41.             iniX += 2
  42.             finX += 2
  43.          Case "L"   'mover izquierda
  44.             iniX -= 2
  45.             finX -= 2
  46.       End Select
  47.    End Sub
  48.  
  49. End Class
  50.  

Clase DrawLine.vb

Código: vb.net
  1.    'mi objeto para dibujar
  2.    Private g As Graphics
  3.  
  4.    Public Sub DrawMyLine()
  5.  
  6.       'creando el objeto
  7.       g = PicFondo.CreateGraphics()
  8.  
  9.       g.Clear(Color.White)
  10.       'ahora dibujando la lina
  11.       g.DrawLine(myLine.Pincel, myLine.pIniX, myLine.pIniY, myLine.pFinX, myLine.pFinY)
  12.    End Sub
  13.  
  14.    Private Sub CmdDraw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdDraw.Click
  15.       MsgBox("hacer un click en el Picture, mantenerlo presionado y mover el mouse")
  16.       dibujar = True
  17.  
  18.  
  19.       'creando el objeto  a usar
  20.       myLine = New Linea(0, 0, 0, 0)
  21.    End Sub
  22.  
  23.    '----------------------------------------------
  24.    'Con los tres modos del mouse se dibuja la linea
  25.    Private Sub PicFondo_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PicFondo.MouseDown
  26.       If dibujar Then
  27.          If Not dibujando Then
  28.             myLine.pIniX = e.X
  29.             myLine.pIniY = e.Y
  30.             'ya se hizo el primer punto
  31.             dibujando = True
  32.          End If
  33.       End If
  34.    End Sub
  35.  
  36.    Private Sub PicFondo_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PicFondo.MouseMove
  37.       If dibujando Then
  38.          myLine.pFinX = e.X
  39.          myLine.pFinY = e.Y
  40.          Me.DrawMyLine()
  41.       End If
  42.    End Sub
  43.  
  44.    Private Sub PicFondo_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PicFondo.MouseUp
  45.       'se termino de dibujar la linea
  46.       dibujando = False
  47.  
  48.       'ahora mover la linea
  49.       Me.Panel1.Visible = True
  50.    End Sub
  51.    '--------------------------------------------------
  52.  
  53.    '----------------------------------------------
  54.    'ahora se lo va amover
  55.    Private Sub CmdMove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdMove.Click
  56.       'ya no crear otra linea
  57.       Me.dibujar = False
  58.       'CmdDraw.Enabled = False
  59.  
  60.       'cambiar el ancho
  61.       Try
  62.          If (TxtAncho.Text <> "") Then
  63.             myLine.Ancho = Integer.Parse(TxtAncho.Text)
  64.          End If
  65.       Catch er As Exception
  66.          MsgBox("no ingreso un ancho correcto, se tomara el anterior")
  67.       End Try
  68.  
  69.       'mandano un mensaje
  70.       MsgBox("mover la linea con el teclado")
  71.  
  72.       'mover
  73.       Me.mover = True
  74.       'mandando el foco
  75.       Me.TxtKeyCode.Focus()
  76.    End Sub
  77.  
  78.    Private Sub TxtKeyCode_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtKeyCode.KeyDown
  79.       'si se puede mover el objeto
  80.       If Me.mover Then
  81.          Select Case e.KeyCode
  82.             Case Keys.Up
  83.                myLine.Move("U")
  84.                Me.DrawMyLine()
  85.             Case Keys.Down
  86.                myLine.Move("D")
  87.                Me.DrawMyLine()
  88.             Case Keys.Left
  89.                myLine.Move("L")
  90.                Me.DrawMyLine()
  91.             Case Keys.Right
  92.                myLine.Move("R")
  93.                Me.DrawMyLine()
  94.          End Select
  95.       End If
  96.  
  97.    End Sub
  98.    '------------------------------------------------------
  99. End Class
  100.  

Autor: sergio

128
VB .NET / Office 2003 Con Vs.net 2002 ?
« en: Domingo 8 de Agosto de 2004, 06:39 »
se puede usar el Office 2003 con el vs.net 2002?, o que problemas implicaria usar estos o como se los deberia usar.....

129
VB .NET / Iis.... Con Asp.net...
« en: Sábado 31 de Julio de 2004, 08:02 »
¿Es posible hospedar a más de un sitio Web en un sólo IIS?

¿cuál es la diferencia entre Server.Transfer y Response.Redirect?

130
ASP .NET / [Artículo] Desarrollar aplicaciones ASP.NET de alto rendimiento
« en: Sábado 31 de Julio de 2004, 07:53 »
Desarrollar aplicaciones ASP.NET de alto rendimiento

Autor: Sergio - mail: supersergioman@hotmail.com
Universidad Nacional de Trujillo (U.N.T.) – Peru

Como en todas las aplicaciones, siempre ocurre problemas al intentar optimizar el rendimiento de una aplicación, y en ASP.NET no se escapa, es por eso que ciertas pautas a seguir para lograr un rendimiento aceptable.

•   Deshabilite el estado de sesión cuando no lo utilice.  No todas las aplicaciones requieren un estado de sesión por cada usuario, es este caso se debe deshabilitar el estado de sesión. Para deshabilitar el estado de sesión de una página se pone establece false el atributo EnableSessionState de la directiva @ Page:
Código: [Seleccionar]
<%@ Page EnableSessionState=”false” %>. Por defecto, si falta, este atributo tiene el valor true, en el caso de que solo se vayan a usar o leer, pero no crear ni modificar, variables de sesión se pone en el atributo de EnableSessionState ReadOnly.

•   Elija con cuidado el proveedor de Estados de Sesión. Hay tres formas de almacenar los datos de sesión: en proceso, fuera de proceso como servicio windows, y fuera de proceso en una base de datos de SQL Server. Cada opción tiene sus ventajas: la primera es la mas rápida y sencilla. Las dos últimas son recomendadas si la aplicación se va a ejecutar en varios procesadores o equipos, y cuando no se desean que se pierdan los datos de sesión cuñado se reinicie el servidor o equipo.

•   Evite los viajes innecesarios de ida y vuelta al servidor. Muchas veces resulta tentador, llenar de eventos de controles de servidor a nuestra pagina web. Muchas veces hacer esto hace que pierda tiempo en cada ida y vuelta al servidor. Esto solo debe hacer cuando es necesario acceder a los datos de la base de datos. Muchos procesos no necesitan viajar al servidor para procesarse. Como por ejemplo la validación de campos ingresados por el usuario, este proceso se puede en client-side (lado cliente), con lo cual nos ahorraríamos viajes de ida y vuelta al servidor.

•   Utilice Page.IsPostBack para evitar el procesamiento innecesario en los viajes de ida y vuelta. Nosotros queremos que solo al cargar la página se conecte a una base de datos, y devuelva la respuesta en una grilla, DataGrid, y que no lo haga en cada ida y vuelta al servidor. El evento Page_Load, se ejecuta en cada ida y vuelta al servidor, si nosotros queremos llenar la grilla dentro de este evento, y que solo se cargue la primera vez, se usa la propiedad IsPostBack, para preguntar si es que se carga por primera vez (false), o si viene de un evento en un control de servidor (true). En caso de que Page.IsPostBack=false, se hace la conexión a la base de datos y se llena la grilla.

•   Usar controles de servidor en las circunstancias adecuadas. Muchas veces parece más fácil usar los controles de servidor, pero muchas veces no es lo más recomendable. Supongamos que queremos cargar una imagen que el usuario a pedido. Este se puede hacer en el lado cliente, sin necesidad de ir al servidor. Recordar que cada evento dentro del Page_Load implica un viaje al servidor.

•   Guarde el estado de vista de los controles de servidor únicamente cuando sean necesarios. Todos los controles tienen la característica de enviar información del control, sus propiedades, al servidor sin escribir código. Pero hay que evaluar si el envió es necesario, si por ejemplo enviamos una grilla que después de la vuelta sus propiedades van a ser reemplazadas, degradaría innecesariamente el rendimiento de la página. Esta propiedad lo tienen todos los controles de servidor, por defecto es true si deseamos desactivarla, tendríamos que colocar false en la propiedad EnableViewState del control del servidor <asp:datagrid EnableViewSate=”false” ... runat=”server”/>. De manera general se puede desactivar el envió de los estados de los controles de servidor, colocando en la directiva Page, <%@ Page EnableViewState=”false” %>.

•   Utilice Response.Write para la concatenación de cadenas. Según la documentación de ASP.NET, para concatenar cadenas complejas es mas rápido hacerlo por separado, varias llamadas al método, que hacerlo todo de una sola vez.
Código: [Seleccionar]
Response.Write(“strBegin”)
Response.Write(myTexto)
Response.Write(“strEnd”)  
‘hacer los 3 llamados anteriores es mas rapido que hacerlo asi:
Response.Write(“strBegin” & myTexto & “strEnd”)
Conocen alguna forma de probar, cuál es más rápido?

•   No base el código en excepciones. El tratamiento de excepciones degrada significativamente el rendimiento de la aplicación. Si es posible detectar una posible excepción, solo con condicionales hágalo.
Código: [Seleccionar]
‘remplace esto
try
   res = 100 / num
End Try
‘por esto
if ( num <> 0 )
   res = 100 / num

•   Utilice el enlace en tiempo de compilación de Visual Basic .NET o JScript. Muchas veces uno decía que bacán, que fácil, es trabajar con Visual Basic 6.0, porque no te exige declarar las variables y tampoco exige conversión de tipos. Muchas veces esto parece una ventaja, pero a la larga característica difícil de controlar. El nuevo Visual Basic .NET, exige la declaración de variables y la conversión explicita de tipos. ASP.NET por compatibilidad con versiones anteriores, deshabilita esta opción, para habilitarla colocamos en la directiva Page lo siguiente, <%@ Page Strict=”true” %>. En el caso JScript, permita la conversión de tipos, pero esto disminuye el rendimiento en los procesos, es recomendable decirle que tipo de variable es, a que el compilador tarde en averiguar el tipo que debería ser.

•   Transforme en código administrado los componentes COM llamados frecuentemente. .Net Framework permite trabajar con los componentes COM, tradicionales, pero usar versiones antiguas no mejora el rendimiento. En algunos casos actúa de manera desfavorable al  rendimiento de la aplicación. Cada caso es particular por lo que la mejor manera de decidir si transformar un componente es verificar las numero de llamadas a las funciones del código administrado desde el código no administrado. Es recomendable transformar en código administrado todos los componentes COM que requieran un gran numero de llamadas para interactuar.

•   Utilice procedimientos almacenados de SQL Server  para el acceso a datos. El rendimiento de una aplicación mejorara si se usa procedimientos almacenados en lugar de consultas ad-hoc.

•   Utilice la clase SqlDataReader para obtener cursores de datos rápido de sólo avance. Esta clase ofrece un mejor rendimiento que el DataSet, esto se debe a que SqlDataReader utiliza el formato de transferencia de datos de red nativo de SQL Server para leer los datos directamente de una conexión de base de datos.

•   Almacene en caché los datos y resultados de páginas siempre que sea posible. Esto le mas rendimiento a la página, que otras características del .Net Framework. Esta opción es más necesaria para los páginas de mayor tráfico. Esta opción le da al sitio alto rendimiento, dándole a la aplicación la característica de ser escalable.

•   En las aplicaciones ampliamente basadas en recursos externos, considere la posibilidad de habilitar una matriz de procesos Web en los equipos multiprocesador. El modelo de procesamiento de ASP.NET ayuda a habilitar la estabilidad en los equipos multiprocesador mediante la distribución de trabajos en varios procesos.

•   Asegúrese de deshabilitar el modo de depuración. Recuerde siempre deshabilitar el modo depuración al distribuir  una aplicación de producción, ya que cuando esta habilitado el rendimiento de la aplicación se ve muy reducido.

Fuente: Documentación Microsoft ASP.NET


Autor: Sergioman

131
VB .NET / [Código Fuente] Hora y Fecha en StatusBar
« en: Miércoles 14 de Julio de 2004, 03:58 »
El siguiente Codigo, es usando Windows.Form. En diseño agregas un StatusBar. En el codigo haces el resto. Para esto crearas dos variables StatusBarPanel, una para la fecha y otra para la hora, para actualizar constatemente la hora, se usa un objeto timer, en el cual se cambia la propiedad text.

Parte Principal del Codigo, el resto en el zip
Código: vb.net
  1. #Region "mis variables "
  2.     Private PanelTime As New StatusBarPanel()
  3.     Private PanelDate As New StatusBarPanel()
  4. #End Region
  5.  
  6.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.  
  8.         'caragando los satatus panel para la hora
  9.         PanelTime.BorderStyle = StatusBarPanelBorderStyle.Sunken
  10.         PanelTime.AutoSize = StatusBarPanelAutoSize.Spring
  11.         PanelTime.Alignment = HorizontalAlignment.Right
  12.  
  13.         'cargando los Status para la Fecha
  14.         PanelDate.BorderStyle = StatusBarPanelBorderStyle.Raised
  15.         PanelDate.ToolTipText = System.DateTime.Today.ToShortDateString()
  16.         PanelDate.Text = System.DateTime.Today.ToLongDateString()
  17.         PanelDate.AutoSize = StatusBarPanelAutoSize.Contents
  18.  
  19.         'llenandolos al statusBar
  20.         stBarTimeDate.ShowPanels = True 'para q muestre varios paneles
  21.         stBarTimeDate.Panels.Add(PanelTime)
  22.         stBarTimeDate.Panels.Add(PanelDate)
  23.  
  24.         'para que cambie la hora y la fecha
  25.         TmrStatus.Start()
  26.     End Sub
  27.  
  28.     Private Sub TmrStatus_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrStatus.Tick
  29.         Dim myTime As String = ""
  30.         Dim myState As String = " "
  31.         Dim myHor As Integer
  32.         Dim myMin As String
  33.         Dim mySec As String
  34.  
  35.         With Now()
  36.             myHor = IIf(.Hour > 12, .Hour Mod 12, .Hour)
  37.             myState += IIf(.Hour >= 12, "p", "a") & ".m. "
  38.             myMin = IIf(.Minute > 10, "", "0") & .Minute
  39.             mySec = IIf(.Second > 10, "", "0") & .Second
  40.  
  41.             myTime += myHor & ":" & myMin & ":" & mySec & myState
  42.         End With
  43.         PanelTime.Text = myTime
  44.     End Sub
  45.  



Autor: Sergioman

132
Otros CLR / No Reconoce Un Spacename
« en: Lunes 12 de Julio de 2004, 05:45 »
me baje un articulo alucinante que trata la seguridad integrada entre .Net Framework y NTFS, pero tengo un problema con un ejemplo de codigo:


Código: Text
  1. Imports System.DirectoryServices
  2.  
  3.  
  4.  
La sentencia que coloco me sale error, ya verifique el NameSpace en la ayuda y si existe no entiendo que pasa........

133
VB .NET / No Reconoce Un Namespace.....
« en: Lunes 12 de Julio de 2004, 05:27 »
me baje un articulo alucinante que trata la seguridad integrada entre .Net Framework y NTFS, pero tengo un problema con un ejemplo de codigo:

Código: Text
  1.  Imports System.DirectoryServices
  2.  
  3.  

La sentencia que coloco me sale error, ya verifique el NameSpace en la ayuda y si existe no entiendo que pasa........

134
VB .NET / Seguridad: .net Framework Con Ntfs
« en: Lunes 12 de Julio de 2004, 05:26 »
me baje un articulo alucinante que trata la seguridad integrada entre .Net Framework y NTFS, pero tengo un problema con un ejemplo de codigo:

Código: Text
  1.  Imports System.DirectoryServices
  2.  
  3.  

La sentencia que coloco me sale error, ya verifique el NameSpace en la ayuda y si existe no entiendo que pasa........

135
VB .NET / Juego De La Vibora En .net
« en: Viernes 9 de Julio de 2004, 23:31 »
:scream:  aqui hice el clasico juego de la Vibora en .Net, el cual pongo a su dispocicion para que lo critiquen, cualquier cosa que crean que esta mal, solo me escriben .............

El juego hace uso de Picture, en el cual es dibujado la Vibora, que va creciendo conforme va comiendo, pruebalo y logra el maximo puntaje que puedas....

136
VB .NET / "c:\miimagen....." --> Otro Camino
« en: Domingo 20 de Junio de 2004, 04:29 »
En un ejemplo de .Net, vi que cargaban un PictureBox, con una imagen pero en tiempo de ejecucion,... y lo jalaban desde un archivo...

Dim file as String = "C:\Nose.jpg"

ahora mi pregunta es si puedo copiar la imagen a mi directorio, de mi proyecto Net, y jalarlo directamente algo asi como:

Dim file as String = "Nose.jpg"....

alguien sabe..... :scream:

137
Delphi / Registro De Windows -- Regedit
« en: Lunes 24 de Mayo de 2004, 19:14 »
En la Ayuda del Delphi, te dan un ejemplo de como trabajr con el REgEdit, especificamente recuperar el valor de un registro y este es el codigo:

//--------------------------------------------
uses Registry;
function GetRegistryValue: string;
var
  Registry: TRegistry;
  S: string;
begin
  Registry:=TRegistry.Create;

  Registry.RootKey:=HKEY_LOCAL_MACHINE;
  //False because we do not want to create it if it doesn’t exist
  Registry.OpenKey('MYKEY',False);
  Result :=Registry.ReadString('VALUE1');

  Registry.Free;
end;
//-------------------------------------------------

Claro tienes que cmabiar el valor de 'MIKEY', y el 'VALUE1', por tus datos, lo unico que conseguii era colgar mi maquina cuando lo corria ......
 :pensando:

138
Delphi / Tdbgrid --> Tdataset ?
« en: Lunes 24 de Mayo de 2004, 03:48 »
:scream: hola a todos, recien soy un calichin en delphi, y quisiera saber como carajo enlazo un TDBGrid con un TDataSet.........

139
PHP / Caracter De Salto De Linea "\n"
« en: Lunes 15 de Marzo de 2004, 21:57 »
:scream: Hola gente, estaba probando el PHP, en mi maquina y hay algo que no me cuadra, osea que no entiendo, en lso tutoriales y en algunas clases si mal no me acuerdo el caracter '\n' es un salto de linea veamos:
    <?PHP
        echo "Hola \n Mundo";
    ?>
ese codigo mostraria el siguiente mensaje
    Hola
     Mundo
eso seria lo logico, verdad, pero no se porque carajo en mi mauina no pasa eso, si alguien sabe de esto pasen la voz pe, a pique es por el tipo de S.O. o no se que carajo puede ser

140
XML / Que Es El Paquete Dom?
« en: Miércoles 4 de Febrero de 2004, 15:38 »
;) , hola gente recien estoy entrando al mundo del XML, me podrian dar algunos alcances sobre que es el DOM, o e lpaquete DOM,......?

Páginas: 1 ... 4 5 [6]