Además, tendrá 1,6 Petabytes de memoria RAM, es decir, 1.600.000 gigabytes de memoria distribuida entre sus procesadores.
Visitas por el Mundo:
Además, tendrá 1,6 Petabytes de memoria RAM, es decir, 1.600.000 gigabytes de memoria distribuida entre sus procesadores.
Dim b As Integer
Const NumChars = "0123456789ABCDEF"
Rem Transforma un número en decimal
Rem S = Número (cualquier base)
Rem NumBase = Número de la Base
Rem 2=Binario, 8=Octal, 10=Decimal, 16=Hexadecimal
Rem Si hay un error, retorna -1.
Function ToDec(ByVal S As String, ByVal NumBase As Integer) As Long
Dim R As Long, I As Integer, P As Integer
R = -1
S = UCase(S)
If (NumBase = 2) Or (NumBase = 8) Or (NumBase = 10) Or (NumBase = 16) Then
R = 0
For I = 1 To Len(S)
P = InStr(NumChars, Mid(S, I, 1))
If (P = 0) Or (P > NumBase) Then
R = -1
Exit For
End If
R = R + (P - 1) * (NumBase ^ (Len(S) - I))
Next I
End If
ToDec = R
End Function
Rem Transforma un número decimal en otras bases
Rem N = Número a convertir
Rem NumBase = Número de la Base
Rem 2=Binario, 8=Octal, 10=Decimal, 16=Hexadecimal
Rem Si hay un error, retorna una cadena vacía.
Function FromDec(ByVal N As Long, ByVal NumBase As Integer) As String
Dim S As String
S = ""
If ((NumBase = 2) Or (NumBase = 8) Or (NumBase = 10) Or (NumBase = 16)) And (N >= 0) Then
Do
S = Mid(NumChars, (N Mod NumBase) + 1, 1) + S
N = Fix(N / NumBase)
Loop Until (N = 0)
End If
FromDec = S
End Function
Rem Convierte de Cualquier base a cualquier base.
Rem N = Núero a convertir
Rem fromBase = Base de origen (2, 8, 10, 16)
Rem toBase = base destino (2, 8, 10, 16)
Function Convert(ByVal N As String, ByVal fromBase As Integer, ToBase As Integer) As String
Dim Nm As Long, S As String
Nm = ToDec(N, fromBase)
If (Nm = -1) Then
S = ""
Else
S = FromDec(Nm, ToBase)
End If
Convert = S
End Function
Private Sub Command1_Click()
Text2.Text = Convert(Val(Text1.Text), Combo1.ItemData(Combo1.ListIndex), Combo2.ItemData(Combo2.ListIndex))
End Sub
Private Sub Form_Load()
b = 1
Combo1.Clear
Combo1.AddItem "Binario"
Combo1.ItemData(Combo1.ListCount - 1) = 2
Combo1.AddItem "Octal"
Combo1.ItemData(Combo1.ListCount - 1) = 8
Combo1.AddItem "Decimal"
Combo1.ItemData(Combo1.ListCount - 1) = 10
Combo1.AddItem "Hexadecimal"
Combo1.ItemData(Combo1.ListCount - 1) = 16
Combo2.Clear
Combo2.AddItem "Binario"
Combo2.ItemData(Combo2.ListCount - 1) = 2
Combo2.AddItem "Octal"
Combo2.ItemData(Combo2.ListCount - 1) = 8
Combo2.AddItem "Decimal"
Combo2.ItemData(Combo2.ListCount - 1) = 10
Combo2.AddItem "Hexadecimal"
Combo2.ItemData(Combo2.ListCount - 1) = 16
End Sub
Private Sub Timer1_Timer()
For I = 1 To 288 Step 10
Label3.Left = Label3.Left + b
If Label3.Left >= (Form1.Width - 2190) Or Label3.Left <= 120 Then b = b * -1 End If Next I End Sub
Como se pueden imaginar al ser un “Concept” ni siquiera existe un prototipo pero demuestra que el departamento de investigaciones de Nokia está trabajando en el tema en conjunto con el “Centro de Nanociencia de la universidad de Cambridge”.
Página del Nokia Morph: http://www.nokia.com/A4852062
Video:
Algunos Conceptos:
Nanotecnología: ciencias dedicadas a la manipulación de la materia a nivel atómico y molecular
Nanociencia: El estudio que trata de comprender qué pasa a estas escalas.
Hola gente! aprovecho este espacio para saludarlos y presentarme. I'm Pelonchas de Posadas Misiones, llevo 20 y estoy estudiando Ing. en Inf. Bueno ya fue, paso a contar que estuve mirando el Keylogger de Chuky y me pareció que había cosas para cambiar, así es como salio una nueva versión hecha por mi. El aspecto visual casi no lo toque, cabe aclarar que si cambia el color o algo de eso es porque no veía bien en mi monitor ;)
Bueno básicamente el alma del programa de Chuky es un Timer donde se llama a la función "GetAsyncKeyState" que está dentro de la librería "User32". Esta función devuelve "-32767" en caso de que el código-carácter que se indico en el argumento de dicha función, corresponda con la tecla presionada en el teclado. (En realidad la función es mucho mas complicada que solo eso, pero la información en español es escasa o busque mal, como sea no tengo intención de describirla en profundidad).
Bueno ya tenemos el código-carácter de la tecla presionada y ahora es cuando diferimos con Chuky, el plantea la idea de mediante un "Select Case" mandar a mostrar el carácter correspondiente. Esto es muy tedioso porque hay 256 posibilidades y no estoy dispuesto a hacer cada una, entonces encontré una serie de funciones, también de "User32", que ya hacían esto. La única que pude "hacer andar" fue "MapVirtualKey" que en pocas palabras traduce el código del carácter en el carácter, valga la repetición y no la redundancia.
La otra gran diferencia con el de Chuky es que el hace una función nueva por cada carácter a mostrar, yo plantee una sola función a la que se le pasa como argumento el carácter a mostrar y lo hace.
Cambios menores:
* Me pareció que si se podía borrar lo que se “tecleaba” no cumplía la función de Keylogger, entonces opte por sacar la función “resta” que permitía borrar lo ingresado.
* Cambié las teclas para mostrar y ocultar el formulario. Ahora se hace ambas con F10.
* Para funcionar el botón “Borrar Todo” era necesario otro Timer que me pareció innecesario, opte por quitarlo (al Timer) y además incluí un MsgBox para confirmar que se quiere borrar todo.
* “ON/OFF” servían para posibilitar la copia de lo “capturado” hasta el momento, para hacerlo habilitaban y deshabilitaban la edición del TextBox. Esto me pareció malo porque se podía adulterar accidentalmente lo capturado; en fin mi idea fue eliminar esos dos botones y puse uno solo que en cualquier momento que se desee se lo puede presionar y se guardará en el Clipboard/porta papeles lo seleccionado/sombreado en el TextBox (en caso de no seleccionar nada se copia todo el contenido).
* Los botones “Prendido” y “Apagado” los fusioné en uno solo y cambié los Caption’s porque me sonaba feo ;)
Aclaración: subo dos versiones, una Simple y otra Extendida. La simple contiene lo que explique hasta ahora. La Extendida es lo mismo más todas las teclas que se pueden presionar que no traduce la función. Es decir teclas como "[F1]" "[F2]" "[Enter]" "[Esc]" también los botones del mouse, no indica la posición pero si que botón fue presionado. En la versión simple las teclas que no se pueden traducir las pone como "|".
Haz click en los link para poder descargar los archivos por separado.
________________________________________
Versión SIMPLE | Versión EXTENDIDA
________________________________________
Bueno creo que eso es todo lo que toqué. Espero haber sido claro y ojala se entienda que los cambios no son por creerme superior a Chuky sino que es mi versión de cómo veo la solución de este problema.
Y ahora si plagiando a Chuky: Ante cualquier inconveniente comenten explicando su duda o problema. Si se les ocurre sugerir alguna idea para mejorar este código fuente, bienvenida sea, solo haz el comentario.
Espero que les haya gustado y hayan aprendido algo nuevo en este código fuente. Saludos, Pelonchas.