Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - Lekim

#211
.NET (C#, VB.NET, ASP) / Re: UTF8 A UNICODE
23 Febrero 2016, 14:52 PM
joder, ahora sí Elektro

Ese código lo encontré en google pero no se me ocurrió poner el código por separado yo lo ponía así

Código (vbnet) [Seleccionar]
... New Byte() {"C3A1"}

ya sí

Código (vbnet) [Seleccionar]
... New Byte() {"C3", "A1"}

lógico no funcionaba  :P


http://www.convertdatatypes.com/Convert-Byte-Array-to-String-in-VB.net.html

Según el cual quedaría así...

Código (vbnet) [Seleccionar]
Dim vIn() As Byte = New Byte() {&HC3, &HA1}
       Dim vOut As String = System.Text.Encoding.UTF8.GetString(vIn)
       MsgBox(vOut)


#212
.NET (C#, VB.NET, ASP) / Re: UTF8 A UNICODE
23 Febrero 2016, 14:19 PM
Hola Elektro

Gracias por responder pero lamentablemente no respondes a mi cuestión.

Antes de nada comentarte que as tenido errorcillo de escritura ya que á no es igual a 255 sino a 225.

Por otro lado decir que creo haber dejado bien clara la cuestión y es pasar código UTF-8 a Unicode, es decir de  C3A1 o bien 0xC3 0xA1   obtener "á".. Y no pasar un valor hexadecimal E1 o bien &HE1 y obtener á, porque para eso hago esto y listo:

Código (vbnet) [Seleccionar]
msgbox(Convert.ToChar(Convert.ToInt32(&HE1)))


Gracias
#213
.NET (C#, VB.NET, ASP) / UTF8 A UNICODE
23 Febrero 2016, 10:48 AM
Hola

Este código se supone me debería devolver una "á" pero en cambio devuelve letras chinas

Código (vbnet) [Seleccionar]
               Dim UTFString As String = Convert.ToChar(Convert.ToInt32("C3A1", 16))
       Dim Result As String = Encoding.Unicode.GetString(Encoding.UTF8.GetBytes(UTFString))
       TextBox1.Text = Result



¿Alguien sabe por qué?
Saludos


info:

UTF-8 encoding table and Unicode characters

#214
Windows / Re: No me arranca
22 Febrero 2016, 19:32 PM
2.- me he metido en el diskpart y he puesto list disk y me sale solo 1 disco (normal) pero me sale que no tiene capacidad (como si esta pero no esta vamos ) tamaño 0 b disp 0 b

Esto me pasó a mí con una carpeta en disco externo. Al intentar acceder a una carpeta me decía que no se podía acceder a ella y su tamaño era 0 bytes.

Comprobé los errores del disco con windows y tardó 8 h (disco de 500 gb), con la opción de  recuperar sectores defectuosos activada. Recuperé la carpeta que por supuesto no estaba vacía a pesar que debido al error marcase 0 bytes.

Posiblemente algo similar se pueda hacer con tu disco como indica maryviento

#215
Windows / Re: No me arranca
21 Febrero 2016, 10:12 AM
Por favor, que manía con formatear. Cuando hay algún problema "...formatea el disco".  ¿y toda la información que hay en él que a tomar por saco?.

Si van a decir a alguien que formatee el disco, diganles que pueden recuperar la información antes de formatearlo, porque hay gente que no tiene ni idea y lo formatean sin más sin saber que pierden la información del disco.



#216
Windows / Re: Notebook: internet lento
21 Febrero 2016, 10:02 AM
Usa el FireWall (cortafuejos) de tu antivirus o en su defecto de tu SO, para bloquear programas que se conecten a Internet.

Si usas Windows, cambia la configuración de WindowsUpdate a "Buscar actualizaciones, pero permitirme elegir si deseo descargalas e instalarlas". Pero  de vez en cuando explora WindowsUpdate para ver si hay actualizaciones y si te interesa alguna la instalas.

Comprueba todo el software que tienes instalado y comprueba que no tengan updates (actualizaciones) automáticos. Si los tiene los desactivas y si no lo permite busca el EXE que usa para conectarse y actualizarse y le cambias la extensión a "update.exe.back". Normalmente los programas están en la propia carpeta del programa.

Revisa los programas de inicio con MSConfig, y desactiva aquellos que sean totalmente inútiles y que probablemente se conectan a internet.

Desactiva las actualizaciones automáticas de tu antivirus para actualizarlo manualmente. Pero recuerda actualizarlo con regularidad.

Limpia los historiales de navegación, sobre todo quita los cookies de tus navegadores; firefox, chrome, opera, InternetExplorer, etc

Limpia la carpeta temporal del sistema. Muchos programas alojan allí software que se conecta a internet, sobre todo troyanos.. Aunque estos últimos normalmente cuando los borras, automáticamente se vuelven a restaurar de forma automática.


#217
Windows / Re: Windows 10 se queda congelado
21 Febrero 2016, 09:26 AM
Quizás sea algún programa que usas o driver incorrecto. Cada ordenador (y usuario) es un mundo así que así de buenas y primeras es difícil saber que lo provoca.

Normalmente cuando se congela así es por algún tema de drivers con tarjetas gráficas o cualquier otro tipo. Eso a mi me pasaba con una vieja tarjeta de video y Windows Me. Prueba a usar tu compu sin tarjetas externas ya sea SCSI o por USB, a ver que pasa.

Yo tuve un problema con el disco duro en mi portatil. Cambié a uno de 500 y tenía uno de 250. Todo lo demás lo mismo y también el SO, pues no funcionaba WindowsUpdate ni Windows Live Mail. Actualicé el driver para que aceptara el de  500 (que se podía usar sin probemas) y ya todo funcionaba correcto. ¿Y que tiene que ver WindowsUpdate con el cambio de disco? pues ni idea, pero así son estas cosas.

Por cierto ese Windows10 no será pirata ¿no?. Seguramente no sea eso pero algunos hacker y crackers modifican cosas del sistema original y luego lo cuelgan en Internet para que la gente se los baje.

#218
Hola

Interesante tu idea y buen aporte. Pero no me convence el sonido. Creo que solo debería hacer 'tic' cuando surja un carácter y no tan seguido. Similar a una máquina de escribir pero con sonido electrónico.

Usando tu código he hecho algún cambio (está en C#). A ver que te parece.



using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;


static class Module1
{



public static void Main()
{


Console.WindowWidth = 80;
Console.WindowHeight = 43;

Console.Title = "Título del programa en la ventana de la consola.";

Console.BackgroundColor = ConsoleColor.Black;
// Fondo pantalla blanco.
Console.Clear();
// Limpiar pantalla.
Console.ForegroundColor = ConsoleColor.Green;
// Color texto azul.


string Cadena = string.Format("{1}{0}{0}{2}{0}{0}{3}{0}{0}{4}", Environment.NewLine, "CÓDIGO DE ACCESO:_ 59898OP-NEI56", "***CÓDIGO DE ACCESO DENEGADO***", "█ POR FAVOR, INTRODUZCA DE NUEVO EL CÓDIGO DE ACCESO █", "CÓDIGO DE ACCESO:_ ");


Console.CursorVisible = true;

foreach (char Letra in Cadena) {
//Espera 5 segundos

System.Threading.Thread.Sleep(0.09 * 1000);
if (Letra == Convert.ToChar(Environment.NewLine)) {
System.Threading.Thread.Sleep(0.75 * 1000);
//Espera 0.75 segundos antes de hacer el salto de línea
Console.Beep(600, 100);
// beep de salto de línea
}
Console.Write(Letra);
// Hacer sonido solo cuando el caracter sea distinto de espacio
if (string.IsNullOrWhiteSpace(Letra) == false) {
Console.Beep(500, 9);
}
}
Console.ReadKey();
// Pulse cualquier tecla para salir.



}




}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================


Lo suyo sería también, poder cambiar el tipo de fuente.

Saludos




En vb.net

Module Module1



   Sub Main()


       Console.WindowWidth = 80
       Console.WindowHeight = 43

       Console.Title = "Título del programa en la ventana de la consola."

       Console.BackgroundColor = ConsoleColor.Black
       ' Fondo pantalla blanco.
       Console.Clear()
       ' Limpiar pantalla.
       Console.ForegroundColor = ConsoleColor.Green
       ' Color texto azul.


       Dim Cadena As String = String.Format("{1}{0}{0}{2}{0}{0}{3}{0}{0}{4}", Environment.NewLine,
                                             "CÓDIGO DE ACCESO:_ 59898OP-NEI56",
                                            "***CÓDIGO DE ACCESO DENEGADO***",
                                             "█ POR FAVOR, INTRODUZCA DE NUEVO EL CÓDIGO DE ACCESO █",
                                             "CÓDIGO DE ACCESO:_ ")

 
       Console.CursorVisible = True

       For Each Letra As Char In Cadena
           'Espera 5 segundos

           System.Threading.Thread.Sleep(0.09 * 1000)
           If Letra = CChar(Environment.NewLine) Then
               System.Threading.Thread.Sleep(0.75 * 1000) 'Espera 0.75 segundos antes de hacer el salto de línea
               Console.Beep(600, 100) ' beep de salto de línea
           End If
           Console.Write(Letra)
           If String.IsNullOrWhiteSpace(Letra) = False Then ' Hacer sonido solo cuando el caracter sea distinto de espacio
               Console.Beep(500, 9)
           End If
       Next
       Console.ReadKey()
       ' Pulse cualquier tecla para salir.



   End Sub




End Module


Por cierto la película a la que te refieres podría ser JUEGOS DE GUERRA (1983)

(ahora que recuerdo, creo que en esta película el ordenador hablaba  ;D)




Código de acceso denegado... jaja. Bueno, me aburría y quise hacer una versión funcional. Qué recuerdos...

C#
using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
static class Module1
{

public static void Main()
{
Console.WindowWidth = 80;
Console.WindowHeight = 43;
Console.Title = "Retro-Consola";
Console.BackgroundColor = ConsoleColor.Black;
// Fondo pantalla blanco.
Console.Clear();
// Limpiar pantalla.
Console.ForegroundColor = ConsoleColor.Green;
// Color texto azul.
Console.CursorVisible = false;
1:
string Cadena = string.Format("{0}{1}{0}{0}{2}", Environment.NewLine, "█ POR FAVOR, INTRODUZCA EL CÓDIGO DE ACCESO █", "CÓDIGO DE ACCESO:_ ");

Mecanografiar(Cadena);

string Entrada = Console.ReadLine;

if (Entrada == 12345) {
Cadena = string.Format("{0}{1}{0}{0}{2}{0}{3}{0}{4}", Environment.NewLine, "*** CÓDIGO DE ACCESO ACEPTADO ***", "████████████████████████████████████████", "█     BIENVENIDO DOCTOR FRANKESTEIN    █", "████████████████████████████████████████");
Mecanografiar(Cadena);
} else {
Cadena = string.Format("{0}{1}{0}", Environment.NewLine, "*** CÓDIGO DE ACCESO DENEGADO ***");
Mecanografiar(Cadena);
goto 1;
}
Console.ReadKey();
}
public static void Mecanografiar(string Cadena)
{
foreach (char Letra in Cadena) {
//Espera 5 segundos
if (Letra == Convert.ToChar(Environment.NewLine)) {
System.Threading.Thread.Sleep(0.75 * 1000);
//Espera 0.75 segundos antes de hacer el salto de línea
Console.Beep(600, 100);
// beep de salto de línea
} else {
System.Threading.Thread.Sleep(0.09 * 1000);
Console.Write(Letra);
// Hacer sonido solo cuando el caracter sea distinto de espacio
if (string.IsNullOrWhiteSpace(Letra) == false) {
Console.Beep(500, 9);
}
}

}
}
}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================



VBNET
Module Module1

   Sub Main()
       Console.WindowWidth = 80
       Console.WindowHeight = 43
       Console.Title = "Retro-Consola"
       Console.BackgroundColor = ConsoleColor.Black' Fondo pantalla blanco.
       Console.Clear()' Limpiar pantalla.
       Console.ForegroundColor = ConsoleColor.Green' Color texto azul.
       Console.CursorVisible = False
1:
       Dim Cadena As String = String.Format("{0}{1}{0}{0}{2}", Environment.NewLine,
                                           "█ POR FAVOR, INTRODUZCA EL CÓDIGO DE ACCESO █",
                                           "CÓDIGO DE ACCESO:_ ")

       Mecanografiar(Cadena)

       Dim Entrada As String = Console.ReadLine

       If Entrada = 12345 Then
           Cadena = String.Format("{0}{1}{0}{0}{2}{0}{3}{0}{4}", Environment.NewLine,
                               "*** CÓDIGO DE ACCESO ACEPTADO ***",
                               "████████████████████████████████████████",
                               "█     BIENVENIDO DOCTOR FRANKESTEIN    █",
                               "████████████████████████████████████████")
           Mecanografiar(Cadena)
       Else
           Cadena = String.Format("{0}{1}{0}", Environment.NewLine,
                    "*** CÓDIGO DE ACCESO DENEGADO ***")
           Mecanografiar(Cadena)
           GoTo 1
       End If
       Console.ReadKey()
   End Sub
   Sub Mecanografiar(ByVal Cadena As String)
       For Each Letra As Char In Cadena
           'Espera 5 segundos
           If Letra = CChar(Environment.NewLine) Then
               System.Threading.Thread.Sleep(0.75 * 1000) 'Espera 0.75 segundos antes de hacer el salto de línea
               Console.Beep(600, 100) ' beep de salto de línea
           Else
               System.Threading.Thread.Sleep(0.09 * 1000)
               Console.Write(Letra)
               If String.IsNullOrWhiteSpace(Letra) = False Then ' Hacer sonido solo cuando el caracter sea distinto de espacio
                   Console.Beep(500, 9)
               End If
           End If

       Next
   End Sub
End Module


#219
Código (vb) [Seleccionar]
Private Sub Command1_Click()
  Dim Lineas() As String
   Dim i As Integer, NumLinea As Integer
   Lineas = Split(Text1.Text, vbNewLine) 'obtiene un array (matriz). Tantos elementos como saltos de línea en Text1
   Text1.Text = "" 'Limpia el Text1
   NumLinea =0
   'Bucle que repite tantas veces como líneas haya en Text1 (elementos de array Lineas)
   For i = LBound(Lineas) To UBound(Lineas)
   NumLinea = NumLinea + 1 'Obtiene el númer de línea empezando desde 1
   If NumLinea = 4 Then NumLinea = 1 'Vuelve a empezar desde 1 si NumLinea = 4
   'Reescribe cada línea en el Text1 añadiendo el número de línea
       If Lineas(i) <> "" Then Text1.Text = Text1.Text & NumLinea & Lineas(i) & vbCrLf
   Next
End Sub

Private Sub Form_Load()
Text1.Text = ""
For N = 1 To 6
Text1.Text = Text1.Text & "Texto" & vbCrLf
Next N
End Sub
#220
Cita de: djnilo en  8 Febrero 2016, 22:38 PM
funciona pero tiene un error si la entrada es  a las 12:00 y sale 14:15 $ 1250
deberia cobrar 1150


Entiendo el error pero antes de reparar el error déjame aclarar unos puntos.

Basándome en las condiciones que tú mismo establecistes...
1ª hora  = 500$
A partir de la hora cada cuarto de hora se cobran 150$

Las condiciones que tú realmente expones son:
Cada hora completa son 500$
Cada cuarto de hora extra son 150$


Por ejemplo si son 2 h y 15 minutos  son 500 + 500 +150 = 1150

Aclarado el asunto, vamos por faena...  ;D

Código (vbnet) [Seleccionar]

Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim Entrada As DateTime
       Dim Salida As DateTime

       DateTime.TryParse("12:00", Entrada)
       DateTime.TryParse("14:15", Salida)

       'Obtiene el total de minutos
       Dim TotalMinutos As Integer = CInt(Salida.Subtract(Entrada).TotalMinutes)

       Dim Horas As Integer = CInt(Math.Truncate(TotalMinutos / 60))
       Dim Cuartos As Integer = CInt(Math.Truncate((TotalMinutos - (Horas * 60)) / 15))
       Dim Precio As Integer = (Horas * 500) + (Cuartos * 150)
       MsgBox(Precio)

       'Info: Math.Truncate elimna los decimales. De modo que:
       'Si Cuartos = 0.7333 (11 min) devuelve 0
       'Si Cuartos = 1.13 (17 min) devuelve 1
       'Si Cuartos = 2 (30 min) devuleve 2
   End Sub
End Class


Y si lo prefieres, puedes poner la operación matemática todo en una línea:

Código (vbnet) [Seleccionar]

        Dim TMin As Integer = CInt(Salida.Subtract(Entrada).TotalMinutes)
       Dim Precio As Integer = (CInt(Math.Truncate(TMin / 60)) * 500) + (CInt(Math.Truncate((TMin - (CInt(TMin / 60) * 60)) / 15)) * 150)


El sistema es simple.
Cuento las horas --> H=Minutos /60
Cuento los Cuartos --> C = (Minutos - H * 60) / 15  --( sin decimales)
Calculo el precio ---> Precio = (H * 500) + C * 150

Pero ¿Qué ocurre si es menos de una hora? entonces hay que establecer condiciones? Como se hizo anteriormente.

Código (vbnet) [Seleccionar]

Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim Entrada As DateTime
       Dim Salida As DateTime

       DateTime.TryParse("12:30", Entrada)
       DateTime.TryParse("14:35", Salida)

       'Obtiene el total de minutos
       Dim TotalMinutos As Integer = CInt(Salida.Subtract(Entrada).TotalMinutes)

       Dim Cuartos As Integer, Horas As Integer, Precio As Integer
       If TotalMinutos < 60 Or TotalMinutos = 60 Then
           Precio = 500
       Else
           Horas = CInt(Math.Truncate(TotalMinutos / 60))
           Cuartos = CInt(Math.Truncate((TotalMinutos - (Horas * 60)) / 15))
           Precio = (Horas * 500) + (Cuartos * 150)
       End If
       MsgBox(Precio)

   End Sub
End Class


Sl2s