Regresar   Foro de marcianitos.org > Emuladores y programas de todo tipo > Sistemas operativos > MS-DOS

 
 
Old 31-ene-2007, 12:53   #51
Armenta
Moderador General
 
Avatar de Armenta
D_SKY:

Llamo a la funcion asi:

int resultado = copy_file_skyrules ("C:\\files\\seguridad\\AUTOEXEC.bak", "C:\\files\\AUTOEXEC.bat");
if( resultado == 1)
printf("OK!!!");
else
printf("ooOOoooOOoh!! xD");

ejecuto paso a paso con un breakpoint en el punto en el que coje el nombre del fichero, y lo coje, pero cuando va a abrir el origen no lo hace, retorna 0, sale de la funcion de copia y oooooooooooooh.

he probado a poner los ficheros directamente en vez de las variables char, y hace lo mismo.
que puede ocurrir?
   
Old 31-ene-2007, 14:45   #52
D_Skywalk
Moderador
 
Avatar de D_Skywalk
Supongo que te referías al archivo destino, que se abre después del origen.

El problema estaba aqui:
Code:
    if(!(fDestino = fopen(pDestino, "w"))) //sobreescribe si existe
Mira a ver si ahora tira xD

Un saludo y como te dije no está testeada, sino te va bien hago yo una pruebas y te doy una funcion funcional xDDD

UPDATE:
He hecho un pequeño programita en C y sin problemas compadre, función testeada
Lo único que le he añadiría, serían diferentes "returns" según el fallo, para capturar mejor el problema ocurrido y dar así información suficiente al usuario

Pd: recuerda que el path debe existir (esta función no crea directorios) y debe tener permisos de escritura (eso en MSDOS ningún problema, pero vamos que yo lo digo xD)

Editado por D_Skywalk en 31-ene-2007 a las 14:57.
   
Old 31-ene-2007, 16:05   #53
Armenta
Moderador General
 
Avatar de Armenta
nop, eso ya lo habia corregido, hasta ahi me llega, jejeje compilar compila y ejecuta bien, lo que no se es por que leches no coje el archivo de origen, la variable la he comprobado y tiene el nombre pero no lo lee, pasa directamente a return 0; como si el fichero no existiera.
   
Old 31-ene-2007, 21:40   #54
D_Skywalk
Moderador
 
Avatar de D_Skywalk
Quote:
Originalmente publicado por Armenta Ver post
nop, eso ya lo habia corregido, hasta ahi me llega, jejeje compilar compila y ejecuta bien, lo que no se es por que leches no coje el archivo de origen, la variable la he comprobado y tiene el nombre pero no lo lee, pasa directamente a return 0; como si el fichero no existiera.
si el problema ves que está ahí "debugea" la variable pOrigen a ver que contiene y sigu el trace :?

Yo en linux no tengo ningún problema, mañana te copio el código que he compilado y he comprobado que funciona de perlas

Un Saludo compa!
   
Old 31-ene-2007, 21:52   #55
Armenta
Moderador General
 
Avatar de Armenta
ese es el problema que la debugueo y contiene el nombre perfecto, es lo que me ralla.

mañana voy a intentarlo sin subdirectorios a ver que pasa por que hoy estoy con ganas de quemar este codigo, jejeje, gracias sky.
aprovecho, como llevas el driver para dos del interfz paralelo? tengo por aqui un tocho de libro, pc interno que igual te sirve, jejej
   
Old 01-feb-2007, 12:27   #56
D_Skywalk
Moderador
 
Avatar de D_Skywalk
jajaja, pues el que un día vi no creo que quepa por el buzón

Y no te desesperes hombre, vamos a ver compila este programejo a ver si tu entorno de trabajo es ansi c o que... xD
http://david.dantoine.org/ficheros/ages/copia.c

Respecto al OpenPPJoy para MSDOS, busca algún capítulo en el libro para hacer un TSR que es lo que en principio necesitamos
por cierto, ¿el sneskey de msdos tiene source disponible?

Un Saludo!
   
Old 01-feb-2007, 14:58   #57
Armenta
Moderador General
 
Avatar de Armenta
joder , ahora si, esto es la polla, dime que fallaba por favor, voya seuir haciendio pruebas
residente para dos puro y duro no?
nada de w98

en el pc interno 2.0 paginas 1048 a 1080 esta un ejemplo en c. otro en asm y otro en pascal de tsr, se activa con combinacion de teclas, ideal, la putada es que no encuentro el cd, a ver si este fin de semana con la limpieza...

atencion, detectado el fallo de lo de copia.c y del mio.

coje el archivo original y metelo dentro de 2 subdirectorios, y el otro solo dentro de 1. no lo pilla, si lis dos estan dentro de solo 1 subdirectorio si lo pilla.
como se puede arreglar? es algo de la cadena del nombre?

Editado por Armenta en 01-feb-2007 a las 18:32.
   
Old 02-feb-2007, 15:51   #58
Armenta
Moderador General
 
Avatar de Armenta
Alguna Novedad D_sky¿?
   
Old 02-feb-2007, 19:11   #59
Armenta
Moderador General
 
Avatar de Armenta
bubu, las modificaciones de los autoexecs y config.sys esta completada, solo me queda darme de leches con el advmame.rc espero la ayuda de d_sky para el tema de los subdirectorios.
   
Old 03-feb-2007, 17:15   #60
D_Skywalk
Moderador
 
Avatar de D_Skywalk
Pues seguramente sea de como pones la cadena, hazme un copy&paste.

Pero vamos que deberia de ir con un simple:
Code:
copia.exe C:\config\advance.rc C:\config\csegs\advance.rc-1
Yo en linux hago:
Code:
copia /home/david/advance/advance.rc /opt/csegs/advance.rc-1
Y funciona sin problemas...

Asi que sino tira será que ese compilador no seguirá el estandar ANSI C y habrá que hacer algún parchecillo para que funcione en MSDOS :_?

Un Saludo compa