Menu   Welcome on Na-Prod.com
 

Exemples de Codes

Voici un exemple simple d'explorateur. Il indique tout les fichiers situés dans les lecteurs de A: a Z:. Il indique Vide si le lecteur n'existe pas ou s'il est effectivement vide.

Explorateur Simple

/* Exemple d'explorateur pour G100 ou Dos ou Windows ! */
//---------Code By Na-Prod
----------
#include <stdio.h>
#include <dir.h>
#include <dos.h>
void far handler()
{
_hardresume(_HARDERR_FAIL);
}
int main(void)
{
struct ffblk ffblk;
int i;
int done;
int cur;
int nbdisk;
_harderr(handler); //pour ne pas afficher l'erreur lors de la recherche des fichiers
clrscr();
printf("Na-Tst-Explorer\n");
getch();
cur=getdisk();
nbdisk=setdisk(cur);
for(i=0;i<nbdisk;i++){
clrscr();
setdisk(i);
if(i!=getdisk()) goto nextdsk;
printf("Disque %c:\n",i+0x41);
done = findfirst("*.*",&ffblk,0);
while (!done)
{
printf(" %s\n", ffblk.ff_name);
done = findnext(&ffblk);
}
goto endfor;
nextdsk:
printf("Disque %c:Empty\n",i+0x41);
endfor:
getch();
}
setdisk(cur);
return;
}

Voici une code simple pour touver les divers arguments de ligne commande, les paramatres systemes,
le segment psp, la Version Dos et les differentes valeurs des registres CS/DS/ES

System Information
/* Sys Infos by Na-prod */
#include <dos.h>
#include <stdio.h>
#include <conio.h>
void main(char argc, char *argv[], char *envp[]){
extern unsigned char _osmajor;
extern unsigned char _osminor;
extern unsigned int _psp;
int i;
printf("Dos version:%i.%i\n",_osmajor,_osminor);
getch();
printf("Psp Address:h%X\n",_psp);
getch();
printf("CS Value:h%X\n",_CS);
getch();
printf("DS Value:h%X\n",_DS);
getch();
printf("ES Value:h%X\n",_ES);
getch();
printf("Arg Number:%X\n",argc-1);
getch();
if(argc>1){
printf("List:\n");
for(i=1;i<argc;i++) printf("->%s\n",argv[i]);
getch();
}
printf("Env Params:\n");
for(i=1;envp[i]!=NULL;i++) printf("->%s\n",envp[i]);
getch();
printf("Key to quit...\n");
getch();
}