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 »
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:
-
Class direccionip
-
Private ip1 As Byte
-
Private ip2 As Byte
-
Private ip3 As Byte
-
Private ip4 As Byte
-
-
Private Property pip1() As Byte
-
Get
-
Return ip1
-
End Get
-
Set(ByVal value As Byte)
-
If value>= 0 Or value <= 255 Then
-
ip1 = value
-
Else
-
ip1 = 0
-
End If
-
End Set
-
End Property
-
-
Private Property pip2() As Byte
-
Get
-
Return ip2
-
End Get
-
Set(ByVal value As Byte)
-
If value>= 0 Or value <= 255 Then
-
ip2 = value
-
Else
-
ip2 = 0
-
End If
-
End Set
-
End Property
-
-
Private Property pip3() As Byte
-
Get
-
Return ip3
-
End Get
-
Set(ByVal value As Byte)
-
If value>= 0 Or value <= 255 Then
-
ip3 = value
-
Else
-
ip3 = 0
-
End If
-
End Set
-
End Property
-
-
Private Property pip4() As Byte
-
Get
-
Return ip4
-
End Get
-
Set(ByVal value As Byte)
-
If value>= 0 Or value <= 255 Then
-
ip4 = value
-
Else
-
ip4 = 0
-
End If
-
End Set
-
End Property
-
-
Sub New(ByVal a As Byte, ByVal b As Byte, ByVal c As Byte, ByVal d As Byte)
-
Me.ip1 = a
-
Me.ip2 = b
-
Me.ip3 = c
-
Me.ip4 = d
-
-
End Sub
-
-
Sub New(ByVal ip As String)
-
Dim pospyc As Integer
-
-
-
pospyc = ip.IndexOf(".")
-
Me.ip1 = ip.Substring(0, pospyc)
-
ip = ip.Remove(0, pospyc + 1)
-
-
pospyc = ip.IndexOf(".")
-
Me.ip2 = ip.Substring(0, pospyc)
-
ip = ip.Remove(0, pospyc + 1)
-
-
pospyc = ip.IndexOf(".")
-
Me.ip3 = ip.Substring(0, pospyc)
-
ip = ip.Remove(0, pospyc + 1)
-
-
-
Me.ip4 = ip
-
-
-
End Sub
-
-
Public Function claseip() As String
-
Dim r As String = Nothing
-
Select Case ip1
-
Case 0 To 127
-
r = "A"
-
Case 128 To 191
-
r = "B"
-
Case 192 To 223
-
r = "C"
-
Case 224 To 239
-
r = "D"
-
Case 240 To 255
-
r = "D"
-
-
End Select
-
Return r
-
End Function
-
-
Public Function mascarared() As String
-
Dim r As String = "255"
-
Select Case ip1
-
Case 0 To 127
-
r = "255.0.0.0"
-
Case 128 To 191
-
r = "255.255.0.0"
-
Case 192 To 223
-
r = "255.255.255.0"
-
Case 224 To 239
-
r = "0.0.0.0"
-
Case 240 To 255
-
r = "0.0.0.0"
-
-
End Select
-
Return r
-
End Function
-
-
Public Shared Operator And(ByVal a As direccionip, ByVal b As direccionip) As direccionip
-
Dim r As direccionip = New direccionip(a.ip1, a.ip2, a.ip3, a.ip4)
-
r.ip1 = a.ip1 And b.ip1
-
r.ip2 = a.ip2 And b.ip2
-
r.ip3 = a.ip3 And b.ip3
-
r.ip4 = a.ip4 And b.ip4
-
Return r
-
-
End Operator
-
-
Public Shared Operator Or(ByVal a As direccionip, ByVal b As direccionip) As direccionip
-
Dim r As direccionip = New direccionip(a.ip1, a.ip2, a.ip3, a.ip4)
-
r.ip1 = a.ip1 Or (255 - b.ip1)
-
r.ip2 = a.ip2 Or (255 - b.ip2)
-
r.ip3 = a.ip3 Or (255 - b.ip3)
-
r.ip4 = a.ip4 Or (255 - b.ip4)
-
Return r
-
-
End Operator
-
-
Public Function direccionred(ByVal a As direccionip, ByVal b As direccionip) As String
-
Dim r As direccionip
-
Dim s As String = ""
-
r = a And b
-
s = r.ip1.ToString + "." + r.ip2.ToString + "." + r.ip3.ToString + "." + r.ip4.ToString
-
Return s
-
End Function
-
-
Public Function direccionbroadcast(ByVal a As direccionip, ByVal b As direccionip) As String
-
Dim r As direccionip
-
Dim s As String = ""
-
r = a Or b
-
s = r.ip1.ToString + "." + r.ip2.ToString + "." + r.ip3.ToString + "." + r.ip4.ToString
-
Return s
-
End Function
-
-
-
-
End Class
-
-
Module Module1
-
-
Sub Main()
-
Dim ip As direccionip = New direccionip("192.168.1.100")
-
Dim mascara As direccionip
-
-
Console.WriteLine("Supongamos que tenemos esta ip: 192.168.1.100")
-
mascara = New direccionip("255.255.255.192")
-
Console.WriteLine("Mascara de la ip: {0} de base.", ip.mascarared)
-
mascara = New direccionip("255.255.255.192")
-
-
Console.WriteLine("Clase de la ip: " & ip.claseip)
-
Console.WriteLine("Supongamos que tiene esta mascara de red: 255.255.255.192")
-
Console.WriteLine("Direccion de red: " & ip.direccionred(ip, mascara))
-
Console.WriteLine("Direccion de broadcast: " & ip.direccionbroadcast(ip, mascara))
-
Console.ReadKey()
-
End Sub
-
-
End Module
Escrito en Visual Basic .NET | Sin Comentarios »
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 »
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:
-
Private Function Menu(ByRef op As String(), ByVal x As Integer, ByVal y As Integer) As Integer
-
-
'' Krnl64 08
-
'' Se le pasa un array de string que son las opciones del menu
-
'' Se maneja con los cursores y enter. Devuelve la opcion seleccionada
-
-
Dim j As Integer
-
Dim vertical As Integer
-
Dim tmp As Integer
-
Dim k As ConsoleKeyInfo
-
-
-
-
Console.Clear()
-
Console.SetCursorPosition(x, y)
-
Console.BackgroundColor = ConsoleColor.DarkGreen
-
Console.ForegroundColor = ConsoleColor.Yellow
-
Console.WriteLine(op(0)) '' Situo el cursor y pinto el titulo y su color
-
Console.ResetColor()
-
-
vertical = y + 1 '' Espacio +1
-
-
For j = 1 To UBound(op)
-
-
Console.SetCursorPosition(x, vertical + j) '' Pinto las opciones del menu
-
Console.WriteLine(op(j))
-
-
Next
-
-
-
-
tmp = vertical
-
j = 2
-
-
Console.SetCursorPosition(x, vertical + 1) '' Situo el cursor en la 1º opcion...
-
Console.ForegroundColor = ConsoleColor.Yellow
-
Console.BackgroundColor = ConsoleColor.DarkMagenta
-
Console.WriteLine(op(1)) '' la coloreo
-
Console.SetCursorPosition(x, vertical + 1) '' vuelvo a colocar el cursor en la 1º opcion
-
-
-
-
Do
-
-
k = Console.ReadKey(True)
-
-
-
Select Case k.Key
-
-
Case ConsoleKey.DownArrow '' Flecha abajo...
-
-
-
If j = op.Length Then '' Si es la ultima opcion
-
-
-
-
vertical += 1
-
-
Console.SetCursorPosition(x, vertical)
-
Console.ResetColor()
-
Console.WriteLine(op(j - 1)) '' Pinto con color normal la ultima opcion
-
-
vertical = tmp
-
j = 1
-
-
Console.SetCursorPosition(x, vertical + 1) '' Situo el cursor en la 1º opcion...
-
Console.ForegroundColor = ConsoleColor.Yellow
-
Console.BackgroundColor = ConsoleColor.DarkMagenta
-
Console.WriteLine(op(j)) '' la coloreo
-
Console.SetCursorPosition(x, vertical + 1) '' vuelvo a colocar el cursor en la 1º opcion
-
-
j += 1
-
-
-
-
Else
-
-
vertical += 1
-
-
Console.ResetColor()
-
Console.SetCursorPosition(x, vertical)
-
Console.WriteLine(op(j - 1)) '' Pinto la opción actual sin color...
-
-
-
Console.SetCursorPosition(x, vertical + 1)
-
Console.ForegroundColor = ConsoleColor.Yellow
-
Console.BackgroundColor = ConsoleColor.DarkMagenta
-
Console.WriteLine(op(j)) '' Coloreo la siguiente opcion
-
-
j += 1 '' Incremento indices...
-
-
End If
-
-
Case ConsoleKey.UpArrow
-
-
-
If j = 2 Then '' Si es la 1º opcion...
-
-
-
Console.ResetColor()
-
Console.SetCursorPosition(x, vertical + 1) '' Pinto la opcion actual normal
-
Console.WriteLine(op(j - 1))
-
-
-
vertical = tmp + UBound(op)
-
-
Console.SetCursorPosition(x, vertical) '' Me voy a la ultima opcion
-
Console.ForegroundColor = ConsoleColor.Yellow
-