home *** CD-ROM | disk | FTP | other *** search
- (...)
-
- Unit DcLib;
-
- (* Febrero,Marzo-1994 *)
- (* Librería DcLib Versión 5.00 para Turbo Pascal 7 Modo Real *)
- (* ShareWare 1993,94 David Carrero Fernández-Baillo *)
- (* 26/03/1994, se corrigen errores en MayMin *)
-
- Interface
-
- Const
- VersionDcLib = '5.00'; (* Versión de la Librería *)
-
- Type
- RangoColor = 0..63;
-
- Function PulsarTecla : Boolean; { Remplaza a KeyPressed de Unit CRT }
- { ;Detecta cuando es pulsada una tecla }
- { ;Retorna true si al tecla es pulsada }
- Function LeerTecla : Char;
- Function EstadoBMay: Boolean;
- Function EstadoBNum: Boolean;
- Function EstadoBDes: Boolean;
- Function EstadoInsertar: Boolean;
- Function ActualColorBorde : RangoColor;
- Procedure CambiarColorBorde(colorBorde : RangoColor);
- Procedure BorrarPanCo(atri : Byte; ch : Char);
- procedure ActivarPaginaNB(Pagina : byte);
- Function NumLineasPan : Byte;
- procedure CursorXY(Columna, Linea : byte);
- Procedure PantallaOn;
- Procedure PantallaOff;
- procedure NoBlink1(OnOff:boolean);
- Procedure LCursorPXY (Var Pagina, X, Y: Byte);
- Procedure CursorPXY(Pagina, X, Y: Byte);
- Function LeerTeclaN: Word;
- Function LeerTeclaE: Word;
- Function TeclaPulsada : Word;
- Procedure CambiarEstadoInsertar(On: Boolean);
- Function MododeVideo: Byte;
- function PulsarTeclaExt :boolean;
- Function MaxX : Byte;
- Function MaxY : Byte;
- Function DondeX : Byte;
- Function DondeY : Byte;
- Procedure NewGotoXY(x,y : Byte);
- Function HayXY(x,y : Byte) : Char;
- Procedure vga50lineas;
- Procedure vga43lineas;
- Procedure vga25lineas;
- Procedure vga30lineas;
- Procedure VGAInversa;
- procedure BorrarBufferTec;
- procedure LineasPantalla( Lines : byte);
-
- Procedure Park1;
- (* Aparca la cabezas del disco de un modo *)
- Procedure Park2;
- (* Aparca la cabezas del disco de un modo distito al anterior y
- más fiable.*)
- Procedure Park3;
- (* Aparca la cabezas del disco de un modo igual al anterior, pero
- devuelve ya texto de finalización de proceso en Castellano *)
-
- Procedure Reset_PC0;
- Procedure Reset_PC1;
- Procedure ResetFrio0;
- Procedure ResetFrio1;
- procedure Reset_PC2;
- Procedure Reset_PC3;
-
- Procedure CalibrarRetardo;
- Procedure Retardo(Ms : Word);
- Procedure Sonido(Freq : Word);
- Procedure NoSonido;
- Procedure Nota(Freq, Dura : Word);
-
- (* Tipos y Variables de la función Num2Let *)
- Type
- Str255 = String[255];
- Str10 = String[10];
- Str3 = String[3];
- Str1 = String[1];
- Str80 = String[80];
- Str40 = String[40];
-
- (...)
- (* Fin de Tipos y Variables de la función Num2Let *)
-
- (* Variables para funciones Oscurecer y Restaurar *)
- (...)
- (* Fin de Variables para funciones Oscurecer y Restaurar *)
-
- (...)
-
- Function Num2Let(num:Real):Str255;
- Procedure OscureceryRestaurarPK(Velocidad:ShortInt);
- Procedure Oscurecer1(Velocidad:ShortInt);
- Procedure Restaurar1(Velocidad:ShortInt);
- Procedure ShellDosMenos;
- Procedure DibujarBarrasT( X, Y : Integer; NumeroOpe, Total : LongInt;
- Width : Integer; Carac : Char);
- (* Dibuja barras, ejemplos disponibles en breve
- x, y : Coordinates where to display the bar
- NumeroOpe : Número de veces para completar operación
- Total : Total % a completar
- Width : Tamaño máximo de la barra *)
- Function CopiarFichero( FicheroFuente, FicheroDestino : string) : ShortInt;
- (* Códigos que retorna : 0 No hay errores
- 1 Fuente y Destino son los mismos
- 2 No puedo abrir Fuente
- 3 No puedo crear Destino
- 4 error Durante la copia *)
- Function TamFichero(Fichero : String) : Longint;
- (* retorna -1 si el fichero no es encontrado *)
- function ExisteFichero(Fichero:string):boolean;
- {retorna true si existe el fichero}
- Function ExisteDirectorio( Dir: string ) : boolean;
-
- (...)
-
- function FicheroUnidad(Todo:string): string;
- function FicheroDirectorio(Todo:string): string;
- function FicheroNombre(Todo:string): string;
- function FicheroExt(Todo:string): string;
- function CompletarDirectorio(Dir:string):string;
- function NomFicValido(FN:string): shortint;
- {Comprueba ruta y nombre de fichero y retorna:
- -2 Ruta Valida, pero no especificó fichero
- -1 Ruta y nombre bien pero fichero no existe
- 0 Ruta y nombre bien y fichero existe
- 1 Unidad especificada no es correcta
- 2 Caracteres no válidos en ruta
- 3 Ruta inválida
- 4 Fichero no especificado
- 5 Caracteres ilegales en el nombre
- 6 Nombre es mayor de 8 caracteres
- 7 Extensión es mayor de 3 caracteres }
- function BorrarFichero(Filename:string): shortint;
- {Retorna: -1 Fichero no encontrado
- 0 Fichero borrado
- 1 Error - fichero no borrado }
- function RenombrarFichero(Oldname,NewName:string):shortint;
- {Retorna:: 0 Fichero renombrado
- 1 Fichero no encontrado
- 2 Error - fichero no renombrado }
- Procedure SalvaPantallas1;
- Procedure PantallaDiv4;
-
- Function RepCar(letra:Char; veces:Integer): String;
- Function Espacios(num:Integer): String;
- Function InverCar(Frase:String):String;
- Function MayMin(M : Boolean; Cadena : String): String;
- (* Devuelve una cadena en Mayúsculas o Minúsculas
- TRUE : Mayúsculas
- FALSE : Minúsculas *)
- Function NumEnCad(S: String): Boolean;
- (* Comprueba que en una cadena String exiten solo Números,
- TRUE : Solo hay números
- FALSE : No Solo hay números *)
- Procedure InterCadena(Var A, B: String);
- Function Left(X: String; Y: Integer): String;
- (* Función similar a la del BASIC Left$,
- Devuelve una subserie de una serie especificada y de longitud
- indicada en la función, a partir del extremo izquierdo *)
-
- Function Right(X: String; Y: Integer): String;
- (* Función similar a la del BASIC Right$,
- Devuelve una subserie de una serie especificada y de longitud
- indicada en la función, a partir del extremo derecho *)
- Function Int2Cad(Numero : longint; Tam : byte) : String;
- Function Real2Cad(Numero : real;Tam, Decimales : byte) : String;
- {13-3-94}
- type
- CadJust = (JIzquierda,JCentrado,JDerecha);
-
- Function HexCad (n: Word; count: Byte): String;
- Function OctCad (n: Word; count: Byte): String;
- Function BinCad (n: Word; count: Byte): String;
- Function HexCad1 (w : Word): String;
-
- Function FormatoPic(Entra,Pic:string;P:char): string;
- Function CadJ(CadJust:CadJust;Cad:string;Tamano:byte;chP:char):string;
- Function FormatoCortar(Entra:string;Comienzo,Longitud:byte; P:char):string;
- Function EsMay(K:word): boolean;
- Function EsMin(K:word): boolean;
- Function PrimeraMayPos(Cad : string): byte;
- Function PrimeraMay(Cad : string): char;
- Function UltimosCar(N:byte;Cad:string):string;
- Function PrimerosCar(N:byte;Cad:string):string;
- Function PrimerCarMay(Cad:string):string;
- Function HexenCad(Str:string):boolean;
- Function LongInst2Cad(Numero:longint):string;
- Function Longint2HexCad(Numero:longint):string;
- Function RealEnCad(Cad:string):boolean;
- Function Cad2Real(Cad:string):real;
- Function Cad2Int(Str:string):integer;
- Function Cad2Longint(Str:string):Longint;
- Function HEXCad2Longint(Str:string):longint;
-
- Implementation
-
- Uses Crt, Dos, CRCLIB;
-
- {$I DOS.IMP}
-
-
- {$I DcCRT.IMP}
- {$I DcPARK.IMP}
- {$I DcRESET.IMP}
- {$I DcSONI.IMP}
- {$I DcUtiles.IMP}
- {$I DcString.IMP}
-
- {$I DCLIB.COD}
-
- var tec : char;
-
- begin
- (...)
- begin
- Writeln('Error: CRC Incorrecto.'#7#7);
- Halt;
- end;
- Writeln;
- Writeln('Librería DcLib Versión 5.00.0 para Turbo Pascal 7.xx (TPU)');
- Writeln('Shareware 1993,94 David Carrero Fernández-Baillo');
- Writeln('Versión completa sin registrar');
- Writeln;
- Writeln('Versión No Registrada, completa, no tiene ninguna limitación');
- Writeln('Para eliminar este mensaje, ha que registrarse, consulta la');
- Writeln('documentación y el fichero Registro.500.');
- Writeln;
- Writeln('Pulsa tecla.'#7);
- Tec := ReadKey;
- end.
- (...) = falta parte el código