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

#5411
Scripting / Re: Mover cursor con visual basic
4 Abril 2015, 15:50 PM
Estamos en la sección Scripting, ¿te refieres a VBS, VBA, VB, o VB.Net?, acláralo.

El código que te han mostrado es para VisualBasic.Net

En caso de referirte a VBS (VisualBasicScript) no es posible realizar esa tarea, para ello necesitarías llamar a la API de Windows y solo puedes hacerlo mediante librerías de terceros que añaden soporte adicional a VBS, una alternativa sería utilizar la aplicación RunDll32 desde VBS, pero solo funcionaría con funciones que tuviesen una firma específica, no es el caso de la función SetCursorPos.

Saludos
#5412
Dudas Generales / Re: descargar cd/peli/juego
4 Abril 2015, 02:10 AM
O también puedes jugar gratuita pero limitadamente a casi cualquier RPG online, con contenido adicional de pago.

Hay cientos de RPG online, pero te dejo el enlace a mi favorito, P.W.I:
http://www.arcgames.com/en/games/pwi

Aquí más juegos de la misma compañia, que creo que son igual de (medio) gratis:
http://www.arcgames.com/en/games/

saludos
#5413
Cita de: #!drvy en  3 Abril 2015, 16:49 PMPD: Y ya que tu eres la persona que siempre dijo que hay que ser 'mentes abiertas'...  ¿ Y si la homosexualidad es en realidad el inicio de un proceso de evolución ? Quizás dentro de muuuchos años (como tu dices), no necesitemos sexos opuestos para reproducirnos... a ver ?

Sabes que tengo cero ganas de responderte a cualquier pregunta y/o comentario que hagas dirigido a mi, por que siempre vas a lo que vas y de la forma en la que lo haces (pon las excusas que quieras y niégalo), pero es que encima ahora me haces una pregunta que ya he contestado antes, por que en mi último comentario dejé clara las condiciones que debería tener la Homosexualidad para que al menos yo lo pudiese considerar cómo "un proceso de evolución", nadie ha dicho que esas condiciones se puedan o no se puedan dar, pero desde luego no hay pruebas de que se vayan a dar, y mientras esas condiciones no se den seguiré pensando igual, ahora, si mañana descubren al primer homosexual que pueda parir por si solo, entonces me callaría la boca y aceptaría que la heterosexualidad pasa a ser inferior y la homosexualidad superior en nuestro avance evolutivo, pero ahora no lo es, de hecho es todo lo contrario, es la más dañina involución.

PD: Eres libre de dar tu opinión sobre lo que acabo de decir o sobre lo que quieras, pero porfavor, intenta no dirigirte a mi con más preguntas, por que las ignoraré.

Saludos
#5414
No vas del todo mal encaminado, aunque también podrías hacerlo con una pila de caracteres.

Te muestro una posible solución siguiendo el enfoque que le has dado, puedes trasladarlo a tu aplicación de consola.

VB.Net:
Código (vbnet) [Seleccionar]
Imports System.IO
Imports System.Text
Imports System.Threading.Interlocked
Imports System.Threading.Thread

Public Class Form1

   Private Sub Test() Handles MyBase.Shown

       Writer(sourceFilepath:="C:\Source.txt",
              targetFilepath:="C:\Target.txt",
              maxChars:=15,
              sleepCount:=3,
              sleepInterval:=5 * 1000)

   End Sub

   Public Sub Writer(ByVal sourceFilepath As String,
                     ByVal targetFilepath As String,
                     ByVal maxChars As Integer,
                     ByVal sleepCount As Integer,
                     ByVal sleepInterval As Integer)

       Dim cloneSleepCount As Integer = sleepCount

       Dim charCount As Integer = -1
       Dim sr As StringReader = New StringReader(File.ReadAllText(sourceFilepath, Encoding.Default))
       Dim sw As New StringWriter

       Do Until (sr.Peek = -1)

           sw.Write(Convert.ToChar(sr.Read))

           If (Increment(charCount) = maxChars) OrElse (sr.Peek = -1) Then

               If Decrement(cloneSleepCount) = 0 Then
                   Debug.WriteLine(String.Format("Deteniendo por {0} ms...", sleepInterval))
                   Sleep(sleepInterval)
                   cloneSleepCount = sleepCount - 1
               End If

               Debug.WriteLine(String.Format("Copiando {0} caracteres: '{1}'", charCount, sw.ToString))
               File.AppendAllText(targetFilepath, sw.ToString, Encoding.Default)

               charCount = -1
               sw.GetStringBuilder.Clear()

           End If

       Loop

       sr.Close()
       sw.Close()
       Debug.WriteLine("Copia terminada.")

   End Sub

End Class


Traducción online a C#:
Código (csharp) [Seleccionar]
using System;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading.Interlocked;
using System.Threading.Thread;

public class Form1
{

private void Test()
{
Writer(sourceFilepath: "C:\\Source.txt", targetFilepath: "C:\\Target.txt", maxChars: 15, sleepCount: 3, sleepInterval: 5 * 1000);
}

public void Writer(string sourceFilepath, string targetFilepath, int maxChars, int sleepCount, int sleepInterval)
{
int cloneSleepCount = sleepCount;

int charCount = -1;
StringReader sr = new StringReader(File.ReadAllText(sourceFilepath, Encoding.Default));
StringWriter sw = new StringWriter();

while (!((sr.Peek == -1))) {

sw.Write(Convert.ToChar(sr.Read));

if ((Increment(charCount) == maxChars) || (sr.Peek == -1)) {

if (Decrement(cloneSleepCount) == 0) {
Debug.WriteLine(string.Format("Deteniendo por {0} ms...", sleepInterval));
Sleep(sleepInterval);
cloneSleepCount = sleepCount - 1;
}

Debug.WriteLine(string.Format("Copiando {0} caracteres: '{1}'", charCount, sw.ToString));
File.AppendAllText(targetFilepath, sw.ToString, Encoding.Default);

charCount = -1;
sw.GetStringBuilder.Clear();
}
}

sr.Close();
sw.Close();
Debug.WriteLine("Copia terminada.");
}
}

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


Saludos
#5415
Foro Libre / Re: poner vbs en msconfig?
3 Abril 2015, 19:43 PM
Cita de: elmatador2 en  3 Abril 2015, 19:22 PMpara hacer otra pregunta tengo que hacer otro tema?

Tampoco es que esto se rija por unas reglas super estrictas, simplemente si la pregunta no está relacionada con el tema principal entonces deberías crear un nuevo post.

Cita de: elmatador2 en  3 Abril 2015, 19:22 PMhay alguna shell ejecutable que me recomiendes? es para pasar datos de una pc a otra en internet...

Desde la CMD, con el comando Copy/XCopy puedes transferir archivos por la red local.

También puedes utilizar alguna implementación commandline del protocolo Telnet o SSH, cómo por ejemplo PSCP (Putty Secure Copy Client):
http://www.openssh.com/windows.html

Yo no he utilizado mucho este tipo de aplicaiones por no tener la necesidad, así que no se recomendarte "el mejor".

Saludos
#5416
Foro Libre / Re: poner vbs en msconfig?
3 Abril 2015, 19:13 PM
Bienvenido al foro.

Hay una sección de Scripting que es donde deberías formular preguntas de este tipo.

Se puede hacer, solo tienes que agregar el valor de registro correspondiente para iniciar el "intérprete" de VBS, pasándole cómo argumento la ubicación del script, tal que así:

WScript.exe "C:\script.vbs"

o también:
CScript.exe "C:\script.vbs"

(dependiendo de tus necesidades)

Saludos
#5417
Foro Libre / Re: ¿Alguien se vería capaz?
3 Abril 2015, 19:09 PM
Cita de: Vaagish en  3 Abril 2015, 17:42 PMElektro: Lo que dice Karen Hudes no es mas que la realidad ya conocida.. las corporaciones manejan el mundo, y estas actúan para su propio beneficio.. El banco mundial presta dinero, y después hay que pagarlo.. que tenga relacion uno con otro es de esperarse..

Bueno, Karen Hudes dice más que eso, ella afirma que los "magnates" del banco mundial son reptilianos xD, algo que no resulta nada sensato de creer, pero por otro lado tambien es sentato dudar y hacerse la siguiente pregunta...
¿Qué necesidad tiene de mentir una persona a la que no le flata nada economicamente? (recordemos que trabajaba en ese banco, y según parece perdió su trabajo por afirmar eso).

Solo quería aclarar el dato, no pretendo desvirtuar el tema principal.

Saludos!
#5418
¿A que diferencia te refieres exactamente?.

En ambos códigos el tuyo y el de aquella url se llama al mismo método 'Windows.Forms.Control.InvokeRequired' y 'Windows.Forms.Control.Invoke', le pasas el delegado y al compilar se generan las mismas instrucciones IL que internamente determinan lo mismo, hallar el handle del control/form para descubrir a que thread pertenece.

No hay diferencia alguna en lo que se refiere a eficiencia, tampoco por que le pases un delegado con la referencia del método o una expresión lambda.

Ahora, deberías seguir los ejemplos de buenos hábitos, es decir, invocar el control y no el form (aunque eso no afecta para nada al rendimiento pero puede resultar en confusión), y ademas añadir una verificación antes de invocarlo:

Ejemplo en VB.Net
Código (vbnet) [Seleccionar]
Dim msg As String = "" & ComboBox1.SelectedItem() ' No es necesario invocar para leer.

Select Case Me.TextBox1.InvokeRequired

 Case True ' Invoco para modificar la propiedad.
     Me.TextBox1.Invoke(Sub() Me.TextBox1.Text = msg)

 Case Else
     Me.TextBox1.Text = msg

End Select


Traducción online a C#:
Código (csharp) [Seleccionar]
string msg = "" + ComboBox1.SelectedItem(); // No es necesario invocar para leer.

switch (this.TextBox1.InvokeRequired) {

case true: // Invoco para modificar la propiedad.
this.TextBox1.Invoke(() => this.TextBox1.Text == msg);
break;

default:
this.TextBox1.Text = msg;
break;
}


Si quieres reducir el código para no tener que estar escribiendo siempre lo mismo, puedes desarrollar un método genérico cómo este:

Código (vbnet) [Seleccionar]
   ''' <remarks>
   ''' *****************************************************************
   ''' Snippet Title: Control Invoker
   ''' Code's Author: Elektro
   ''' Date Modified: 03-April-2015
   ''' Usage Example:
   ''' ControlInvoker(TextBox1, Sub(tb) tb.Text = "Hello World!")
   '''
   ''' ControlInvoker(TextBox1, Sub(tb As TextBox)
   '''                              For x As Integer = 0 To 5
   '''                                  tb.AppendText(CStr(x))
   '''                              Next x
   '''                          End Sub)
   ''' *****************************************************************
   ''' </remarks>
   ''' <summary>
   ''' Executes an encapsulated method on the thread that owns the specified control.
   ''' </summary>
   ''' <typeparam name="T"></typeparam>
   ''' <param name="ctrl">The control to invoke.</param>
   ''' <param name="method">The encapsulated method to be called.</param>
   Public Sub ControlInvoker(Of T As Control)(ByVal ctrl As T, ByVal method As Action(Of T))

       If ctrl.InvokeRequired Then
           ctrl.Invoke(New Action(Of T, Action(Of T))(AddressOf ControlInvoker), ctrl, method)

       Else
           method(ctrl)

       End If

   End Sub


Traducción online a C#:
Código (csharp) [Seleccionar]
/// <remarks>
/// *****************************************************************
/// Snippet Title: Control Invoker
/// Code's Author: Elektro
/// Date Modified: 03-April-2015
/// Usage Example:
/// ControlInvoker(TextBox1, Sub(tb) tb.Text = "Hello World!")
///
/// ControlInvoker(TextBox1, Sub(tb As TextBox)
///                              For x As Integer = 0 To 5
///                                  tb.AppendText(CStr(x))
///                              Next x
///                          End Sub)
/// *****************************************************************
/// </remarks>
/// <summary>
/// Executes an encapsulated method on the thread that owns the specified control.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="ctrl">The control to invoke.</param>
/// <param name="method">The encapsulated method to be called.</param>

public void ControlInvoker<T>(T ctrl, Action<T> method) where T : Control
{
if (ctrl.InvokeRequired) {
ctrl.Invoke(new Action<T, Action<T>>(ControlInvoker), ctrl, method);

} else {
method(ctrl);

}

}


Ejemplos de uso en VB.Net
Código (vbnet) [Seleccionar]
ControlInvoker(TextBox1, Sub(tb) tb.Text = "Hello World!")

Código (vbnet) [Seleccionar]
ControlInvoker(TextBox1, Sub(tb As TextBox)
                         For x As Integer = 0 To 5
                             tb.AppendText(CStr(x))
                         Next x
                     End Sub)


Traducción online a C#:
Código (csharp) [Seleccionar]
ControlInvoker(TextBox1, tb => tb.Text == "Hello World!");

Código (csharp) [Seleccionar]
ControlInvoker(TextBox1, (TextBox tb) =>
{
for (int x = 0; x <= 5; x++) {
tb.AppendText(Convert.ToString(x));
}
})


Saludos.
#5419
Foro Libre / Re:
3 Abril 2015, 16:13 PM
Cita de: ivancea96 en  3 Abril 2015, 13:31 PM"Ver cosas que pueden incitar a suicidarte."
Vaya por Dios, la gente escucha 'deep web' y ya se pone a inventar cosas xD

Lo más curioso es lo de que algunos lo llaman "Zion", ¿así es cómo se llamaba la ciudad de Matrix, no?, imagino que va por ahí el tema,
es decir, que si entras al nivel "Zion" sales con revelaciones abrumadoras del gobierno y la humanidad, cómo las ""revelaciones"" de Karen Hudes,
mujer que se adentró en las profundidades de la economía a trabajar en uno de los bancos más grandes e importantes del mundo y descubrió un secreto que cambió su vida... si quieren conocer el resto, busquen sobre ella.

Ahí lo dejo.
#5420
Dudas Generales / Re: descargar cd/peli/juego
3 Abril 2015, 15:29 PM
Un CD de música cómo tal no lo vas a encontrar gratis, por que un CD de música es un producto comercial (no hablo de los artistas que se graban sus maquetas en un CD y si eres amigo ya tienes tú CD gratis, ni tonterías que no vengan al caso).

Si solo quieres escuchar (que no adquirir) de forma gratuita un CD comercial, entonces puedes acudir a cualquier servicio de venta online (ej: BeatPort), siempre hay muestras de todas las canciones de los CD's, aunque obviamente eso no es lo que entendemos por GRATIS, eso no existe.

Juegos gratuitos hay muchísimos, la tendencia es desarrollar mini-juegos en Flash y publicarlos gratuitamente, no cuesta nada encontrarlos con una simple búsqueda en Google, ¿cual es el problema?.

Saludos!