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

#8391
Scripting / Re: AYUDA BATCH COMODIN ?
19 Julio 2013, 12:09 PM
@japarrado

Hola,
Usa el botón de insertar código, lee mi firma.






Cita de: japarrado en 18 Julio 2013, 22:01 PMel problema que tengo es que ademas de estarme moviendo los archivos con cuatro letras despues de "_T" tambien me mueve archivos como:

Cita de: japarrado en 18 Julio 2013, 22:01 PM
que tengo mal?

No hay ningún problema con dicho FOR, el patrón de búsqueda es correcto y no matchea archivos que tengan más de 4 caracteres después de la "T". El problema está en otra parte del código que no nos has mostrado todavía.

Puedes probar esto, pero es exáctamente lo mismo, y como ya digo tu primer FOR funciona corréctamente:

Código (dos) [Seleccionar]
FOR /F %%a in ('Dir /B /S "??_T????.sql"')  DO (
echo %%a
  rem move %%a %v_incidente%\%v_incidente%\SCRIPTS
rem  @echo @@%%a   >> %v_incidente%\%v_incidente%\SCRIPTS\INSTALADOR.sql
)


Saludos
#8393
Cita de: Shuffle66 en 18 Julio 2013, 11:11 AMobservo que al final de cada linea me mantiene el espacio en blanco.

Antes de nada, tienes que usar el tag para insertar código, en mi firma tienes como hacerlo.

Código (dos) [Seleccionar]
Call Echo %%LINE: =%% >>new.txt

Estás dejando un espacio en blanco antes del operador, puedes eliminarlo,
un saludo
#8394
Cita de: Shuffle66 en 18 Julio 2013, 11:02 AMecho de menos el poder guardar el resultado en un nuevo archivo de texto.

Es algo muy sencillo de hacer sin dificultad alguna, lee un poco aquí:

By Elektro H@cker - Tutorial extendido de aprendizaje Batch

4.6 Operadores de desplazamiento lógico (o Redireccionamiento)


Saludos
#8395
Código (dos) [Seleccionar]
@Echo OFF

FOR /F "Usebackq Tokens=*" %%# IN ("Archivo.txt") DO (
Set "Line=%%#"
Call Echo %%LINE: =%%
)

Pause&Exit


Saludos
#8396
Estoy intentando convertir un Bitmap al tipo de imágen Icono (ICO), para guardar esa imágen al disco en formato ICO, pero el resultado que obtengo es un archivo PNG con la extensión modificada a ICO.

¿Porque la Class ImageFormat me guarda la imagen en formato PNG cuando le estoy indicando que me guarde el archivo en formato ICO?.

No conozco otra manera de de guardar una imágen al disco (sin usar librerías o aplicaciones d terceros), ¿Como resuelvo esto?.

¿Acaso hay algo mal en el code?

Esta es la manera en la que estoy usando mi code:
Código (vbnet) [Seleccionar]
Save_Icon(Resize_Image(Bitmap.FromFile(PictureBox_Regedit.Tag), "Regedit.ico")

Y esto es el resto del code:
Código (vbnet) [Seleccionar]
Private Sub Save_Icon(ByVal Source As Bitmap, ByVal Filename As String)

   Try
       If Not Directory.Exists(AppDir) Then Directory.CreateDirectory(AppDir)
       If Not Directory.Exists(AppIcons) Then Directory.CreateDirectory(AppIcons)
       Source.MakeTransparent()
       Source.Save(Path.Combine(AppIcons, Filename), ImageFormat.Icon)
   Catch ex As Exception
       Throw New Exception(ex.Message)
   End Try

End Sub

Private Function Resize_Image(ByVal img As Image, ByVal Width As Int32, ByVal Height As Int32) As Bitmap
   Dim Bitmap_Source As New Bitmap(img)
   Dim Bitmap_Dest As New Bitmap(CInt(24), CInt(24))
   Dim Graphic As Graphics = Graphics.FromImage(Bitmap_Dest)
   Graphic.DrawImage(Bitmap_Source, 0, 0, Bitmap_Dest.Width + 1, Bitmap_Dest.Height + 1)
   Return Bitmap_Dest
End Function


EDITO: El problema sucede tanto usando "maketransparent" como sin usarlo.
#8397
· Expandir todas las variables de un string

PD: Útil para permitir al usuario manejar variables de entorno en la aplicación por ejemplo para setear una ruta, o cargar una ruta que contenga variables de entorno desde un archivo INI.

Código (vbnet) [Seleccionar]
#Region " Expand Variables In String "

   ' [ Expand Variables In String Function ]
   '
   ' // By Elektro H@cker
   '
   ' Examples :
   ' MsgBox(Expand_Variables_In_String("%homedrive%\Users\%username%\%fake-var%\")) ' Result: C:\Users\Administrador\%fake-var%\

   Public Function Expand_Variables_In_String(ByVal str As String) As String

       Dim match As System.Text.RegularExpressions.Match = _
       System.Text.RegularExpressions.Regex.Match(str, "(%.*%)")

       Do While match.Success
           str = str.Replace(match.ToString, Environment.ExpandEnvironmentVariables(match.ToString))
           match = match.NextMatch()
       Loop

       Return str

   End Function

#End Region
#8398
Cita de: sysfactory en 18 Julio 2013, 01:50 AMestoy revisando este codigo pero no me funciona

Hola, Manuel, Si no nos proporcionas el mensaje de la excepción o nos dices como mínimo en que línea tienes dicho error, ¿como esperas que te podamos ayudar?.

El código en si mismo es correcto, la sintaxis es correcta, debería funcionar...

Veo que escribes todos los namespaces, si no importas las referencias entonces me imagino que el error lo tienes aquí:
Código (vbnet) [Seleccionar]
Catch ex As ComponentModel.Win32Exception

En ese caso importa "system" o modifica lal ínea, así:
Código (vbnet) [Seleccionar]
Catch ex As System.ComponentModel.Win32Exception

No veo que pueda existir ningún otro error en ese código, o estás hablando de esa linea, o el executable no está donde debería estar... una de dos.


EDITO:

Prueba así...

Código (vbnet) [Seleccionar]
Imports System
Imports System.Diagnostics

Public Class Form1

    Const ERROR_FILE_NOT_FOUND As Integer = 2

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

        Dim ProgramaConRuta As String = "gTimeSync.exe"
        Dim Parametro As String = "-u" ' No es necesario que le añadas un espacio delante.

        Try
            Process.Start(ProgramaConRuta, Parametro)
            Beep()
        Catch ex As ComponentModel.Win32Exception
            If ex.NativeErrorCode = ERROR_FILE_NOT_FOUND Then
                MsgBox(String.Format("Error: ""{0}""", ex.Message), MsgBoxStyle.Critical, "Comprueba la ruta del programa.")
            End If
        End Try

    End Sub

end class


Saludos
#8399
@sysfactory

1. No se reviven temas de hace 5 años para formular una pregunta, crea un nuevo post.

2. Debes hacerlo en la sección correcta, VB.NET no es un lenguaje de Scripting.

3. Al postear un código debes usar el tag para insertar código.

Puedes usar la Class Process para reemplazar a la función Shell:
Código (vbnet) [Seleccionar]
Process.Start("Exe", "Argumentos")

Cierro el tema,
Saludos.
#8400
Cita de: Ikillnukes en 17 Julio 2013, 22:19 PMHola buenas, es posible lo que intento hacer o es una locura?

Se puede hacer -> [SOURCE] Color.NET Autor: EleKtro H@cker



Código (vbnet) [Seleccionar]

#Region " Get Pixel Color "

    ' [ Get Pixel Color Function ]
    '
    ' // By Elektro H@cker
    '
    ' Examples :
    '
    ' Dim RGB As Color = Get_Pixel_Color(MousePosition.X, MousePosition.Y, ColorType.RGB)
    ' MsgBox(Get_Pixel_Color(100, 100, ColorType.RGB).ToString)
    ' MsgBox(Get_Pixel_Color(100, 100, ColorType.HEX))
    ' MsgBox(Get_Pixel_Color(100, 100, ColorType.HTML))

    <System.Runtime.InteropServices.DllImport("user32.dll")> Shared Function GetDC(hwnd As IntPtr) As IntPtr
    End Function

    <System.Runtime.InteropServices.DllImport("user32.dll")> Shared Function ReleaseDC(hwnd As IntPtr, hdc As IntPtr) As Int32
    End Function

    <System.Runtime.InteropServices.DllImport("gdi32.dll")> Shared Function GetPixel(hdc As IntPtr, nXPos As Integer, nYPos As Integer) As UInteger
    End Function

    Public Enum ColorType
        RGB
        HEX
        HTML
    End Enum

    Public Function Get_Pixel_Color(ByVal x As Int32, ByVal y As Int32, ByVal ColorType As ColorType)

        Dim hdc As IntPtr = GetDC(IntPtr.Zero)
        Dim pixel As UInteger = GetPixel(hdc, x, y)
        ReleaseDC(IntPtr.Zero, hdc)

        Dim RGB As Color = Color.FromArgb(CType((pixel And &HFF), Integer), CType((pixel And &HFF00), Integer) >> 8, CType((pixel And &HFF0000), Integer) >> 16)
        Dim R As Int16 = RGB.R, G As Int16 = RGB.G, B As Int16 = RGB.B
        Dim HEX_R As String, HEX_G As String, HEX_B As String

        Select Case ColorType
            Case ColorType.RGB : Return RGB
            Case ColorType.HEX
                If Hex(R) = Hex(0) Then HEX_R = "00" Else HEX_R = Hex(R)
                If Hex(G) = Hex(0) Then HEX_G = "00" Else HEX_G = Hex(G)
                If Hex(B) = Hex(0) Then HEX_B = "00" Else HEX_B = Hex(B)
                Return (HEX_R & HEX_G & HEX_B)
            Case ColorType.HTML : Return ColorTranslator.ToHtml(RGB)
            Case Else : Return Nothing
        End Select

    End Function

#End Region