First commit 05/09/1999

This commit is contained in:
José David Guillén 2021-09-08 21:24:42 +02:00
commit ba40721193
5 changed files with 2125 additions and 0 deletions

1013
JDIR.BAK Normal file

File diff suppressed because it is too large Load Diff

1015
JDIR.CPP Normal file

File diff suppressed because it is too large Load Diff

BIN
JDIR.EXE Normal file

Binary file not shown.

88
JDIRECT.H Normal file
View File

@ -0,0 +1,88 @@
/*
Este fichero forma parte del Curso de C
Copyright (C) 1991 Grupo Editorial Jackson
Todos los derechos reservados
*/
/* JDIRECT.H: cabecera para utilizar las funciones de b£squeda en los */
/* directorios MS-DOS tanto con Quick C como con Turbo C. */
#if !defined(__JDIRECT_H_) /*incluye s¢lo si no est  ya incluido*/
#define __JDIRECT_H_
#include <dos.h>
typedef struct { /*define el tipo FileInfo: <1> */
char reserved[21]; /*espacio reservado para DOS*/
char atrib; /*atributos del fichero*/
struct { /*tiempo de la £ltima modific. <2>*/
unsigned int sec : 5;
unsigned int min : 6;
unsigned int hours : 5;
} time;
struct { /*fecha de la £ltima modific. <3>*/
unsigned int day : 5;
unsigned int month : 4;
unsigned int year : 7;
} date;
long size; /*dimensiones del fichero*/
char name[13]; /*nombre del fichero*/
} FileInfo;
#ifdef __TURBOC__ /*compila si Turbo C*/
#include <dir.h>
// #define FA_NORMAL 0 /*constante para ficheros 'normales'*/
/*convierte el tipo del puntero a datos del fichero: */
#define findfirst(p,b,a) findfirst(p,(struct ffblk *)b,a) /*<4>*/
#define findnext(b) findnext((struct ffblk *)b)
#else /*compila si Quick C*/
#include <direct.h>
#define FA_NORMAL _A_NORMAL /*convierte nombres const. atributos: */
#define FA_RDONLY _A_RDONLY /*s¢lo lectura*/
#define FA_HIDDEN _A_HIDDEN /*oculto*/
#define FA_SYSTEM _A_SYSTEM /*de sistema*/
#define FA_LABEL _A_VOLID /*etiqueta de volumen*/
#define FA_DIREC _A_SUBDIR /*directorio*/
#define FA_ARCH _A_ARCH /*archivo*/
/*convierte nombres funciones, cambia orden argumentos de findfirst: */
#define findfirst(p,b,a) (int)_dos_findfirst(p,a,(struct find_t *)b)
#define findnext(b) (int)_dos_findnext((struct find_t *)b) /*<5>*/
#endif /*fin opci¢n Turbo C / Quick C*/
#endif /*(si no incluido)*/
/* Notas sobre DIRECT.H:
<1> FileInfo es una estructura que contiene informaci¢n relativa a
un fichero, restituida por findfirst y findnext.
<2> La componente time es un int (16 bits) que contiene en realidad tres
valores, cada uno conservado en un grupo de bits adyacentes. El orden
de lectura de los bits depende del compilador, as¡ esta definici¢n no
es port til (aunque sirve tanto con Turbo C como con Quick C). Se
pod¡an escribir tambin simplemente los tres campos de bits como
componentes de la estructura FileInfo (sin utilizar la estructura
time), pero hemos preferido subrayar que los tres campos de bits
forman en conjunto un int: esto puede ser £til por comodidad de
manipulaci¢n (por ej. pasar time a una funci¢n).
<3> Ver nota 2.
<4> Este cast, desgraciadamente, le deja al compilador sin posibilidades
de comprobar los errores. S¢lo lo hemos utilizado para asegurar la
portabilidad entre Turbo C 2.0 y Quick C 2.0.
<5> Ver nota 4.
*/

9
README.md Normal file
View File

@ -0,0 +1,9 @@
#JDIR
*05/09/1999*
ToDo: wwtcf?
![screenshot](/JDIR.png "Screenshot")