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 - Eleкtro

#8401
Por "ventana" imagino que te refieres al formulario.

Código (vbnet) [Seleccionar]
Public Class Form1

   Private Sub Form1_Load(sender As Object, e As EventArgs) _
   Handles MyBase.Load

       TextBox1.Text = My.Settings.Texto

   End Sub

   Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) _
   Handles MyBase.FormClosing

       My.Settings.Texto = TextBox1.Text

   End Sub

End Class


1 - Crear un textbox y llámalo "Textbox1"

2 - Crear una propiedad en las "Settings" de tu proyecto, de tipo "String" y "User", y llámala "Texto".

3 - Googlear en caso de no saber seguir el paso 2.

Saludos
#8402
@zikotik
Si además muestras el output en la CMD, la rapidez disminuye x2, te lo digo por experiencia, no hagas esto en Batch.

Saludos
#8403
Cita de: zikotik en 17 Julio 2013, 03:59 AMIntenté tanto con ^ como con ^^ y nada.

Lo que te dije funciona para mostrar el caracter conflictivo "!" cuando la expansión de variables está activada como lo está en el código que has mostrado:

Código (dos) [Seleccionar]
setlocal enabledelayedexpansion
Echo ^^!


...Óbviamente es un ejemplo que debes adaptar al resto de tu código.






Yo diréctamente te diría que los temas complicados y donde se maneja mucho texto lo tratases en cualquier otro lenguaje que no sea Batch, pero  si reálmente estás dispuesto a hacerlo sólo en Batch y si además quieres incluir los caracteres conflictivos "!" "?" pues entonces el code no va a poder quedar tán perfecto ni simplificado como deseas.

De todas formas no necesitas usar enabledelayedexpansion en el código.

Código (dos) [Seleccionar]
@echo off
title Diccionario

set "chars=a b c d e f g h i j k l m n o p q r s t u w w x y z 0 1 2 3 4 5 6 7 8 9 ! ."
set /A "ini=0"
set /A "wor=0"

set /p lenght=Lenght:

call :generar

pause&exit


:generar
set /a "wor+=1"
title Palabra "%wor%"
if %ini% neq %lenght% (
set /a "ini+=1"
for %%c in (%chars%) do (call :generar %~1%%c)
set /a "ini-=1"
) else (
echo.%1
echo.%1>>"diccionario_%lenght%.txt"
)
goto:eof



Aquí tienes una alternativa funcional para mostrar los dos caracteres:

Código (dos) [Seleccionar]
@echo off
title Diccionario

rem set "chars=a b c d e f g h i j k l m n o p q r s t u w w x y z 0 1 2 3 4 5 6 7 8 9 ! ? ."
set /A "ini=0"
set /A "wor=0"

(
Echo a
Echo b
Echo c
Echo bla bla bla
Echo bla bla bla
Echo !
Echo ?
)>"%TEMP%\chars.txt"

set /p lenght=Lenght:

call :generar

pause&exit


:generar
set /a "wor+=1"
title Palabra "%wor%"
if %ini% neq %lenght% (
set /a "ini+=1"
for /F %%c in ('type "%TEMP%\chars.txt"') do (call :generar %~1%%c)
set /a "ini-=1"
) else (
echo.%1
echo.%1>>"diccionario_%lenght%.txt"
)
goto:eof



Tampoco me voy a esmerar mucho más tratándose de Batch y sus limitaciones.

Saludos!
#8404
1. Justo después de un logueo escribes la fecha de ese preciso momento donde quieras (archivo de texto, registro de windows, setting de la aplicación...)
(Esa será la fecha del último login.)

2. Al loguearte de nuevo, lees el valor desde el lugar donde lo guardaste, lo muestras.

3. En el próximo logueo repetir el paso 1 y 2, y así sucesivamente en cada logueo...

Tán sencillo como eso,
un saludo.
#8405
Escapa:

Código (dos) [Seleccionar]
Echo ^^!

Saludos
#8406
Cita de: franfis en 15 Julio 2013, 20:26 PM"velocidad de muestra de sonido" y "velocidad de transmisión

Es decir, el "Sampling rate" y el "Bitrate".

Pues necesitas recodificar el archivo MP3, puedes hacerlo con cualquier conversor de Audio, te recomiendo dBPoweramp.



Saludos
#8407
Cita de: Alexperto en 15 Julio 2013, 18:54 PMYa pero el probrlema esque al compilar me da eror esa palabra justamente ...
Y donde pongo la palabra que tiene que cambiar y a la que tiene que cambiar?

No es una palabra, es un objeto. Si de verdad estás interesado en esto debes estudiar para dejar de ver las cosas como "palabras" sueltas.

Te da error de compilación porque no has declarado ninguna variable que se llame "Server"  (y que contenga la función "HtmlEncode") .

PD: Anda que tu también Ikillnukes, darle códigos así a alguien que está empezando para liarle aún más...

Código (vbnet) [Seleccionar]
Public Class Form1

   Dim Server As System.Web.HttpUtility

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       MsgBox(Server.HtmlEncode("<b> Hello World! </b>"))
   End Sub

End Class


@Alexperto
Ikillnukes te ha dado lo que necesitas, pero óbviamente sólo es un ejemplo de uso para que tu lo adaptes a tu código.
...Es muy fácil hacer lo que necesitas, si no te lo damos hecho es porque con una Googleada ya sabrías resolverlo.

Un saludo!
#8408
Estás reemplazando el caracter en todo el texto.

Tenemos la palabra "hello", y lo que hace tu script es esto:
- Replace "h" por "l" en todo el texto, resultado: "lello"
Ahí se puede ver cláramente que al llegar a las otras dos "ll" va a haber un conflicto porque también vas a reemplazar la primera "l".

Solución: No hagas diréctamente las modificaciones sobre el argumento "text", o usa replace para reemplazar un caracter en X posición del texto, pero no el caracter en el texto entero.

Código (python) [Seleccionar]
def crypt(text,x):
   abc = "abcdefghijklmnopqrstuvwxyz"
   newtext = ""
   for i in range (0,len(text.lower())):
       n = abc.find(text[i])
       if n<0:
           newtext = newtext + text[i]
       if n>=0:
        newtext = newtext + abc[(n+x)%len(abc)]
   return newtext.upper()


Saludos
#8409
Cita de: El Benjo en 14 Julio 2013, 05:32 AM¿Tú qué opinas?
No soy quien para opinar sobre protocolos, el nivel web no es lo mio xD.

Lo que si tengo claro es que los headers hay que eliminarlos y agregar los de Shoutcast, al menos eso es lo que he visto hacer por ahí, pero con eso no parece ser suficiente para requerir la información del "Status" del server.

Saludos!
#8410
He ideado esya función para convertir un archivo REG a un script BAT.

La verdad es que no me ha costado mucho, ya había desarrollado antes la manera de convertir usando Ruby y sólo he tenido que trasladar el código que hice y agregarle las mejoras de VBNET xD.


Código (vbnet) [Seleccionar]

    #Region " Reg2Bat "
     
       ' [ Reg2Bat Function ]
       '
       ' // By Elektro H@cker
       '
       ' Examples :
       ' MsgBox(Reg2Bat("C:\Registry.reg"))

    Private Function Reg2Bat(ByVal Reg_File As String) As String

        ' Source Input
        ' Join he lines, delete the Regedit linebreaks characters: "\  ", and then split the lines.
        Dim RegFile() As String = Split( _
                                  String.Join("@@@Reg2Bat@@@", IO.File.ReadAllLines(Reg_File)) _
                                  .Replace("\@@@Reg2Bat@@@  ", "") _
                                  .Replace("@@@Reg2Bat@@@", Environment.NewLine), _
                                  Environment.NewLine)

        Dim RegLine As String = String.Empty ' Where the Regedit Line will be stored.
        Dim RegKey As String = String.Empty ' Where the Regedit Key will be stored.
        Dim RegVal As String = String.Empty ' Where the Regedit Value will be stored.
        Dim RegData As String = String.Empty ' Where the Regedit Data will be stored.

        Dim Batch_Commands As String = String.Empty ' Where the decoded Regedit strings will be stored.

        ' Check if first line of Reg File has a valid Regedit signature
        For X As Int64 = 0 To RegFile.LongLength - 1

            RegLine = RegFile(X).Trim

            While RegLine = String.Empty
                X += 1
                RegLine = RegFile(X).Trim
            End While

            If Not RegLine.ToLower = "windows registry editor version 5.00" Then
                Throw New Exception("This is not a valid Regedit v5.00 script.")
                Return Nothing
            Else
                Batch_Commands &= ":: Converted with REG2BAT By Elektro H@cker" & Environment.NewLine & Environment.NewLine
                Batch_Commands &= String.Format("REM {0}", RegLine) & Environment.NewLine & Environment.NewLine
                Exit For
            End If

        Next

        ' Start reading the Regedit File
        For X As Int64 = 0 To RegFile.LongLength - 1

            RegLine = RegFile(X).Trim

            Select Case True

                Case RegLine.StartsWith(";") ' Comment line

                    Batch_Commands &= Environment.NewLine
                    Batch_Commands &= String.Format("REM {0}", RegLine.Substring(1, RegLine.Length - 1).Trim)
                    Batch_Commands &= Environment.NewLine

                Case RegLine.StartsWith("[-") ' Key to delete

                    RegKey = RegLine.Substring(2, RegLine.Length - 3).Trim
                    Batch_Commands &= String.Format("REG DELETE ""{0}"" /F", RegKey)
                    Batch_Commands &= Environment.NewLine

                Case RegLine.StartsWith("[") ' Key to add

                    RegKey = RegLine.Substring(1, RegLine.Length - 2).Trim
                    Batch_Commands &= String.Format("REG ADD ""{0}"" /F", RegKey)
                    Batch_Commands &= Environment.NewLine

                Case RegLine.StartsWith("@=") ' Default Value to add

                    RegData = Split(RegLine, "@=", , CompareMethod.Text).Last
                    Batch_Commands &= String.Format("REG ADD ""{0}"" /V  """" /D {1} /F", RegKey, RegData)
                    Batch_Commands &= Environment.NewLine

                Case RegLine.StartsWith("""") _
                AndAlso RegLine.Split("=").Last = "-"  ' Value to delete

                    RegVal = RegLine.Substring(1, RegLine.Length - 4)
                    Batch_Commands &= String.Format("REG DELETE ""{0}"" /V ""{1}"" /F", RegKey, RegVal)
                    Batch_Commands &= Environment.NewLine

                Case RegLine.StartsWith("""") ' Value to add

                    RegLine = RegLine.Replace("\\", "\") ' Replace Double "\\" to single "\".

                    ' Check data type:
                    Select Case RegLine.Split("=")(1).Split(":")(0).ToLower

                        Case "hex" ' Binary

                            RegVal = Split(RegLine, "=hex:", , CompareMethod.Text)(0)
                            RegData = Split(RegLine, (RegVal & "=hex:"), , CompareMethod.Text).Last.Replace(",", "")
                            Batch_Commands &= String.Format("REG ADD ""{0}"" /V {1} /T ""REG_BINARY"" /D ""{2}"" /F", RegKey, RegVal, RegData)
                            Batch_Commands &= Environment.NewLine

                        Case "dword" ' DWORD

                            RegVal = Split(RegLine, "=dword:", , CompareMethod.Text)(0)
                            RegData = "0x" & Split(RegLine, (RegVal & "=dword:"), , CompareMethod.Text).Last
                            Batch_Commands &= String.Format("REG ADD ""{0}"" /V {1} /T ""REG_DWORD"" /D ""{2}"" /F", RegKey, RegVal, RegData)
                            Batch_Commands &= Environment.NewLine

                        Case "hex(b)" ' QWORD

                            Dim TempData As String = "0x"
                            RegVal = Split(RegLine, "=hex(b):", , CompareMethod.Text)(0)
                            RegData = StrReverse(Split(RegLine, (RegVal & "=hex(b):"), , CompareMethod.Text).Last)
                            For Each [byte] In RegData.Split(",") : TempData &= StrReverse([byte]) : Next
                            Batch_Commands &= String.Format("REG ADD ""{0}"" /V {1} /T ""REG_QWORD"" /D ""{2}"" /F", RegKey, RegVal, TempData)
                            Batch_Commands &= Environment.NewLine

                        Case "hex(2)"  ' EXPAND SZ

                            Dim TempData As String = String.Empty
                            RegVal = Split(RegLine, "=Hex(2):", , CompareMethod.Text)(0)
                            RegData = Split(RegLine, (RegVal & "=hex(2):"), , CompareMethod.Text).Last.Replace(",00", "").Replace("00,", "")
                            For Each [byte] In RegData.Split(",") : TempData &= Chr(Val("&H" & [byte])) : Next
                            TempData = TempData.Replace("%", "%%").Replace("""", "\""")
                            Batch_Commands &= String.Format("REG ADD ""{0}"" /V {1} /T ""REG_EXPAND_SZ"" /D ""{2}"" /F", RegKey, RegVal, TempData)
                            Batch_Commands &= Environment.NewLine

                        Case "hex(7)" ' MULTI SZ

                            Dim TempData As String = String.Empty
                            RegVal = Split(RegLine, "=Hex(7):", , CompareMethod.Text)(0)
                            RegData = Split(RegLine, (RegVal & "=hex(7):"), , CompareMethod.Text).Last.Replace(",00,00,00", ",\0").Replace(",00", "").Replace("00,", "")

                            For Each [byte] In RegData.Split(",")

                                If [byte] = "\0" Then
                                    TempData &= "\0" ' Line separator for multiline.
                                Else
                                    TempData &= Chr(Val("&H" & [byte]))
                                End If

                            Next

                            TempData = TempData.Replace("%", "%%").Replace("""", "\""")
                            Batch_Commands &= String.Format("REG ADD ""{0}"" /V {1} /T ""REG_MULTI_SZ"" /D ""{2}"" /F", RegKey, RegVal, TempData)
                            Batch_Commands &= Environment.NewLine

                        Case Else ' REG SZ

                            RegVal = Split(RegLine, """=""", , CompareMethod.Text)(0)
                            RegData = Split(RegLine, (RegVal & """="""), , CompareMethod.Text).Last
                            Batch_Commands &= String.Format("REG ADD ""{0}"" /V {1}"" /T ""REG_SZ"" /D ""{2} /F", RegKey, RegVal, RegData)
                            Batch_Commands &= Environment.NewLine

                    End Select

            End Select

        Next

        Return Batch_Commands

    End Function
     
    #End Region