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 - raul338

#2251
o sea que tu quieres hacer una onda asi Juego en youtube con la wiimote

Pon algun control reproductor de video (ej: el de window media player, o apredende usar DirectShow de DirectX) y entonces por codigo le indicas que vaya a tal segundo, o tal fotograma

Nunca use esas cosas, pero si buscas en internet encontraras ejemplos, con un reproductor de video alcanza, ya por codigo aunque sea pones "IrA(segundo), pausa"
#2252
Cita de: Azielito en  6 Abril 2010, 23:57 PM
bio-hacker.net xDDDDDDDD

jajaja xD buenisima, un logo ambientalista (?
#2253
Dia del trabajdor ? no se me ocurre otro, entonces PORNO! :xD jajaja
#2254
Código (csharp) [Seleccionar]

// Generamos el archivo
StreamWriter sw = new StreamWriter(Application.StartupPath + Path.DirectorySeparatorChar + "archivo3.txt", false);
sw.Write("".PadLeft(93) + "Hola, esto es un ejemplo" + "".PadLeft(100, '0'));
sw.Flush();
sw.Close();

// .................................................
// En otro codigo (otro boton, etc, sino genera error con el "sw" anterior
// .................................................

// Parametros
int offsetInicio = 93;
int offsetFinal = 110;
int repeticiones = 4;
// esta demas, pero es que en .net piden la longitud, no la ubicacion final :P
int lenOffset = offsetFinal - offsetInicio;

FileStream sr = File.Open(Application.StartupPath + Path.DirectorySeparatorChar + "archivo3.txt", FileMode.Open);
// Va hacia el inicio del offset
sr.Seek(offsetInicio, SeekOrigin.Begin);
byte[] frase = new byte[lenOffset];
// Copiamos los 17 caracteres
sr.Read(frase, 0, lenOffset);
sr.Seek(0, SeekOrigin.Begin);

FileStream sw = File.Open(Application.StartupPath + Path.DirectorySeparatorChar + "archivo4.txt", FileMode.Create);
// Copiamos lo que estaba antes del offset
while (sr.Position < offsetFinal)
{
   sw.WriteByte(Convert.ToByte(sr.ReadByte())); sw.Flush();
}

// repetimos el offset
for (int i = 0; i <= repeticiones; i++)
{
   sw.Write(frase, 0, frase.Length); sw.Flush();
}

// copiamos el resto del archivo
while (sr.Position < sr.Length)
{
   sw.WriteByte(Convert.ToByte(sr.ReadByte()));sw.Flush();
}

sw.Close();
sr.Close();


Espero que te sirva :)
#2255
:| no entendi, lo que quieres hacer es sobreescribir un archivo entre tal y tal bytes?.... seria lo mismo, usa seek(poscicionByteInicial, seekOrigin.Begin) y escribe tu frase (Usa System.Encoding.ASCII.GetBytes para obtener un array de bytes de la frase) y si la frase no llega a completar el bloque (supongamos, son 10 bytes reservados y tu solo llenas 4), escribe los bytes sobrantes con bytes nulos (0)

#2256
Usando la propiedad TransparentKey (o algo asi :P) en el color de fondo (el color que quieras que se haga transparente)
#2257
Código (csharp) [Seleccionar]

// Crea un archivo
private void button1_Click(object sender, EventArgs e)
{
   StreamWriter sw = new StreamWriter(Application.StartupPath + Path.DirectorySeparatorChar + "archivo.txt", false);
   sw.Write("".PadLeft(50, '5'));
   sw.Flush();
   sw.Close();
}

// Le saca los primeros 14 bytes y los pone en otro archivo
private void button2_Click(object sender, EventArgs e)
{
   FileStream sr = File.Open(Application.StartupPath + Path.DirectorySeparatorChar + "archivo.txt", FileMode.Open);
   sr.Seek(14, SeekOrigin.Begin);
   FileStream sw = File.Open(Application.StartupPath + Path.DirectorySeparatorChar + "archivo2.txt", FileMode.Create);
   while (sr.Position != sr.Length)
       sw.WriteByte(Convert.ToByte(sr.ReadByte()));
   sr.Close();
   sw.Close();
}


Funciona, y espero que te sirva :)

EDIT: no vi la anterior respuesta, esta desarrondo la mia jaja
Ese convert.ToByte esta porque extrañamente ReadByte devuelve un integer :¬¬

Espero que las 2 respuestas te sirvan :)
#2258
Usa el namespace System.IO y la clase streamReader y streamWriter
ahora, una pregunta, quieres que sea del mismo tamaño (14 bytes vacios al principio) o sin los 14 bytes del principio? es medio existencial mi duda jeje

igual, de todas formas seria algo asi (es codigo hecho al vuelo, puede que haya mas de un error :xD)

Código (csharp) [Seleccionar]

StreamReader archivoOriginal = File.Open("archivo", FileMode.Open);

// Para escribir el mismo archivo sin las primeras 14 lineas
archivoOriginal.Seek(14, SeekOrigin.Begin); // Mueve al byte 14

StreamWriter archivoDestino = File.Open("archivoNuevo", FileMode.CreateNew);

// --- Para escribir 14 bytes vacios al principio agrega esto -------
int bytes[] = new int[14];
for (int i = 0; i < bytes.Length; i++)
    bytes[i] = 0;

archivoDestino.Write(bytes);
archivoDestino.Flush();
// -----------------------------------------------------------------------

archivoDestino.Write(archivoOriginal.ReadToEnd());
archivoDestino.Flush();
archivoDestino.Close();
archivoOriginal.Close();


Espero que te sirva!!!
#2259
.NET (C#, VB.NET, ASP) / Re: modulos vb 9
3 Abril 2010, 07:09 AM
Cita de: Alex@ShellRoot en  3 Abril 2010, 05:07 AM
What the fuck is this!
Tienes que agregar el modulo, dentro de la aplicación, despues para usar la función, la instancias.!
Wtf!!
Los modulos no se instancian, son estaticos xd

Para agregar un modulo debes ir al explorador de soluciones y hacerle click derecho, eliges agregar - modulo.
Y ahi escribes tus funciones para llamarlas de cualquier lado (respetando los modificadores de scope/ambiente)
#2260
Los metodos estaticos son precisamente para que puedas acceder sin referencias a la clase. Como la clase MessageBox o Console. pero los metodos estaticos solo pueden acceder a propiedades estaticas (mala practica :P), los metodos comunes pueden acceder a los 2.

Una solucion que se me ocurre, es que te armes un sub main principal (o un formulario que controle todo) y de ahi pasas los valores entre referencias. Algo asi (es pseudo codigo):

Código (csharp) [Seleccionar]

int main() { // Esto se parece a C xD
   FormPrincipal frmPrincipal = new FormPrincipal();
   if (frmPrincipal.ShowDialog() == DialogResult.OK) {
       FormularioQueHaceElTrabajo frmWorker = new FormularioQueHaceElTrabajo();
       frmWorker.Parametros = frmPrincipal.ParametrosElegidos; // Aca pasamos los datos mediante propiedades
       frmWorker.Trabajar();
       frmWorker.Dispose();
   }
   frmPrincipal.Close();
   frmPrincipal.Dispose();
}


Se entiende? Claro, asi es simple, si quieres hacer algo mas "complejo" puedes trabajar con eventos y llamarlos desde el sub main y entrar un bucle infinito (ver la clase program que se crea cuando hacemos un proyecto de formularios) y listo :P salir cuando el form lo indique