Funcionar para ocultar y para demostrar el cursor en la pantalla

Data Recovery PRO DATA DOCTOR

Home | Order Online | Downloads | Contact Us | Software Knowledgebase

it | es | pt | fr | de | jp | kr | cn | ru | nl | gr


/* Funcionar para ocultar (y demostración) el cursor en la pantalla */

show_hide_cursor ( 32, 0 );

gotoxy(15,18);cprintf("[ %d ] Files Recovered...",
num);

/* search for the data until the ending sector of the disk */

while(loop<Sectors_in_HDD2)
{
/* Read one Sector (Sector No. = loop) */
readabsolutesectors ( 0x81, loop, 1, buffer );

gotoxy(19,16);cprintf("Scanning Sector Number = % ld",
loop);

if(kbhit())
{
show_hide_cursor ( 6, 7 ); /* Retrieve the
cursor before
Exit the program
*/
exit(0);
}

/* if specified header is found */
if((memcmp ( buffer, header,7))==0)
{

/* logic to provide the file name to automatically
create the files to save the recovered data */

strcpy(filename, path);
itoa(num,temp,10);
strcat(filename, temp);
strcat(filename,".DOC");
start_file=loop; /* starting sector of file */

gotoxy(5,19);cprintf("File Found..., Saving As %s",
filename);
num++;

////////////// File Close Conditions \\\\\\\\\\\\\\\\

file_size=0;
while( file_size<5000000)
{

loop++;
file_size+=512;
readabsolutesectors ( 0x81, loop, 1, buffer );

gotoxy(19,16);cprintf("Scanning Sector Number = % ld" ,
loop);

/* if file size reaches up to maximum size of 5MB */
if(file_size>=5000000)
{
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}

/* if footer of DOC file is found */
for(i=0;i<512;i++)
{
if( memcmp(buffer+i,DOC_footer,12)==0 )
{
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}
}

/* if another header is found */
if( memcmp(buffer,header,7)==0 )
{
loop=loop-1;
end_file=loop; /* Ending Sector of File */
Recover_the_file();/* write the data to file */
break;
}
if(kbhit())
{
show_hide_cursor ( 6, 7 );
exit(0);
}
}

}
loop++;
} ////////While Loop Ends Here

 

/* display message for completion of search and recovery */ if(loop>=Sectors_in_HDD2 )
{
gotoxy(17,23);cprintf("The Saving of files in the Disk is
Completed !!");
gotoxy(17,24);cprintf("Press Any Key to Exit...");
show_hide_cursor ( 6, 7 );
getch();
}

}

Comentarios sobre la codificación:

La geometría de la estructura es utilizada por la función getdrivegeometry usando 13H la extensión INTERNA, número 0x48 de la función para conseguir los varios parámetros del disco.

El diskaddrpacket de la estructura está para el formato del paquete de la dirección de disco, ser utilizado por los readabsolutesectors funciona.

La función getdrivegeometry (impulsión interna) es conseguir los parámetros de la impulsión del disco especificó la impulsión física del número de impulsión.

(char) peekb(0x0040, 0x0075) se utiliza encontrar el número de los discos duros conectados con la computadora, almacenada en la posición de memoria representada por el segmento 0040H: 0075H compensado. Si es total el número de los discos duros unidos es menos entonces mensaje y salida de error de dos exhibiciones.

Sectors_in_HDD2=getdrivegeometry (0x81); encuentra los varios parámetros del segundo disco duro físico (0x81) y de vueltas el número total de los sectores del disco.

La declaración si (acceso (trayectoria, 0)! = 0) comprueba la accesibilidad de la trayectoria dada por el usuario. ¡Si no existe el directorio de la destinación, la destinación se crea hasta un nivel y si la trayectoria dada comprobó por la condición si (mkdir (trayectoria)! se exhibe =0) es ilegal, mensaje de error.

Los nombres del archivo de los archivos automáticamente creados para ahorrar los datos recuperados se crean tales que los primeros tres caracteres de los archivos son dados el PTT por el strcat (trayectoria, “\ \ Ptt”); función. Se hace tan para evitar los nombres duplicados del archivo en el directorio de la destinación. Por lo tanto los nombres del archivo de archivos recuperados se dan en formato de “PTTxxxxx.DOC”

El show_hide_cursor de la función (32, 0); se utiliza ocultar el cursor de la pantalla donde el show_hide_cursor (6, 7); recupera el cursor de nuevo a la pantalla.


Los readabsolutesectors de la función (0x81, lazo, 1, almacenador intermediario); Lee un sector del segundo disco duro físico especificado por el lazo del número del sector.

Si el jefe del archivo se encuentra, start_file = lazo; fija el start_file a comenzar el número del sector del archivo que se recuperará. El programa sigue las tres condiciones dadas después, para encontrar el sector del conclusión del archivo:

  • Si el tamaño del archivo alcanza hasta máximo clasificar de 5MB
  • Si el pie del archivo del doc. se encuentra
  • Si se encuentra otro jefe


El número entero largo end_file es fijado al número del sector del conclusión del archivo por el end_file=loop; si cualquier una condición fuera de tres está satisfecha. Ahora los datos de los sectores, a partir de el número del sector start_file al número del sector end_file se ahorran al archivo con la función Recover_the_file ().

Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Data Recovery with & without Programming


Publishers of the Book
Number of Pages
ISBN
Price of the Book


BPB Publications, New Delhi, India
540
81-7656-922-4
$69.00 (Including Shipping Charges, Cost of Book and Other expenses, Free Source Code CD included with the Book)





Buy Data recovery Book

Previous page

page 1 | 2 | 3 | 4 | 5 | 6

Next page

© Copyright 2002-2005 DataDoctor.Biz

Home | Contact us | Downloads | Services | Resources | Terms and conditions | Site map

Website Data Recovery | recuperación de Datos | Récupération de données | Datenrettung | Recupero dati | データ復旧 | 데이터 복구 | 数据恢复 | Восстановление данных | De terugwinning van gegevens | Ανάκτηση δεδομένων
Sitemap Site map1 2 3 4 | Spanish1 2 3 | French1 2 3 | German1 2 3 | Italian1 2 3 | Portuguese1 2 3 | Japanese1 2 3 | Korean1 2 3 | Chinese1 2 3 | Russian1 2 3 | Dutch1 2 3 | Greek1 2 3
Data Recovery Book English | Spanish | French | German | Italian | Portuguese | Japanese | Korean | Chinese | Russian | Dutch | Greek