• Martes 16 de Agosto de 2022, 02:29

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - proxy_lainux

Páginas: [1]
1
C/C++ / Re: como creo un executable con "wb"
« en: Miércoles 17 de Junio de 2009, 02:16 »
hola m0skit0

ahorita tengo varias cosas que hacer, y no voy a poder continuar por lo menos durante 15 dias mas o menos... asi que si no posteo algo es porque estare ocupado, pero espero me puedas seguir ayudando despues  :good:

y gracias por la ayuda, mientras tratare de pensar en algo, ok

bueno, salu2 y nuevamente... gracias por la ayuda

nos vemos  :D

2
C/C++ / Re: como creo un executable con "wb"
« en: Lunes 15 de Junio de 2009, 19:48 »
hola

jeje..  :P  lo de for como lo mencione, no tenia idea, pero me imagine algo asi para partir len en bytes... pero ya que me explicaste eso...  no entiendo como podria ir copiando parte por parte.. mira este codigo que hice, me copia bien archivos menores de 1mb

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5.  
  6. FILE *entrada;
  7. FILE *salida;
  8. unsigned long pos, i, len;
  9. unsigned char buf[1000000];
  10.  
  11. entrada = fopen("lie.tar.gz","rb");
  12.  
  13. pos = ftell(entrada);
  14. fseek(entrada,0,SEEK_END);
  15. len = ftell(entrada);
  16. fseek(entrada,pos,SEEK_SET);
  17.  
  18. for(i = 0; i < len; i++){
  19. fread(buf,sizeof(buf),1,entrada);
  20. }
  21. close(entrada);
  22.  
  23. salida = fopen("true.tar.gz","wb");
  24. fwrite(buf,len,1,salida);
  25. fclose(salida);
  26. }
  27.  

y me imagino que para algo optimo, tendria que ir copiando de 512 kb a 1mb no?... y con este codigo he logrado copiar archivos que no sobrepasen 1mb... y creo que aqui es donde tengo que ir copiando mb por mb para ir escribiendo en fwrite no? ya que he intentado copiar archivos de mas de 10mb pero el buffer es muy pequeño

pero como podria decirle a fread que me lea 1000000 caracteres... que me los mande a fwrite ( me imagino que tendre que utilizar zeromemory o memset para borrar el buffer ) y como continuar leyendo con fread, para repetir todo hasta terminar de copiar el archivo...

se me ha ocurrido algo con while y con if... pero cuando continuo me encuentro con algun error  :(

alguna idea?

salu2  :D

3
C/C++ / Re: como creo un executable con "wb"
« en: Domingo 14 de Junio de 2009, 19:30 »
hola

jeje  :P  lo siento, tratare de cambiar los nombres de las variables...

y bueno, con respecto a lo que me mencionas... pues a mi lo que se me ocurre es partir len en partes de un byte "por ejemplo"... y hacer que fread vaya leyendo byte por byte... y por cada byte leido, mandarlo a fwrite y borrar la informacion del buffer para volver a leer otro byte y mandarlo a fwrite y asi continuamente hasta finalizar con el archivo, y asi de esa manera podria crear un buffer pequeño que vaya leyendo y escribiendo la informacion...

el problema es que no se dividir el archivo en secciones de 1 byte, seria algo asi?

Código: C
  1. for (i = 0; i < len / 10000; i++)
  2.  

jeje, bueno la verdad no tengo idea, pero me imagine esto.. jeje  :P

la duda que tengo es, si necesito leer con fread la informacion del archivo, como podria hacer que antes de mandarlo a fwrite, lo guarde en algun lado para concatenarlo con una firma, para despues leer el archivo que voy a unir y concatenarlo

por ejemplo

Código: C
  1. strcpy(final,archivo);
  2. strcat(final,[#==#]
  3. strcat(final,archivo2);
  4.  

archivo seria, el programa que va a extraer los demas archivos, "unjoiner"
despues vendria la primera firma
y archivo2 seria el archivo que se va a extraer

bueno.. tengo pensado solo utilizar la variable archivo, y despues borrarle la informacion y volverlo a usar para no repetir tanto codigo, pero lo pongo asi para darme a entender mejor

me imagino que despues tengo que utilizar strlen para sacar la longitud de la variable final y entonces finalizar con fwrite ¿no?

Código: C
  1. lenfinal += strlen(final)
  2.  
  3. fwrite(final,lenfinal,1,salida);
  4.  

o habra otra forma de leer el contenido del archivo para hacer lo de copiar, concatenar, etc..?

salu2  :lol:

4
C/C++ / Re: como creo un executable con "wb"
« en: Viernes 12 de Junio de 2009, 18:37 »
hola

gracias por la explicacion... mira ya mas o menos entendi... pero tengo una duda, hice esto, y el archivo de hola mundo se copia bien

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5.  
  6. FILE *j;
  7. FILE *h;
  8. unsigned long  i;
  9. char g[10000];
  10.  
  11. j = fopen("hola","rb");
  12.  
  13. while(!feof(j)){
  14. fgetc(j);
  15. i++;
  16. }
  17. fseek(j,0,SEEK_SET);
  18. fread(g,sizeof(g),1,j);
  19.  
  20. close(j);
  21.  
  22. h = fopen("hola2","wb");
  23. fwrite(g,i,1,h);
  24. fclose(h);
  25. }
  26.  


pero si intento copiar archivos grandes al revisarlos en propiedades el tamaño del archivo es 0... me imagino que es por

Código: C
  1.  
  2. char g[10000];
  3. }
  4.  

y por

Código: C
  1. while(!feof(j)){
  2. fgetc(j);
  3. i++;
  4. }
  5.  

me dijeron que para saber el tamaño exacto del codigo que hiciera esto

Código: C
  1.  
  2. unsigned long i, pos, len;
  3. unsigned char g;
  4.  
  5. j = fopen("join.rar","rb")
  6.  
  7. pos = ftell(j)
  8. fseek(j,0,seek_end);
  9. len = ftell(j);
  10. fseek(j,pos,seek_set);
  11.  
  12.  

y me quedaria asi el codigo

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5.  
  6. FILE *j;
  7. FILE *h;
  8. unsigned long pos, i, len;
  9. unsigned char g;
  10.  
  11. j = fopen("hola","rb");
  12.  
  13. pos = ftell(j);
  14. fseek(j,0,SEEK_END);
  15. len = ftell(j);
  16. fseek(j,pos,SEEK_SET);
  17.  
  18. for(i = 0; i < len; i++){
  19. fread(&g,1,1,j);
  20. }
  21. close(j);
  22.  
  23. h = fopen("hola2","wb");
  24. fwrite(&g,i,1,h);
  25. fclose(h);
  26. }
  27.  

el problema es que tampoco funciona a menos de que haga esto

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5.  
  6. FILE *j;
  7. FILE *h;
  8. unsigned long pos, i, len;
  9. unsigned char g;
  10.  
  11. j = fopen("Lie.rar","rb");
  12. h = fopen("hola2.rar","wb");
  13.  
  14. pos = ftell(j);
  15. fseek(j,0,SEEK_END);
  16. len = ftell(j);
  17. fseek(j,pos,SEEK_SET);
  18.  
  19. for(i = 0; i < len; i++){
  20. fread(&g,1,1,j);
  21. fwrite(&g,1,1,h);
  22. }
  23.  
  24. close(j);
  25. fclose(h);
  26. }
  27.  

si ven incluso puedo copiar archivos grandes.... pero porque el otro codigo no me funciono, que estoy haciendo mal, y el primer codigo porque no puedo copiar archivos grandes

es que necesito leer varios archivos y al final usar fwrite, pero no se que estoy haciendo mal... es que estoy tratando de aprender como hacer un joiner... porque como nose como manejar bien fseek, y uso de ficheros, etc..  imagine que haciendo un joiner podre aprender mas... y por lo que pueden ver apenas estoy aprendiendo a copiar un fichero

espero me puedan explicar porfavor

salu2

5
C/C++ / como creo un executable con "wb"
« en: Jueves 11 de Junio de 2009, 21:07 »
hola

tengo una duda, como puedo crear un archivo executable...

miren hice este codigo que nose si este bien... pero supuestamente lee el archivo que quiero... y no se como crear un archivo nuevo con la informacion de otro executable... por ejemplo

tengo el clasico hola mundo

Código: C
  1. #include <stdio.h>
  2.  
  3. int main(){
  4.  
  5. printf("hola mundon");
  6. }
  7.  

y tengo este codigo que como menciono, lee el archivo de hola mundo

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main(){
  5.  
  6. FILE *j;
  7. int arg;
  8.  
  9. j = fopen("hola","rb");
  10.  
  11. arg = fgetc(j);
  12. while(!feof(j)){
  13. fputc(arg,j);
  14. arg = fgetc(j);
  15. printf("%c",arg);
  16. }
  17. fclose(j);
  18. }
  19.  

pero quisiera saber como puedo hacer que el segundo codigo me haga un nuevo executable con "wb", que contenga la misma informacion de hola mundo

Código: C
  1. fclose(j);
  2. nw = fopen("nuevo","wb");
  3.  

en otras palabras quiero hacer un programa que me diga "hola mundo", otro que abra, lea y haga un nuevo executable con la informacion de "hola mundo" y que ese nuevo executable tambien al executarlo me muestre "hola mundo"

alguien sabe que tengo que hacer?, por cierto si me lo pueden explicar para linux, se los agradeceria muchisimo..

salu2 :)

6
Perl / Re: consejo sobre IMAP y pregunta sobre POP3Client
« en: Domingo 17 de Mayo de 2009, 08:51 »
hola

se me olvido especificar cosas

lo que hago es abrir un fichero open(MAIL, "<mail,txt") y guardo los datos en un array

chomp(my @mem1 = <MAIL>);

y los uso donde corresponden

USER => mem1[0],
PASS => mem2[1],

y head le coloco por ahora el numero del mensaje que quiero ver

foreach($reco->Head(1))

solo que no se si para revisar cada mensaje, hay la posibilidad de mantener la conexion activa de mi correo para solo pedirle a Head y Body que me muestre el mensaje que quiero, mediante signal_connect de un boton.

el numero del mensaje sera tomado con get_text de una caja de texto, porque uso Count() en un label para saber la cantidad de mensajes de mi correo, y solo me faltaria colocar el numero del mensaje en un Entry para que al presionar un boton, me muestre el mensaje, pero como menciono nose si es posible mantener la conexion activa para solo tener que usar Head y Body, o tengo que conectarme a mi correo para ver cada mensaje

por ejemplo

tengo que hacer siempre esto por cada mensaje

Código: Perl
  1. signal_connect(clicked => sub{
  2. $mejs->get_text;
  3.  
  4. $reco = Mail::POP3Client->new(USER => $mem1[0],
  5.                               PASSWORD => $mem1[1],
  6.                               HOST => $mem1[2],
  7.                               USESSL => $mem1[3],
  8. );
  9.  
  10. foreach($reco->Head($mejs)){
  11. $buff1->insert_at_cursor(/^(Subject):s+/&& $_);
  12. $tev2->set_buffer($buff1);
  13. $reco->Close;
  14.  

o hay la forma de hacer esto

Código: Perl
  1. signal_connect(clicked => sub{
  2. $mejs->get_text;
  3.  
  4. foreach($reco->Head($mejs)){
  5. $buff1->insert_at_cursor(/^(Subject):s+/&& $_);
  6. $tev2->set_buffer($buff1);
  7. $reco->Close;
  8.  

si ven ya no me tengo que conectar todo el tiempo, solo le pide a Head y Body cual mensaje quiero ver

y sobre lo de gtk de la segunda ventana, lo que pasa es que cuando lo oprimo se guarda los datos de mi correo, como usuario, contraseña,etc, pero tengo que cerrarla despues de oprimir, con los botones de arriba, y me gustaria que al oprimir el boton se cierre esa ventana para poder usar la primera...

7
ASM (Ensamblador) / algun tutorial con teoria y ejemplos?
« en: Viernes 15 de Mayo de 2009, 08:04 »
hola

alguien conoce algun buen tutorial de nasm, es que quisiera aprender asm en linux, y por lo que veo tendre que aprender en win y con masm, porque tampoco encuentro informacion de fasm...

o alguien conoce algun buen tutorial de nasm y/o fasm?, y que no haya solo teoria o ejemplos, sino que haya las dos cosas, teoria y ejemplos

salu2

8
Perl / consejo sobre IMAP y pregunta sobre POP3Client
« en: Viernes 15 de Mayo de 2009, 07:36 »
hola

dos preguntas, cual modulo me recomiendan usar para revisar mi correo, ahorita estoy usando Mail::POP3Client, y me dijeron que si queria revisar  mi correo y revisar bandeja de entrada, basurero, borradores, etc, que mejor usara IMAP, pero cual modulo de IMAP me recomiendan usar?

Tambie quisiera saber si es posible hacer esto... para revisar un mensaje hago esto

$reco = Mail::POP3Client->new(USER => $mem1[0],
                              PASSWORD => $mem1[1],
                              HOST => $mem1[2],
                              USESSL => $mem1[3],
);

foreach($reco->Head(1)){
$buff1->insert_at_cursor(/^(Subject):s+/&& $_);
$tev2->set_buffer($buff1);
$reco->Close();
}

pero quisiera que en un TextEntry al escribir algun numero y al oprimir un boton, Head reciba el numero y me muestre el mensaje 4... pero no se si tengo que repetir todo el codigo de Mail::POP3Client en signal_connect del boton, o hay alguna manera de que siempre se mantenga conectado y solo al oprimir el boton Head retome el numero y me muestre el mensaje?

yo hacia algo parecido en C y usaba un while para que el socket se mantuviera conectado, pero en perl no se si se pueda hacer lo mismo, o sera que tengo que conectarme mediante el modulo POP3Client a mi cuenta por cada mensaje que quiera revisar?

y la segunda, es que al realizar una ventana con gtk... con un boton ejecuto una funcion donde hago otra ventana, pero no se de que manera cerrar la segunda ventana sin cerrar la primera

ya que Gtk2->main_quit;
y
exit;

me cierran todo, y lo que quiero es cerrar unicamente la segunda ventana, alguien sabe como hacer eso?

salu2  :lol:

9
C/C++ / como descargo archivos adjuntos en c y con pop3
« en: Sábado 11 de Abril de 2009, 19:54 »
hola

estoy haciendo una aplicacion en C para leer mi correo mediante pop3, pero alguien sabe como puedo descargar a mi computadora un archivo adjunto?

10
ASM (Ensamblador) / conocen algun manual como el de Charte Ojeda?
« en: Martes 30 de Diciembre de 2008, 07:21 »
hola

alguien tiene algun manual como este
Ensamblador para DOS, Linux y Windows de Francisco Charte Ojeda

o alguno parecido, es que en google encuentro manuales, pero son muy teoricos y algunos tienen ejemplos, pero me gustaria saber si hay alguno como los manuales de C/C++ que te van mostranto por ejemplo el clasico hola mundo, y te dicen porque la libreria, donde va, porque int main, porque printf... etc y como vayas avanzando te van mostrando la teoria con ejemplos, alguien conoce alguno asi?

tambien quisiera saber... si empiezo a aprender con masm, se me hara dificil despues cambiarme a otro como fasm?, es que hay mas info para masm, pero me gustaria programar en fasm y no se que tan dificil sea despues el cambio...

espero me puedan ayudar, gracias

salu2  :D

Páginas: [1]