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

#6111
Cita de: LoqiRex2 en 16 Noviembre 2014, 18:17 PM
al hacer la segunda solicita detallar dónde y con qué nombre va a ir el archivo ¿Verdad? Bueno, pues he ingresado C:\prueba1.txt y en C: no quedó ningún .txt con esa información. Lo más probable es que yo no esté entendiendo el código

Lo que ocurre es que en el bloque de la opción [2] pido el nombre del archivo, no pido la ruta completa ni tampoco la extensión, el archivo se guarda con el nombre especificado en el directorio de trabajo actual.

El código que escribí es un sólo ejemplo para orientarte y está abierto a modificaciones para adaptarlo a tus necesidades.






Cita de: LoqiRex2 en 16 Noviembre 2014, 18:17 PMse ingresa a la primer opción y luego cuando ingreso a la segunda, entra nuevamente por la primera.

El problema, obviamente, está aquí:
Citar
Código (dos) [Seleccionar]
if (%o%==1) goto :uno else (if (%o%==2) (goto :if2) else (if (%o%==3) (goto :if3) else (if (%o%==4) (goto :cuatro) else (goto :error))))

Estás intentando simular un 'ElseIf', pero esta es otra característica que no está soportada en Batch (aunque por otro lado si que soporta un 'And', pero de forma invisible).
No es necesario que anides los ifs para conseguirlo.

Cita de: LoqiRex2 en 16 Noviembre 2014, 18:17 PM¿Qué hago?

Tienes tres opciones:

1) usar múltiples If:
Código (dos) [Seleccionar]
If "%o%" EQU "1" (Goto :uno)
If "%o%" EQU "2" (Goto :dos)
etc...


2) Usar el comando Choice como ya mostré.

3) Omitir el uso de If y llamar al método deseado de forma dinámica:

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

:menu
cls
echo 1) listar archivos segun su criterio
echo 2) la busqueda anterior se almacena en un archivo
set /p "o= Elija su opcion:"
Call :%o%
Goto :Menu

:1
Echo Soy el método 1
pause
goto :EOF

:2
Echo Soy el método 2
pause
goto :EOF



saludos
#6112
Buenas!

CitarLa primera es listar archivos según un criterio ingresado por el usuario

Citarel problema está en la primer opción, ¿cómo hago para que éste resultado se almacene en una variable? ¿Se puede?

1) Te están pidiendo que listes archivos, no que almacenes el resultado de la búsqueda en una variable,
   sé que intentas ser eficiente pero en Batch no puedes serlo, así que mi consejo es que no hagas más de lo necesario, es decir, aquello que te piden que hagas.

2) Lamentablemente Batch no llega ni a poder calificarse como "lenguaje de programación", y las variables multi-linea no es una característica soportada (de forma natural) en Batch.
   Para crear una variable multilinea debes recurrir a un pequeño Hack, algo que te resultaría bastante engorroso en la situación que te encuentras (Dir + For /F + MultiLine Hack):
Código (dos) [Seleccionar]
@Echo OFF & SetLocal EnableDelayedExpansion

:: New Line Hack Start
set NewLine=^


:: New Line Hack End

set "MultiLine=Line1!NewLine!Line2"
set "MultiLine=!MultiLine!!NewLine!Line3"

Echo !MultiLine!

Pause&Exit


3) Consejo: Utiliza la programación en Inglés, el desarrollo en Castellano, además de feo, no es nada productivo.

Ejemplo:
Código (dos) [Seleccionar]
@Echo OFF

:Menu
Echo [1] Perform a file search in drive '%~d0\'.
Echo [2] Write the search result of option [1] to file.
Echo [3] *********
Echo [4] Terminate
Echo.
Choice.exe /C "1234" /M "Choose an option: "@Echo OFF & SetLocal EnableDelayedExpansion
Cls
Call :Option%ErrorLevel%
Cls
Goto :Menu

:Option1 :: Perform file search by pattern.
Set /P "SearchPattern.Filename=Write a partial filename: "
Set /P "SearchPattern.Extension=Write a file extension (or keep it empty for any extension): "

Set "SearchPattern.Drive=%~d0"
Set "SearchPattern.Filename=*%SearchPattern.Filename%*"  & :: Fix empty file name.
Set "SearchPattern.Extension=%SearchPattern.Extension%*" & :: Fix empty file extension.

(
Dir /A-D /B /S "%SearchPattern.Drive%\%SearchPattern.Filename%.%SearchPattern.Extension%"
)>"%Temp%\SearchResult.tmp"

Type "%Temp%\SearchResult.tmp" | MORE
Goto :EOF

:Option2 :: Save result to file.
If Not Exist "%Temp%\SearchResult.tmp" (
Echo There is any previous search result to save.
Pause
) Else (
Set /P "FileName=Set the destination filename: "
Call Move /Y "%Temp%\SearchResult.tmp" "%CD%\%%FileName%%.txt"
)
Goto :EOF

:Option3
:: Do Something.
Goto :EOF

:Option4
Exit


Saludos
#6113
Cita de: romybe en 16 Noviembre 2014, 01:11 AM
Había pensado en un arreglo pero nunca hice uno con imágenes y no sé cómo.

Un Array/Colección se puede crear de la misma manera para cualquier tipo de objeto, no tiene mucho misterio solo tienes que asignarle objetos de tipo Bitmap o Image cómo lo harías con enteros para un Array de Integer, por ejemplo.

Si las images no superan los 256x256 de resolución entonces te recomiendo utilizar un ImageList, de lo contrario podrías utilizar una colección genérica de tipo List(<T> Image).

Para el tema de volver a la primera imagen (es decir, el primer elemento de la colección) puedes llevar la cuenta del índice actual en una variable "contador", o bien puedes utilizar los métodos de búsqueda de la lista.

Ejemplo:

VB.Net:
Código (vbnet) [Seleccionar]
Public Class Form1

    ' instancio unas imagenes por defecto para este ejemplo...
    Private ReadOnly img1 As Image = Image.FromFile("D:\Customización\Wallpapers\_Favoritos\001.jpg")
    Private ReadOnly img2 As Image = Image.FromFile("D:\Customización\Wallpapers\_Favoritos\002.jpg")
    Private ReadOnly img3 As Image = Image.FromFile("D:\Customización\Wallpapers\_Favoritos\003.jpg")
    Private ReadOnly img4 As Image = Image.FromFile("D:\Customización\Wallpapers\_Favoritos\004.jpg")
    Private ReadOnly img5 As Image = Image.FromFile("D:\Customización\Wallpapers\_Favoritos\005.jpg")

    Private WithEvents imgListPhotos As New List(Of Image) From {img1, img2, img3, img4, img5}
    Private WithEvents pcbPhotos As New PictureBox
    Private WithEvents timerPhotos As New Timer

    Private imgInterval As Integer = 2000I

    ''' <summary>
    ''' Initializes a new instance of the <see cref="Form1"/> class.
    ''' </summary>
    Public Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
        Me.Controls.Add(Me.pcbPhotos)

        With Me.pcbPhotos
            .Dock = DockStyle.Fill
            .BackgroundImageLayout = ImageLayout.Stretch
        End With

        With Me.timerPhotos
            .Interval = Me.imgInterval
            .Enabled = True
            .Start()
        End With

    End Sub

    ''' <summary>
    ''' Handles the Tick event of the timerPhotos control.
    ''' </summary>
    ''' <param name="sender">The source of the event.</param>
    ''' <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
    Private Sub TimerPhotos_Tick(ByVal sender As Object, ByVal e As EventArgs) _
    Handles timerPhotos.Tick

        With Me.pcbPhotos

            If .BackgroundImage Is Nothing Then
                .BackgroundImage = Me.imgListPhotos.First

            Else
                Dim imgIndex As Integer =
                    Me.imgListPhotos.FindIndex(Function(img As Image) img.Equals(.BackgroundImage)) _
                    + 1I

                If imgIndex = Me.imgListPhotos.Count Then ' RollBack
                    imgIndex = 0I
                End If

                .BackgroundImage = Me.imgListPhotos(imgIndex)

            End If ' currentImg Is Nothing

        End With ' Me.pcbPhotos

    End Sub

End Class


C# (conversión online):
Código (csharp) [Seleccionar]
using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
public class Form1
{

// instancio unas imagenes por defecto para este ejemplo...
private readonly Image img1 = Image.FromFile("D:\\Customización\\Wallpapers\\_Favoritos\\001.jpg");
private readonly Image img2 = Image.FromFile("D:\\Customización\\Wallpapers\\_Favoritos\\002.jpg");
private readonly Image img3 = Image.FromFile("D:\\Customización\\Wallpapers\\_Favoritos\\003.jpg");
private readonly Image img4 = Image.FromFile("D:\\Customización\\Wallpapers\\_Favoritos\\004.jpg");
private readonly Image img5 = Image.FromFile("D:\\Customización\\Wallpapers\\_Favoritos\\005.jpg");

private List<Image> imgListPhotos = new List<Image> {
img1,
img2,
img3,
img4,
img5
};

private PictureBox pcbPhotos = new PictureBox();
private Timer withEventsField_timerPhotos = new Timer();
private Timer timerPhotos {
get { return withEventsField_timerPhotos; }
set {
if (withEventsField_timerPhotos != null) {
withEventsField_timerPhotos.Tick -= TimerPhotos_Tick;
}
withEventsField_timerPhotos = value;
if (withEventsField_timerPhotos != null) {
withEventsField_timerPhotos.Tick += TimerPhotos_Tick;
}
}

}

private int imgInterval = 2000;

/// <summary>
/// Initializes a new instance of the <see cref="Form1"/> class.
/// </summary>
public Form1()
{
// This call is required by the designer.
InitializeComponent();

// Add any initialization after the InitializeComponent() call.
this.Controls.Add(this.pcbPhotos);

this.pcbPhotos.Dock = DockStyle.Fill;
this.pcbPhotos.BackgroundImageLayout = ImageLayout.Stretch;

this.timerPhotos.Interval = this.imgInterval;
this.timerPhotos.Enabled = true;
this.timerPhotos.Start();

}

/// <summary>
/// Handles the Tick event of the timerPhotos control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
private void TimerPhotos_Tick(object sender, EventArgs e)
{

if (this.pcbPhotos.BackgroundImage == null) {
this.pcbPhotos.BackgroundImage = this.imgListPhotos.First;

} else {
int imgIndex = this.imgListPhotos.FindIndex((Image img) => img.Equals(this.pcbPhotos.BackgroundImage)) + 1;

// RollBack
if (imgIndex == this.imgListPhotos.Count) {
imgIndex = 0;
}

this.pcbPhotos.BackgroundImage = this.imgListPhotos(imgIndex);

}

}

}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//=======================================================


Saludos
#6114
Cita de: wolfbcn en 14 Noviembre 2014, 21:45 PMde nuevo estamos ante cambios que se alejan de los orígenes de Resident Evil, pero creo que pueden resultar beneficios para la jugabilidad y el desarrollo del juego.

Estoy deacuerdo.

Como fan y jugador de la saga desde sus inicios en la PSX, debo decir que a partir del RE3 se hechó a perder la mágia de esta gran Saga, no cabe duda que siguieron sacando maravillosos juegos, y en esta ocasión también estamos ante un buen juego, pero no es un Resident Evil auténtico, y eso me decepciona... para variar.

Prefiero mil veces el remake que lanzaron del RE1 a cualquiera de estos Resident Evil mediocres que sacan de tanto en cuanto.

Saludos!
#6115
Java / Re: duda con el manejo de checkbox
14 Noviembre 2014, 19:21 PM
[MOD]:
1) Los códigos van en su respectiva etiqueta.
2) Si publicas una duda en la sección de programación general, como mínimo especifica el lenguaje.
3) Las dudas de Java van en su respestiva sección de Java


( @drvy es que no me diste tiempo a editar/corregir/mover el mensaje xD )
#6116
Unos datos adicionales para aclarar algunas dudas a aquellos que se hayan ilusionado (como yo) por un posible VisualStudio en Linux:

Cita de: http://www.muylinux.com/2014/11/13/microsoft-plataforma-dot-net-open-source-linux?PageSpeed=noscriptSolo van a liberar ciertas partes de .NET (lo que ellos llaman Core) que es basicamente la parte orientada a servidores, que es precisamente donde menos presencia tiene Microsoft.

Lo que no liberan es lo que realmente sería interesante para Linux, que es la parte WinForms y en general el subconjunto para aplicaciones de escritorio.

Saludos
#6117
Código (vbnet) [Seleccionar]
Process.Start(rutaFichero)
#6118
Hardware / Re: ayuda teclado no va
14 Noviembre 2014, 13:19 PM
ya está, al final he formateado y todo solucionado.
Gracias a todos

TL/DR:
Utilicé el Wise Registry Cleaner porque parecia mi única alternativa para eliminar unos molestos rastros en los drivers de VMWare Workstation que me estaban ralentizando el PC, pero vaya, al final me acabó jodiendo el teclado xD, el limpiador de registro de CCLeaner no es nada intrusivo, y yo necesitava algo mucho más intrusivo dado el caso, conocía las posibles consecuencias de este tipo de limpiadoes, supongo que habrá sido a causa de eso...

Saludos
#6119
Hardware / Re: ayuda teclado no va
13 Noviembre 2014, 22:15 PM
no es el teclado, funciona en el boot, es cosa del driver:

http://support2.microsoft.com/mats/hardware_device_problems




probé a reemplazar los drivers desde la makina virtual, pero no se arregló
#6120
Hardware / Re: ayuda teclado no va
13 Noviembre 2014, 21:47 PM
ni driver genius ni driver boost me avisan de drivers para el teclado... :(