Kriptus

Ayuda Informatica y Programacion Visual Basic .Net C# ASP.NET Delphi …, Linux y Windows

Archivo para Febrero, 2008

Microsoft se abre a la competencia ¿? ¿? ¿?

Escrito por kriptus on 25th Febrero 2008

Microsoft ha dado la segunda campanada en menos de un mes. Tras el por ahora frustrado asalto a Yahoo! a golpe de talonario, el gigante de la informática anunció ayer que permitirá el acceso a información hasta ahora secreta de sus programas para hacerlos más compatibles y facilitar el desarrollo de ’software’ tanto independiente como comercial.

Los responsables de la compañía explicaron en rueda de prensa en Redmond (EE UU) que la información será gratis para quienes creen programas no comerciales, mientras que quienes quieran hacer negocio tendrán que «hacer un pequeño pago». Objetivo

«Nuestro objetivo es favorecer una mayor interoperabilidad (compatibilidad entre productos de diferentes fabricantes) y una mayor posibilidad de elección para nuestros clientes y para los desarrolladores (de ’software’), haciendo nuestros productos más transparentes y compartiendo más información sobre nuestras tecnologías», dijo Steve Ballmer, primer ejecutivo de Microsoft. La compañía se regirá para ello por cuatro principios: asegurar las conexiones abiertas, promover la portabilidad de datos, aumentar el apoyo para el establecimiento de estándares y tener una relación más abierta con los clientes y la industria, incluidas las comunidades de código abierto, formadas por programadores que desarrollan y distribuyen sus productos libremente.

Traducido al lenguaje del lego, la firma pretende resituarse en el mercado para mantener su posición dominante sin ser considerada un monopolio y zanjar así el enfrentamiento que mantiene la Comisión Europea, que los estándares internacionales de documentos acaben siendo sus formatos y ganarse a los programadores no comerciales.

Escrito en Microsoft | Sin Comentarios »

Visual Basic .Net: Programacion Orientada a Objetos un ejemplo de la clase direccionip

Escrito por kriptus on 22nd Febrero 2008

Crear la clase DireccionIP con las siguientes características:

 Atributos: guardará los cuatro octetos que forman una IP (los numéricos que hay entre los punticos). Serán de tipo Byte.

 Propiedades: hacer una propiedad para cada uno de los cuatro octetos para poder modificarlo. El valor tendrá que estar entre 0 y 255.

 Constructores:

o Al primero le pasas 4 variables de tipo byte y te crea la IP.

o Al segundo le pasas una cadena con la dirección: "239.113.0.2" y te rellena los 4 octetos.

 Métodos:

o ClaseIP que nos dice a qué clase pertenece la IP.

Primer número IP

Clase

Máscara de IP

0-127

A

255.0.0.0

128-191

B

255.255.0.0

192-223

C

255.255.255.0

224-239

D

0.0.0.0

240-255

E

0.0.0.0

VB.NET:
  1. Class direccionip
  2.     Private ip1 As Byte
  3.     Private ip2 As Byte
  4.     Private ip3 As Byte
  5.     Private ip4 As Byte
  6.  
  7.     Private Property pip1() As Byte
  8.         Get
  9.             Return ip1
  10.         End Get
  11.         Set(ByVal value As Byte)
  12.             If value>= 0 Or value <= 255 Then
  13.                 ip1 = value
  14.             Else
  15.                 ip1 = 0
  16.             End If
  17.         End Set
  18.     End Property
  19.  
  20.     Private Property pip2() As Byte
  21.         Get
  22.             Return ip2
  23.         End Get
  24.         Set(ByVal value As Byte)
  25.             If value>= 0 Or value <= 255 Then
  26.                 ip2 = value
  27.             Else
  28.                 ip2 = 0
  29.             End If
  30.         End Set
  31.     End Property
  32.  
  33.     Private Property pip3() As Byte
  34.         Get
  35.             Return ip3
  36.         End Get
  37.         Set(ByVal value As Byte)
  38.             If value>= 0 Or value <= 255 Then
  39.                 ip3 = value
  40.             Else
  41.                 ip3 = 0
  42.             End If
  43.         End Set
  44.     End Property
  45.  
  46.     Private Property pip4() As Byte
  47.         Get
  48.             Return ip4
  49.         End Get
  50.         Set(ByVal value As Byte)
  51.             If value>= 0 Or value <= 255 Then
  52.                 ip4 = value
  53.             Else
  54.                 ip4 = 0
  55.             End If
  56.         End Set
  57.     End Property
  58.  
  59.     Sub New(ByVal a As Byte, ByVal b As Byte, ByVal c As Byte, ByVal d As Byte)
  60.         Me.ip1 = a
  61.         Me.ip2 = b
  62.         Me.ip3 = c
  63.         Me.ip4 = d
  64.  
  65.     End Sub
  66.  
  67.     Sub New(ByVal ip As String)
  68.         Dim pospyc As Integer
  69.  
  70.  
  71.         pospyc = ip.IndexOf(".")
  72.         Me.ip1 = ip.Substring(0, pospyc)
  73.         ip = ip.Remove(0, pospyc + 1)
  74.  
  75.         pospyc = ip.IndexOf(".")
  76.         Me.ip2 = ip.Substring(0, pospyc)
  77.         ip = ip.Remove(0, pospyc + 1)
  78.  
  79.         pospyc = ip.IndexOf(".")
  80.         Me.ip3 = ip.Substring(0, pospyc)
  81.         ip = ip.Remove(0, pospyc + 1)
  82.  
  83.  
  84.         Me.ip4 = ip
  85.  
  86.  
  87.     End Sub
  88.  
  89.     Public Function claseip() As String
  90.         Dim r As String = Nothing
  91.         Select Case ip1
  92.             Case 0 To 127
  93.                 r = "A"
  94.             Case 128 To 191
  95.                 r = "B"
  96.             Case 192 To 223
  97.                 r = "C"
  98.             Case 224 To 239
  99.                 r = "D"
  100.             Case 240 To 255
  101.                 r = "D"
  102.  
  103.         End Select
  104.         Return r
  105.     End Function
  106.  
  107.     Public Function mascarared() As String
  108.         Dim r As String = "255"
  109.         Select Case ip1
  110.             Case 0 To 127
  111.                 r = "255.0.0.0"
  112.             Case 128 To 191
  113.                 r = "255.255.0.0"
  114.             Case 192 To 223
  115.                 r = "255.255.255.0"
  116.             Case 224 To 239
  117.                 r = "0.0.0.0"
  118.             Case 240 To 255
  119.                 r = "0.0.0.0"
  120.  
  121.         End Select
  122.         Return r
  123.     End Function
  124.  
  125.     Public Shared Operator And(ByVal a As direccionip, ByVal b As direccionip) As direccionip
  126.         Dim r As direccionip = New direccionip(a.ip1, a.ip2, a.ip3, a.ip4)
  127.         r.ip1 = a.ip1 And b.ip1
  128.         r.ip2 = a.ip2 And b.ip2
  129.         r.ip3 = a.ip3 And b.ip3
  130.         r.ip4 = a.ip4 And b.ip4
  131.         Return r
  132.  
  133.     End Operator
  134.  
  135.     Public Shared Operator Or(ByVal a As direccionip, ByVal b As direccionip) As direccionip
  136.         Dim r As direccionip = New direccionip(a.ip1, a.ip2, a.ip3, a.ip4)
  137.         r.ip1 = a.ip1 Or (255 - b.ip1)
  138.         r.ip2 = a.ip2 Or (255 - b.ip2)
  139.         r.ip3 = a.ip3 Or (255 - b.ip3)
  140.         r.ip4 = a.ip4 Or (255 - b.ip4)
  141.         Return r
  142.  
  143.     End Operator
  144.  
  145.     Public Function direccionred(ByVal a As direccionip, ByVal b As direccionip) As String
  146.         Dim r As direccionip
  147.         Dim s As String = ""
  148.         r = a And b
  149.         s = r.ip1.ToString + "." + r.ip2.ToString + "." + r.ip3.ToString + "." + r.ip4.ToString
  150.         Return s
  151.     End Function
  152.  
  153.     Public Function direccionbroadcast(ByVal a As direccionip, ByVal b As direccionip) As String
  154.         Dim r As direccionip
  155.         Dim s As String = ""
  156.         r = a Or b
  157.         s = r.ip1.ToString + "." + r.ip2.ToString + "." + r.ip3.ToString + "." + r.ip4.ToString
  158.         Return s
  159.     End Function
  160.  
  161.  
  162.  
  163. End Class
  164.  
  165. Module Module1
  166.  
  167.     Sub Main()
  168.         Dim ip As direccionip = New direccionip("192.168.1.100")
  169.         Dim mascara As direccionip
  170.  
  171.         Console.WriteLine("Supongamos que tenemos esta ip: 192.168.1.100")
  172.         mascara = New direccionip("255.255.255.192")
  173.         Console.WriteLine("Mascara de la ip: {0} de base.", ip.mascarared)
  174.         mascara = New direccionip("255.255.255.192")
  175.  
  176.         Console.WriteLine("Clase de la ip: " & ip.claseip)
  177.         Console.WriteLine("Supongamos que tiene esta mascara de red: 255.255.255.192")
  178.         Console.WriteLine("Direccion de red: " & ip.direccionred(ip, mascara))
  179.         Console.WriteLine("Direccion de broadcast: " & ip.direccionbroadcast(ip, mascara))
  180.         Console.ReadKey()
  181.     End Sub
  182.  
  183. End Module

Escrito en Visual Basic .NET | Sin Comentarios »

El fin del HD DVD

Escrito por kriptus on 21st Febrero 2008

Toshiba anunció ayer de manera oficial que abandona la fabricación y el desarrollo de grabadores y reproductores de su HD DVD de alta definición. La compañía también advirtió que seguirá ofreciendo servicio posventa a los clientes que hayan adquirido equipos apoyados en este sistema. Bien por ellos.

Era vox pópuli que Toshiba había perdido la guerra de los DVD de alta definición frente a su rival Sony, que ha impuesto tras dos años de batalla comercial su tecnología Blu-ray. Pero fue ayer cuando el presidente y consejero delegado de Toshiba, Atsutoshi Nishida, decidió hacer público en Tokio, tras una reunión con sus directivos, que suspenden su negocio HD DVD.

El directivo aseguró que han evaluado 'cuidadosamente' los efectos a largo plazo de continuar la denominada guerra de formatos de DVD de alta definición, 'y hemos llegado a la conclusión que una rápida decisión es la mejor forma de ayudar al desarrollo del mercado y no perjudicar a los consumidores', sentenció.

El presidente de Toshiba, que reconoció 'estar decepcionado por lo que supone para la empresa y, aún más, para el consumidor', apuntó que su compañía continuará proporcionando soporte y servicios a todos los propietarios de un HD DVD de la firma japonesa. También avanzó que Toshiba comenzará a reducir las entregas de pedidos de reproductores y grabadores de HD DVD al canal de distribución minorista, con el objetivo de cesar este negocio a finales de marzo de 2008.

Escrito en Hardware | Sin Comentarios »

Visual Basic .net: Una funciona para hacer mas bonitas las aplicaciones tipo consola

Escrito por kriptus on 18th Febrero 2008

Aqui teneis un codigo con el que se consigue hacer mucho mas bonitas las aplicaciones de tipo consola, en visual basic .net

VB.NET:
  1. Private Function Menu(ByRef op As String(), ByVal x As Integer, ByVal y As Integer) As Integer
  2.  
  3.         '' Krnl64 08
  4.         '' Se le pasa un array de string que son las opciones del menu
  5.     '' Se maneja con los cursores y enter. Devuelve la opcion seleccionada
  6.  
  7.         Dim j As Integer
  8.         Dim vertical As Integer
  9.         Dim tmp As Integer
  10.         Dim k As ConsoleKeyInfo
  11.  
  12.  
  13.  
  14.                 Console.Clear()
  15.                 Console.SetCursorPosition(x, y)
  16.                 Console.BackgroundColor = ConsoleColor.DarkGreen
  17.                 Console.ForegroundColor = ConsoleColor.Yellow
  18.                 Console.WriteLine(op(0))                          '' Situo el cursor y pinto el titulo y su color
  19.                 Console.ResetColor()
  20.  
  21.                 vertical = y + 1 '' Espacio +1
  22.  
  23.                     For j = 1 To UBound(op)
  24.  
  25.                         Console.SetCursorPosition(x, vertical + j) '' Pinto las opciones del menu
  26.                         Console.WriteLine(op(j))
  27.  
  28.                     Next
  29.  
  30.  
  31.  
  32.                 tmp = vertical
  33.                 j = 2
  34.  
  35.                 Console.SetCursorPosition(x, vertical + 1)          '' Situo el cursor en la 1º opcion...
  36.                 Console.ForegroundColor = ConsoleColor.Yellow
  37.                 Console.BackgroundColor = ConsoleColor.DarkMagenta
  38.                 Console.WriteLine(op(1))                            '' la coloreo
  39.                 Console.SetCursorPosition(x, vertical + 1)          '' vuelvo a colocar el cursor en la 1º opcion
  40.  
  41.  
  42.  
  43.                 Do
  44.  
  45.                     k = Console.ReadKey(True)
  46.  
  47.  
  48.                         Select Case k.Key
  49.  
  50.                                 Case ConsoleKey.DownArrow '' Flecha abajo...
  51.  
  52.  
  53.                                         If j = op.Length Then '' Si es la ultima opcion
  54.  
  55.  
  56.  
  57.                                              vertical += 1
  58.  
  59.                                              Console.SetCursorPosition(x, vertical)
  60.                                              Console.ResetColor()
  61.                                              Console.WriteLine(op(j - 1))                         '' Pinto con color normal la ultima opcion
  62.  
  63.                                              vertical = tmp
  64.                                              j = 1
  65.  
  66.                                              Console.SetCursorPosition(x, vertical + 1)          '' Situo el cursor en la 1º opcion...
  67.                                              Console.ForegroundColor = ConsoleColor.Yellow
  68.                                              Console.BackgroundColor = ConsoleColor.DarkMagenta
  69.                                              Console.WriteLine(op(j))                            '' la coloreo
  70.                                              Console.SetCursorPosition(x, vertical + 1)          '' vuelvo a colocar el cursor en la 1º opcion
  71.  
  72.                                              j += 1
  73.  
  74.  
  75.  
  76.                                         Else
  77.  
  78.                                              vertical += 1
  79.  
  80.                                              Console.ResetColor()
  81.                                              Console.SetCursorPosition(x, vertical)
  82.                                              Console.WriteLine(op(j - 1))                          '' Pinto la opción actual sin color...
  83.  
  84.  
  85.                                              Console.SetCursorPosition(x, vertical + 1)
  86.                                              Console.ForegroundColor = ConsoleColor.Yellow
  87.                                              Console.BackgroundColor = ConsoleColor.DarkMagenta
  88.                                              Console.WriteLine(op(j))                              '' Coloreo la siguiente opcion
  89.  
  90.                                              j += 1                                                '' Incremento indices...
  91.  
  92.                                         End If
  93.  
  94.                                 Case ConsoleKey.UpArrow
  95.  
  96.  
  97.                                         If j = 2 Then   '' Si es la 1º opcion...
  98.  
  99.  
  100.                                              Console.ResetColor()
  101.                                              Console.SetCursorPosition(x, vertical + 1)          '' Pinto la opcion actual normal
  102.                                              Console.WriteLine(op(j - 1))
  103.  
  104.  
  105.                                              vertical = tmp + UBound(op)
  106.  
  107.                                              Console.SetCursorPosition(x, vertical)             '' Me voy a la ultima opcion
  108.                                              Console.ForegroundColor = ConsoleColor.Yellow
  109.