-
PROGRAMA SISTEMATIZADO PARA I-A ADMINISTRACIÓN DE CAMIONES
CON MOTOR DIESEL PARA LA EMPRESA TRANSEMPAQUES LTDA.
JOSÉ DARIO BARRAZA BURGOS
AMANSIO ARTURO AGUIIAR
lgl "'S¿Y.il8"ov
| ililültütütüiltr|[trtrilüluilil
CORPOR^ACIÓN UNIVERSITARIA AUTÓNOMA DE OCCTDENTE
DMSIÓN DE INGENIERÍAS
TNGEN|ERíA nneCÁMce
SANTIAGO DE CALI
027 51:¿
1997
-
PROGRAMA SISTEMATIZADO PARA 1.A ADMINISTRACóN DE CAMIONES
CON MOTOR DIESEL PARA Iá EMPRESA TRANSEMPAQUES LTDA.
JOSÉ DARIO BARRAZA BURGOS
AMANSIO ARTURO AGUILAR
Trabajo de Grado para optar al título deIngeniero Mecánico
DirectorCARLOS APONTE
Ingeniero Mecánico
CORPORACIÓN UNIVERSITARIA AUTÓNOMA DE OCCIDENTE
DMSIÓN DE INGENIERíAS
INGENIERíN MECÁrurcE
SANTIAGO DE CALI
1997
-
f,n\
tI..
\:
t]$
t'-\¡$
\I\
T/ ,f/6'6#)
/
G!nP*
jAprobado por el comité de trabajo de grado encumplimiento de los requisitos exigidos por laCorporación Universitaria Autónoma deOccidente para optar el titulo de IngenieroMecánico.
Director Tesis.
t\
r\t
\\Jñ
Santiago de Cali,Nov. de 1997
-
DEDICATORIA
Este logro se lo dedico en especial a mis padres ,mí
esposa y a mí hijo Santiago.
En especial dedico este logro a aquellas personas con
las que he compartido tantos momentos gratos como
dificiles en mí vida ,y siempre han estado cerca de mí
brindandome su apoyo.
Los quiero mucho" A MI FAMILIA "
AMANSIO ARTURO.
-
DEDICATORIA
A mis padres Juan y Elvira Rosa por el apoyo y el afectoque me brindaron a lo largo de mí carrera.
A mis hermanos por su cariño y apoyo para nuestra su-
peración.
A todas estas personas agradezco de corazón y alas que
de una u otra forma estuvieron a mí lado.
Que Dios los bendiga
JOSE DARIO
-
AGRADECIMIENTOS
-Al Ing. CARLOS APONTE , Director de Tesis
-A la empresa TMNSEMPAQUES LTDA.
-A | | ng. ALEJANDRO DE AYALA ,lng. de sistemas.
-
CONTENIDO
1. RESEÑA HISTÓRICA DE LA EMPRESATMNSEMPAQUES LTDA.
2. GENERALIDADES.2.1 MANTENIMIENTO PREVENTIVO.3. JUSTIFICACIÓN DEL PROGRAMA DE
MANTENIMIENTO.4. OBJETIVO DEL PROGMMA.5. CONTROL DEL PROGMMA.6. HISTORIA DEL MOTOR DIESEL.7. MANUAL DE USUARIO DEL PROGRAMA7.1 INTRODUCCION7.2 REQUISITOS DEL EQUIPO7.3 INSTALACION7.4 COMO ENTRAR AL PROGRAMA7.5 ARCHIVO7.5.1 NUEVO VEHICULO7.5.2 LEER DATOS DE VEHICULO7.5.3 GUARDAR DATOS DE VEHICULOS7.5.4 LEER DATOS DE GASTOS7.5.5 GUARDAR DATOS DE GASTOS7.5.6 EDITAR TABLAS7.5.7 VER VEHICULOS7.5.8 COMANDOS DOS7.5.9 FECHA Y HORA7.5.10 SALIRSE DEL PROGRAMA7.6 DATOS.7.6.1 DATOS DEL VEHICULO7.6.2 PROGRAMA DEL VEHICULO7.6.3 HISTORIA DEL VEHICULO7.6.4 INFORME DIARIO DE COMBUSTIBLE7.6.5 DATOS DE MANTENIMIENTO7.6.6 GASTOS DE VEHICULOS7.7 RESULTADOS7.7,1 IMPRIMIR PROGMMACION DE MANTENIMIENTO7.7.2 IMPRIMIR LISTA COMPLETA7.7.3 IMPRIMIR HISTORIA DE MANTENIMIENTO7.7.4 IMPRIMIR HISTORIA POR TIPO DE MTTO7.7.5 IMPRIMIR CONSUMO DE COMBUSTIBLE
Pág.
89
1011
1212121314151516161718191919202021
21222224252527282931
3233
c77
-
7.7.6 IMPRIMIR GASTOS DE VEHICULO7.8 PANTALI.A Y COLORES7.9 PRESENTACION8 CODIGO FUENTE DEL PROGRAMA9. BIBLIOGMFIA
33J+343571
-
3
RESUMEN
Este programa de mantenimiento de vehículos diesel para la empresa
TRANSEMPAQUES LTDA se elaboro con el fin de llevar un mejor control
(preventivo y predictivo) y poder garantizar así la máxima disponibilidad de
los mismos, ev¡tando en lo posible fallas imprevistas y costosas'
Con este programa se pretende obtener información ráp¡da, estadísticas de
mantenimiento de un vehículo determinado ( lubricación, frenos, revisiones
de partes,ultimas reparaciones,hoja de un vehiculo,etc)
-
1
INTRODUCCIÓN
El programa de mantenimiento preventivo para el parque automotor de la
empresa TRANSEMPAQUES LTDA cuyo manejo estará a cargo del
departamento de mantenimiento de vehículos, y se aplicara con el objeto de
mejorar la eficiencia del equipo y la del personal encargado de repararlo'
No es un programa definitivo y estará sometido a cambios y modificaciones
a medida que se vaya ganando experiencia en su operación.
Ademas este programa eS una necesidad que tiene la empresa, para el
desarrollo de la tecnología y pensando en la manera de hacer mas ef¡caz el
mantenimiento de vehículos con motor Diesel, se hace necesario la agiliza'
cion del proceso para lo cual se requiere el estudio de las variables princi-
pales para el mantenimiento de un vehiculo de este tipo""""
-
5
1. RESEÑA HISTÓRICA DE LA EMPRESA TRANSEMPAQUES LTDA.
La empresa se inicio hace 15 años. Los fundadores fueron la familia
CASTRO dirigida por el Dr. Pablo Castro quien ejerció como presidente de
la compañía hasta octubre de 1996, fecha en la cual fue vendida la empresa
TRANSEMPAQUES LTDA al Dr. Sami Ferrer, actual dueño también de la
empresa SAFERBO.
Su función es el transporte de mercancía ( paqueteo ) a nivel nacional, su
oficina principal se encuentra en la ciudad de Medellín, posee regionales en
las principales ciudades de Colombia.
La empresa desde su inicio comenzó a trabajar con vehículos particulares
alquilados, hasta el ano de 1990 que compro su parque automotor a nivel
nacional, los vehículos que utilizan son de la línea Chevrolet y kenworth,
entre los vehículos Chevrolet que utilizan están:
-
6
Camiones NPR ( 4 TONELADAS )
Camiones KODIAK (12 TONELADAS )
Camionetas LUV
Tractomulas KENWORTH ( 35 TONELADAS ).
-
7
2. GENERALIDADES
2.1 MANTENIMIENTO PREVENTIVO
Es el conjunto de inspecciones periódicas planificadas, que obedeciendo a
un programa general definido, están encaminadas a lograr la conservación
de un vehículo, su mayor utilidad eficiente y la seguridad del personal
encargado de su operación.
Este programa tiene, como lo exige el mantenimiento preventivo un
conocimiento a fondo del programa mismo de un vehículo diesel y una
coordinación eficiente de la cual es responsable la administración del taller
de reparaciones y ante todo de el supervisor de mantenimiento del parque
automotor, quien estará encargado del control del programa y del
cumplimiento de su ejecución.
-
I
3. JUST¡FICACION DEL PROGRAMA DE MANTENIMIENTO
Todo equipo que este prestando un servicio requiere y exige de acuerdo a
sus condiciones de servicio y operación de mantenimiento, con miras a
conservarlo dentro de la zona de mayor eficiencia y seguridad de operación.
Este programa de mantenimiento esta elaborado para automotores cuyo
servicio es. de carácter continuo y pesado y que, dada la importancia del
servicio que prestan, debe garantizarse la máxima disponibilidad de los
mismos, evitando en lo posible las fallas imprevistas y costosas e
inmovilización del vehículo por tiempo prolongado.
-
4. OBJETIVO DEL PROGRAMA.
Los objetivos de este programa de mantenimiento para la empresa
TMNSEMPAQUES LTDA son los siguientes:
1.- Elevar la eficiencia del parque automotor
2.- Garantizar la vida útil del equipo, evitando los desgastes indebidos en
sus piezas y su deterioro.
3.- Descubrir oportunamente fallas menores y efectuar ajustes para evitar
posteriormente reparaciones mayores y costosas que disminuyan su
disponibilidad de operación y aumenten en forma indebida su costo.
4.- Llevar un control adecuado de repuestos y costos de operación.
5.- Llegar a determinar el equipo no conveniente, para la empresa debido al
excesivo costo de mantenimiento.
lfrlyrnídrC Autónom¡ drt .lseial,l¡SECCIUN 8t¡rLto¡&Cil
-
10
5. CONTROL DEL PROGRAMA.
El control del programa esta conformado para cubrir los siguientes puntos:
1.- Control de revisiones.
2.- Control de reparaciones.
3.- Control de repuestos y costos.
-
11
6. HISTORIA DEL MOTOR DIESEL
En el año de 1893, cuando estaban en su apogeo las investigaciones y
experimentos mas o menos afortunados en relación con los motores de gas,
el ingeniero francés radicado en Alemania RUDOLF DIESEL publico un
folleto de 96 paginas con el titulo de Teoría y Proyecto de un motor térmico
racional destinado a reemplazar la maquina de vapor y los demás motores
conocidos actualmente, en que exponía el funcionamiento de una nueva
maquina motriz totalmente original donde, sin necesidad de otras
transformaciones, convertía el calor en trabajo, inyectando directamente el
combustible en el interior del cilindro con un alto grado de rendimiento y un
gran ahorros de aparatos anexos.
Ya a los cuatro anos de la publicación del famoso folleto, es decir en 1897,
se reaf izaron los ensayos del primer motor diesel para lanzar al mercado. Su
estructura y condiciones básicas de funcionamiento no diferían mucho de
los tipos actuales de esa época.
-
12
7. MANUAL DE USUARIO DEL PROGRAMA
7.1. TNTRODUCCTÓN
Este programa fue elaborado en Turbo Pascal versión 7.0. La interfaz de
usuario fue hecha con menús desplegables que facilitan la utilización del
mismo al evitarse la memorización de comandos y a Su vez hacen que la
presentación del programa sea más agradable.
A continuacíón se explicará la utilización del programa basándose en las
pantallas originadas al hacer la utilización del mismo.
7.2. REQUISITOS DEL EQUIPO
Este programa requiere un computador 80386 o superior, tarjeta graficadora
VGA o SVGA.
-
13
7.3. INSTALACION.
Este programa se puede correr desde un disquete o desde un disco duro.
Es preferible correrlo desde un disco duro para mayor velocidad y
seguridad.
Para funcionar debe tener los siguientes archivos en el directorio desde el
cual va a correrlo:
1 - VEHICULO.EXE (Programa ejecutable).
2- CONFIG.CFG (configuración del programa).
3- GASTOSOI.GAS (Archivo con los gastos de los vehículos). El usuario
puede generar sus propios archivos *.GAS con datos propios).
8- SUB-129.PRE (Archivo de datos de un vehículo de ejemplo. El usuario
puede generar sus propios archivos *.PRE con datos propios).
Para instalarlo simplemente copie estos archivos en el disquete o en el
directorio en el cual desea ejecutar el programa.
-
14
7.4. COMO ENTRAR AL PROGRAMA
Para entrar al programa tectee la palabra VEHíCULO y oprima la tecla
ENTER.
Al llamar el programa se origina la primera pantalla que corresponde a la
presentación del programa. Para continuar presione la tecla ESC'
A continuación aparece la Pantalla 7.1 que corresponde al menú horizontal
del programa desde le cual se llaman los otros menús recorriéndolos con las
flechas y seleccionándolos con la tecla ENTER.
ARCHIVO DATOS RESI}I,TADOS CONFIGURACION PRESENTACTON
Pantalla 7.1.
-
15
A continuación se explicará el manejo de cada una de las opciones de los
menús y submenús del Programa.
7.s. ARCHIVO.
7.5.1. Nuevo vehículo. Con esta opción el usuario puede introducir los
datos de un nuevo vehículo. Al escogerla aparece una ventana en la cual se
pide la placa del vehículo al usuario que corresponde con el nombre de
archivo de datos del vehículo. Ver pantallaT '2.
ARCHIVO DATOS RESTILTADOS CONFIGT'R,ACION
I lNuevo vehiculoI lr,eer datos de vehj'culos| | cuardar datos de wehiculosi I r.eer dalos de gasEos
Guardar daEos de gascosEditar Tablasver vehiculosEjecutar comandos del DOSver fecha Y horaSAIIRSE DEIJ+------- NUEVO VEHICUÍ'O
+----------- | nlaca del vehiculo: sIrB-129rrttrrllllrtttllllllliiillill*--------- --------:::::::-:;::::;:;;;;;;;trtttlrrttltrtlllt¡tllliliiii
PRESENTACION
tl
lltltltlll
-
16
Pantalla7.2.
7.5.2. Leer datos de vehículos. Con esta opción el usuario puede leer los
datos de un vehículo que esté en el disco (".PRE). Al escogerla aparece un
nombre de archivo de datos sugerido, correspondiente al vehículo en que se
está trabajando, si lo desea puede cambiar este nombre por algún otro; para
leerlo oprima ENTER. Ver pantalla7.3.
2.S.3. Guardar datos de vehículos. Utilice esta opción para guardar los
datos de vehículos en el disco y poder utilizarlo en otro momento. Ver
pantalta 2.4. S¡ el archivo ya existe el programa confirma si desea salvar los
datos encima, esto con el fin de evitar borrar datos útiles accidentalmente.
ARCHIVO DATOS RESI'I.TADOS CONFIGIJRJACION PRESENTACION
lNuevo vehiculoI Leer datos de vehiculosj Guardar datos de vehiculosI Leer dacos de gasEosI Guardar datos de gastosI Editar TablasI Ver vehiculoslejecutar comandos del Doslver fecha y horaISAI,IRSE DEL PROGR,A¡IIA I i
+-------------- LEER DATOS DEL DISCO ---------------+I ttombre del archj.wo : SflB - 12 9 |¡l
tltllltlllt¡
Pantalla 7.3
-
17
ARCHTVO DATOS RESI'LTADOS
Nuevo vehiculo. Leer daEoa de vehiculosiGuardar daEos de vehiculos'Leer datos de gastosI Guardar daEos de gasEosEdiEar Tablas
'Ver vehiculos:Ejecutar comandos del DosiVer fecha y hora:SAI,IRSE DEL PROGR,AITA
------+;GUARDAR
CONFIGT'RACION PRESENTACION
LOS DATOS EN
t'¡ttrl¡ riil
tltlrl¡lt:llIItltltltlIIt¡
rtDISCO ------------+
P
lsrrB-129!sua-rzg ya existe-i I lp.r.. Reescribir encima de eI? (s/N)I
+---
'
II
PANTALLA 7.4
7.5.4. Leer datos de gastos. Con esta opción el usuario puede leer los
datos de los gastos que están en el disco (..GAS). Al escogerla aparece un
nombre de archivo de datos de gastos sugerido, correspondiente al ultimo
arch¡vo en que se está trabajando, si lo desea puede cambiar este nombre
por algún otro; para leerlo oprima ENTER. Ver Pantalla7.5.
-
18
7.5.5. Guardar datos de gastos. Utilice esta opción para guardar los datos
de gastos en el disco y poder utilizarlo en otro momento. Ver pantalla 2.4. Si
el archivo ya existe el programa confirma si desea salvar los datos encima.
esto con el fin de evitar borrar datos útiles de manera accidental.
i ARcHrvo DATOS RESI'LTADOS CONFTGT'RACION PRESENTACIONI
I
II
I¡
I
I
iNuevo VehiculoLeer datos de vehiculosGuardar datos de vehiculosLeer dat,os de gastosGuardar.datos de gastosEditar TablasVer vehiculosEjecutar comandos de,l DOSVer fecha y hora
] iSA],IRSE DEL PROGRAIIIA-----+l
+-------------- LEER DATOS DEL DISCOlNombre del archivo: GASTOSo1I
I
I
II
¡
Pantalla 7.5.
-
19
ARCHIVO
llluevo vehiculo
DATOS
de vehiculosos de '¿ehicu
RESI'LTADOS CONFIGT'RACION PRESENTACION
Leer daloai cuardar daEiLeer datos de gast,osI Guardar dat,oE de gastos;Edit.ar Tablaslver vehiculoelEjecutar comandos del DoSlver fecha y horaI sAr,rRsE DEIJ PRoGRAIT{A
i GASTOS0l
IGASTOSo1 yaI Desea ReescrI
----------+
Pantalla 7.6.
7.5.6. Editar tablas. Con esta opción el usuario puede editar las tablas de
resultados (-.PR?) por med¡o del editor del DOS (EDIT.COM) y cambiarlas
y/o guardarlas con otro nombre si lo desea'
7.5.7. Ver vehículos. Con esta opción usted puede ver la lista de vehículos
que t¡ene grabados en disco (".PRE).
7.5.8. Comandos DOS. Sirve para sal¡r al sistema operativo y ejecutar
comandos de este sin salirse del programa. Para Regresar al entorno del
I
II
Udrtrs¡rlai Ai:t(!,r:.: :: .:. i 1ii:¡..:r,¡itsEuJl0fr btSL¡ü iÁcA
-
20
programa teclee ENTER.
7.5.9. Fecha y hora. Le permite ver la fecha y la hora actuales.
7.5.10. Salirse del programa. Use esta opción cuando quiera salir del
programa. Si no a salvado aún, el programa le reconfirmará si desea salvar
antes de salir. Ver PantallaT.T.
ARCHIVO DATOS REST]I,TADOS
Nuevo vehiculoLeer datoE de vehiculosGuardar datos de vehiculosLeer datsoa de gastoeGuardar daEoE de gast,osEdÍtar TablasVer vehicul.osEjecutar comandos del Dosver fecha y horaSAI,IRSE DEI.
CONFIGT]RACION PRESEIiTTACION
+----------- V E RlcAsroso1 no se haI oesea gruardarlo aI
CAguardado enles de sa
I
I
I
i
n.I
eI
tttttit¡ttltrtltltrllllrttittlltlltttrrllltlttttttttttlll'lllllllllllllil¡lrllrllrttl!rllr¡ltrlllllttttttttttlttrttttlltlrrllltttrtlo N -------disco aun.
(s/N) ?
ltltttttllltttt¡tttttl
Pantalla7.7.
-
21
7.6. DATOS
Este menú tiene 6 opciones:
7.6.1 Datos del vehículo. Se usa para introducir los datos generales del
vehículo, ejemplo: Placa, marca, modelo, kilometraje, etc. Ver Pantalla 7.8.
ARCHIVO DATOS RESULTADOS CONFIGT'RACION PRESENTACIONI i i I I i l+---------- ---------+i i i i : i I i i i i i i i i i i i i I i+---------- ESPECIFICACIONES DEL VEHICITLO ---------+i
PLaca: snB - r.2 9Numero intserno: 02
Numero de motor: 30310293 Tipo: C-350Numero de chasis: CH802010Caja de veLocidadeE: Fuller 14?15Carroceria: Furgonclase de vehiculo: Tracto camion
Marca:Tipo:ModeIo:Color:Capacidad:
Conduct,or:Cedula:Telefono:Direccion:Fecha:
chevroleEsuper Brigadier1988verde acuarela con franja naranja30 ToneladaE
Ruben Dario Lopera Gomez3 ,465.4784 5 19178calle 31 i 55-36 Bel1o97-04-03
KilomeEraje: 256450conErol Kilometraje: 1000
iiii;iiiiiiiiiiiiiIiiiiiiiIii;iii;iIiiii;L iii;i;iiiiii;iiiiIiiiiiiIII;Iii iliiliiiiiltliliilliiiiiliiiilliiiiiiiiliii¡ililililliiliiiiililiiiiii,liil
Pantalla 7.8.
-
22
7.6.2Programa del vehículo. Se usa para introducir los kilometrajes en los
que se ha hecho mantenimiento de las diferentes partes del vehículo. Ver
Pantalla 7.9.
7.6.3 Historia del vehículo. Se usa para introducir la historia de
mantenimiento del vehículo incluyendo el precio de la reparación. Ver
Pantallas 10 y 11.
I ARCHI1¡O DATOS RESIILTADOS CONFIGT'RACION PRESEIITACTON
tl Deecripcion I Asun. I Ult. I Prox. I+----_--+----_--+-------+I i MoroR
lReemplazar aceite motor | 60001 2520001 258000lReemplazar fittro de aceite principal I eoool zszoool 258000lReemplazar fittro de aceite principal I 60001 2520001 258000iReemplazar filtro de aceiEe de flujo parcial | 100001 2szoool 262000iReemplazar filtro de aceiEe de flujo parcial | 100001 2s20o0l 262000llnspeccionar filEro de combustible | 5000 , 2S2OOO | 257000lReemolazar filtr+----- DAIos KIIToMETRAJES +252OOO| 212OOOlReemplazar filtr+----- DATOS KILOMETRAiIES +252OOO| 2120OOirnspeccionar fill Fl = rgualar el ultimo kilomeEraje. i252oool 2s70oolReemplazar fí1trl F2 = Igualar tsodos los kilometraje.rrnspeccionar fill F3 = Agregar eEEe kilometraje.lneemplazar filErl Esc = salir sin cambiar Ios dat.os.
252000t 272000| 246ooo i 251ooo| 246ooo i 2s6ooo
o i246oool zsrooo2szooo i lsi sols
o 12260001 26600040oool 252ooo | 2920001
so00 | 2s2000 | 2s7000 |sooo | 2s2ooo | 2s?ooo I
Ajustar graduacil kilometraje Ultirno Canüio:
llnspeccionar vell Horometro cambio i1:lrnspeccionar perl Horometro Cambio l2:
Reemplazar liguido de embrague y frenosInspeccionar funcionamiento de er¡bragueInEpecc. recorrido y juego libre de pedal de emb.
TRA¡ISMTSTONReenplazar aceite de engranajesInspeccionar perdidas de aceite
+-------+-------+-------+| 2sooo | 246ooo I zzrooo II soool 2460001 2sloool
l+|il|ti!iltiitititiiiitiilililiitiriititiliiririir!iliilrillllliriiliiriliii
Pantalla 7.9.
-
23
ARCHIVO DATOS RESI'LTADOS CONFIGUR.ACION
lDatos del vehiculo suB-129Ierogranra del vehicul,o sttB-129lniscoria del 'retriculo sIrB-129I Informe diario de conbusEible de sItB-129I oatos de manteninicntolcastos de vehiculoe
HISTORIA DE IIATi¡:TENIENTO! Fecha lxilomet. I costo I oescripcion
110000 | 30000lSoldadura de Golpes113oool 32o000iCambio de LlanEas113ooo| 120000lCanüio de Anrortiguadores114200 | 35000 | Cambio deI silenciador.12o1ool f¿oooolcambio de amortigtuadores delanteros
PRESENTACIONiit l I
ltrll:l
llr'.,'
lllr l,lt: litlrlr!¡ttiill'¡illll'il:rjlttttt:ltttl¡ll
| 9?-0s-10I e?-os-20I e7 -os-20I st -os-ze| 9?-06-1s| 9?-06-18i 91 -06-25
35000lCanüio de pastillas ejes Eraseros.30000 | Canüiar soporces.
120400 |L224sOl
DATOS
ittltrr¡tttltttl
rlilllttltlltltlt¡rtttll
Pantalla 7.10.
illii
¡l
ARCHIVO RESITIJTADOS CONFIGT'RACION PRESENTACTON I
l+
l+-
! loatos del vehiculo sItB-129I lerograma del wehiculo SttB-129I luistoria del wehiculo StB-L29| | rnforme diario de combustible de suB-129| | oatos de manEenimientoI lGaetoe de vehiculos
I F2 - Agregar dato.9l F3 = Cambiar dato.9 | Eac = salir sin cambiar datos.9 | Fecha: 91'06-159 | KifomeEraje: 1201009l Tipo de Reparacion: 10 Suspension.9l costo de Ia Reparacion: 140000.0009l Descripcion: Cambio de amortiguadorea delanteros. | | |-+--------- -------+--+ttlttl
ttltllttlrtlttlrtlttlltlttltilttltll
I
I
i
I
I
Pantalla7.11.
-
24
7.6.4 Informe diario de combustible. Se usa para introducir los datos del
consumo, del costo y del rendimiento del vehículo. Ver Pantallas 12y 13.
ARCTIIVO DATOS RESI]I.TADOS CONFIGT'RACION
I loacos del vehiculo sUB-129lPrograma del vehiculo sIrB-129lHistoria del vehiculo SUB-129I Informe diario de combustible de sUB-129I Datos de mantsenimientoicastoE de vehiculos
CONSIJ¡4O DE COMBUSTIBI,E . -.Fecha I rm lcurmrl I Galon I Km reco I rcm/GalKK-KK-XXi 249000 | c. ooo I
PRESENTACION
J./Km iValor li- l$o
o. osoo i $3oooo0.0427 | s180000.0s121s264OO
Ga
97 -C6-r7 | Z+SSOO | 2s . ooo I97-06-Lsl 2so32ol 3s.oool91 -06-re | 2s07so | 22.000 |
0is00 |820 ir¡o i
2o. oo i23 .43 |1e. ss I
ARCHIVO DATOS RESI'T,TADOS CONFIGT]RACION
i lDaroE deI vehiculo sIrB-129lPrograma del vehiculo sIrB-129l¡tlscoria del vehiculo SI'B-129I Informe diario de combuEtible de sIlB-129loatos de mantsenimienEolcastos de wehiculoslea-Lv- o tttttl+ - - - - - - - + - - - - - - INFORüE DTARIO DE COMBUSTIBLE- - - - -
F2 = Agregar daco.F3 - Cambiar dato.
Esc - salir sin cambiar daEoa.97-06-r7l 2 | Fecha: 97 -06-L99?-06-181 2l Kilometraje: 250?5097-06-191 2l Galones:
ll
ti¡l
tiilt¡ttt¡ttttrrtrtttttttrttrttrtttttttrrtttrtttrl t¡tl
ll¡l
tltl trttttttrlrrrtttrttlrrttttlttlrrtrtttttlrttttlttlrtrtttttlrrttttltttttttttrlrttrrrrllllllllllrltrltltlltlltltrlttttttttltlllrrtlr!tttttttttttt'ttlttttttttllltllltl| | | | tr tr tttttt¡tttttttttt tttttttttl
trrrllltrttttl tliliiili
PRESENTACIONI
I
I
I
II
I
Fecha I Km Alxx-xx-xxl 2l
t¡lrttlliltttl*llllm I valor- lsoosoo I g3oooo042? | $18000osr2 | g264oo
tl
lltltl;;ll
22.OOO26400.000
tlll
lrrltttl
-
25
Pantalla 7.13.
7.6.5 Datos de mantenimiento. Se usa para introducir la descripción de las
partes a las cuales se les va a programar un mantenimiento preventivo y la
frecuencia con la cual se le va a realizar el mantenimiento. Ver Pantalla
7.14.
ARCHIVO DATOS RESI'I¡TADOS CONFIGT'RACION PRESEITTACION
F1 = Copiar la frecuencia asumida.F2 = Hacer r¡n nuevo Subsistema.F3 = Ilacer r¡n nuevo Sistema.F4 = Canüiar los dato8.EEc - salir sin canüiar dacog.
Descripcion: Reem¡rlazar filEro de aireFrecuencia asumida: 10000
DescripcionltoToR
Reemplazar aceite motorReemplazar filEro de aceile principalReer¡plazar filtro de aceiEe de flujo parcialInspeccionar filtro de combuEtible
TRA¡¡SMISIOT{Reemplazar aceite de engranajeeInspeccionar perdidae de aceite
I lsum. I ult,. I Prox. I+-------+------r+-------+
60001 2520ool 2580006000I 2s2oo0l 2seooo
tooool 2s2oool 262000soool 2s2oool 2s7ooo
+-------+-------+-------+| 2sooo | 246000 | 2?1ooo II soool 245oool 2sxoool
InReInReInInAj
Inspeccionar funcionamiento de embrague | 5000l| 252OOO | 2570001rn"p.... recorrido y juego Iibre de pedal de emb. I SOOOI 2520001 2570001
iliitiiliiiilitiililiil!|ilililiiitilllllllilllllllllllliilllli!llllllillllliiPantalla7.14.
Z.G.O Gastos de vehículos. Se usa para introducir la descripción de los
gastos que han tenido los vehículos. Estos datos se guardan en un arch¡vo
aparte del resto ( ..GAS ). Ver Pantalla 7.15 y 7.16.
-
26
ARCHTVO DATOS RESULTADOS CENFIGT'RACION PRESEI{TACION
lDacoe del vehiculo sItB-129lPrograma del vehiculo stB-129lHigtoria del vehiculo st¡E-129IInforme diario de combustible de st8-129I Datos de mantenimientolcastos de vehiculos
!+---------- -----------+!il!tiiiil|iiiiiil!lti!iii!iiiiiiillll!lllllll
GASTOS DE VEHTCULOS
I recha I elaca lKilomet.l eosto I Descripcionls7-06-02l sua-rzrl 2460401 4000lneajes197-o6-osl sItB-1291 241ssol 3500lAlnnrerzol9?-06-08l suB-129 | 2479501 ¡ooolDespinchada de llanta
tllllltltltltltl
Pantalla 7.15.
ARCHIVO DATOS RESITI/TADOS CONFIGI'RACTON PRESENTACTON I
loatos del vehiculo suB-129lPrograma de1 vehiculo st8-129lgigtoria del vehiculo sItB-129I lnforme diario de conbustible de sttB-129lDatoe de mantenimiento
tltltltl
III
I
II
I
l*--l|il1
+------------ |I necha I Plle7-06-02l slle?-06-osl slle?-05-oal sl
+------------l
= Agregar dato.= Ca¡tüiar dato.- Salir sin cambiar datos.
97- 06 - 08sIrB-129247950
2
F2F3
EscFecha:Placa:Kilometraje:Codigo:Cantidad:
tliltlililrltltlrl+ltliltltltl+ltlilililrltltltltltl
i i i | | | | | | i I Precio unitario: 3000.000| | | | i i | | i I I oeacripcion: Despiriiiiiliilll*--------
Despinchada de Ilanta
tttttltlllrttttttttl tltltltltltliltltttl
ililil11ttlltlttlttltttttlttttrlrttttlttlltlrttttltttttl
tttttltttttlrttrtltttttltrttlltrtttilllllltttttlrttttlttlttttttttlttlttl
tllltttltttltttlrttlrttltllltttltttlltlltttltttl
lhlrrnldrd AutÚnoma de Occirsr¡hsEccloN 8l8LloIÉCA
Pantalla 7.16.
-
27
7.7. RESULTADOS.
Utilice esta opción para imprimir o para generar un archivo de informes. Ver
Pantalla 7.17.
ARCHM DATOS RESII.TADOS CONFIC¡ITRACION PFSSEIi¡TACIONi+---------- ------------+I l rnprimir prograrnacion de mantenimiento| | rmprimir lista completa I| | rmprimir hiEt,oria de mantenimiento I| | Imprinir hietoria por tipo de nantenimiento I! l rnrprimir consumo de combustible! | Imprimír gastoa de vehiculosI +---- ---- -- ----------- -+
tltltitllltltllltl
I
I
IIII
tltltltlllll
tltliitltltltllltltlltrltliltllltitltl
tlrlr¡tltltltlrltltltltltltltltltltltl¡ltl
Pantalla7.17.
-
28
7.7.1 lmprimir programación de mantenimiento. Utilice esta opción para
generar un informe de la programación de mantenimiento.
Ejemplo:
PROGRAIIA DE ¡,IA¡¡TENIMIETiMO PRIVE¡TTIVOTRA¡¡SEUPAQT'ES IJTDA.
VehÍculo: StB-129 l.¡Iinero interno: 02Conductor: Ruben Dario Lopera GómezKilometraje= 25645O
I MoroR! rnspeccionar filtro de combustible
lEitB TRASERO! inspeccionar perdidas de aceiEe
iEirE DEI¡A¡ITERO
Fecha:97-04-03
ttliriiI sooo | 2s2ooo I sso | 2s?ooo
!rnspeccionar filEro secundario de combuatiblel 500012520001 5501257000frnepeccJ.onar filtro de aire | 50001246000l -sesol251000lReemplazar filtro de aire | 1000012460001 -4s012s6000lrnspeccionar velocid. y acelera. de marcha míl 500012460001 -54501251000lrnapeccionar perdidae y contaminación de aceil 50001 151-2514351 5015+---------- --+------+------+-------+------lEMBRAGrrEilll
*
t
I Inspeccionar funcionamiento de embragrue I sooo | 2s2000 | sso | 2s7ooo!Inspecc. recorrido y juego libre de pedal de I soool252000l 5501257000
lrRA¡rsursroNllllilrnspeccionar perdidas de aceitse I sooo1246000l -5450i2510001*llubricar Mecanismo de contsrol de caja de vetol 500012450001 -54501251000!*
--+------+------+-------+------ iIEJEPRoPULsoR i i I i illnspeccionar coneccionee flojas | 1000012460001 -450lzseoool*
--+------+------+-------+------ i¡ | | - | ..- |rttllI sooo | 246000 ! -s{so I zsrooo ¡ *tttlllrl
IDIRECCION IlAceíte de caja de direccion | 25000I eerdidas de aceite en gisEema de direccion | 5000lnjuste o daños en sietena de direccion I roooolAjuste en la conexion ent,re ¡nuñones y eje dell 10000lUuego del volance i 5000I Funcionamient,o de Ia direccion | 5000larticutacioneg de la direccion | 5000
220000220000220000220000220000220000220000
-11450-31450-26450-26450-3 1450-31450-31450
245000 | *22SOOO | *230000 | *230000 I *?25OOO t '225000 | r225000 i.
lFRENoslllllleerdidas de liquido en sistema de frenoa | 500012520001 550125?0001!Fr¡ncionamiento de sisEema de frenos | 50001252000! ssol25?0001lcalibracion de bandaa | 5000l252oool ssol257000llRecorrido y juego libre de pedal de freno | 500012520001 550125?0001lconexiones flojas y daños en t.ubos y rnangueral 500012520001 55012570001
--+------+------+-------+------ |
-
29
iRecorrido de palanca de freno de eet,acionamiel 5000i2520001 550i25?0ooi+- - - - - - - - - - -+- - - - - -+- - - - - -+- - - - - - - +- - - - - - |
I FRENO DE ESTACIONA¡IIIETiITOi Cable de freno de eeEacionanienEoI Posicionamient,o de freno de estacionamienco
i susPENsroNlDañoa en hojas de reeorEeI Fijacion o daños en loe aoportesI Paaadores de resortes
! RUEDAS
I PaaadoreE de n¡edaslPosibles dañoe en discoa de n¡edaI Presion de llantaa y posibles daños
Vehículo: SUB-129 Número interno: 02Conductor: Ruben Dario Lopera GómezKilometraje= 25645O
I MOToR
lReemplazar aceite motorlReemplazar filtro de aceite principallReemplazar filtro de aceite de flujo parcialI Inepeccionar filEro de combustíblelReemplazar filtro de combustiblellnspeccionar filEro secr¡ndario de combustiblelI Reemplazar filtro Eecundario de conrbugtible II lnspeccionar filt,ro de aire II Reemptazar filt,ro de aire !llnspeccionar velocid. y acelera. de nrarcha mílllnspeccionar perdidae y conlaminación de aceillAjustar graduación de váhn¡las i
IE¡'IBRAGT'E
lReemplazar liguido de embrague y frenoaI Inspeccionar funcionamiento de embragueI Inspecc. recorrido y juego libre de pedal de
ti¡r¡¡is000 I 2s2000 i ss0 | 2s7ooo !s000 | 2s20oo I sso i 2s7000 |
iiilsooo | 252000 | 5s0 | 2s7ooo Isooo | 2s20oo i s50 I 2s7000 is000 | 2s2000 i sso | 2s7000 |
Fecha:97-04-03
iliis000 | 2s2000 | 550 | 2s?000 |s0o0 | 2s2000 | sso | 2s?000 |s000 | 2s2000 | ss0 ! 2s7oo0 |
iEQUIPO EI,ECTRICOloañoa de cableado y t,erminales
iiiiiI sooo | 2s2ooo I sso | 2s7ooo I
7.7.2lmprimir lista completa. Utilice esta opción para generar un ¡nforme
de la lista completa de partes que se deben revisar en un vehículo.
Ejemplo:
PROGRAüA DE IIIA¡ÚTENTMIEIIÍIIO PRSVE¡üTIVOTRA¡ISEMPAQUES IJTDA.
I Descripción I prec I ulr I Dif I prox I
6000 i 2s20006000 | 252000
10000 | 2s2000s000 | 2s2000
20000 | 2szooosoo0 | 252000
20000 | 2s20oo5000 | 246000
10000 | 2{60005000 | 2{6000s000 | 1s I
40000 | 226000 |
tl4ooo0 | 2s2oo0 |
s000 | 2s2000 |s000 | 2s2000 |
¡¡lsso | 2s8000 |1s5o | 2s8ooo Issso | 262000 |
sso | 2s7000 |l.ssso | 2?2oool
5so | 25?000 |l'sss0 | 272oool-s{so | 2s1000 |-{so | 2s6000 |
-s4s0 I 2s1000 |-2s143s I s01s I
9550 i 265000
II
3sss0 l292ooosso I 2s7000sso | 2s7000
tltl14sso | 2?1000 |
+-----.---.+------+------+lTRAusrtrrsroN I | |Ineemplazar aceiEe de engranajea | 2500012460001
l-.___b*_I utrrniora arrotilffi;-tI SECC|oN 8¡Br¡ofEü |
-
30
: rnspeccionar perdidas de aceiEe i 5000 i246ooo | -seso | 251000 |rnspecc. juego en mecanigno de conErol de cail 4o0o0i246oool 29s5oi2s6oool
:Lubricar !,lecani.sr¡o de control de caja de ve10l 500012t60ool -5{5ol2510ool+- - - - - - - - - - - - -+- --- - - -+- - - - - - j:EJE PRoPLLSOR I i i I ilLubricar juntas universaleg y eje desrizance | 2ooool2{6000l 95sol266000l' Inspeccionar conecciones flojae I 10000 i 246000 | -{sO | 256000 |.Inapeccionar desgasle excesivo de eje deelizal 4000012:3ls'ol 1gOsOi2749ool;Inapecc. ajuace rodamientos y part,es relacionl 40000i2345001 rsosoi274soo!+ _ _ - - - _ _ - _ - - _ _+- _ _ _ _ -+_ - _ _ _ _ +_ _ - _ - _ _+_ _ _ _ - _ |!E;ETRAsERo | | | | |iReemplazar aceit.e de engranaje diferencial | 2500012{60001 ussol2?1ooolinspeccionar perdidas de aceire I 5o00l246000 | -5{sol2stooolinspeccionar defonnacion o daños de senriejea | 4000ol230oool 13ssol2?oooolinspeccionar deformacion o daños del diferencl 4000012300001 1355012?ooool
: DIRECCTON ii2s000 I 220000 IAceite de caja de direccion
Liquido de direccion hidraulicaPerdidas de aceiEe en sigtema de direcci.onAjuste o daños en sistema de direccionAjuate en Ia conexion ent,re rm¡ñones y eje delJuego del volanteFr¡ncionamiento de la direccionArticulaciones de La direccionExcesivo juego de los rodamientosAjuste daños en mecanismo de direccionRadio de giro a derecha e izquierdaAlineacion de ruedasMangueraa de direccíon hidraulica
i FRENOS
I Ligr¡ido de frenos y embragueI rerdidae de liquido en siEte¡na de frenosI Funcionamiento de sistema de frenosi calibracion de bandael Desgaste de bandae de canr¡lanaslRecorrido y juego Iibre de pedal de frenoI Conexiones flojas y daños en cubos y manguera
I FRENO DE ESTACIONAI'IEIÍTOlcable de freno de eatacionaniento II Posicionamiento de freno de estacionamienco IlRecorrido de palanca de freno de estacionamielI Desgaste o daños del crinquete I
IRT'EDAS
I Paaadores de ruedasI Poeibles daños en discos de ruedalEngrase del tuboI Presion de llantas y posibles dañoaI Rotacion de llant,asI iluego en rodamientos de cubo delantero
------+------+-------+------ttl¡tl
s000 I 2s2000 | sso l257ooosoool2s2000l s50l2s7ooosoool2s2oool ssol2s?ooo
{00001252000i 3sssol292ooo
s00012s20001 s50lzs7ooos00012520001 sso12s7000s00012s20001 ssolzs7ooo
1000012s20001 ssso12620001000012s20oo1 sssol2620oo{0000 | 2s20oo ! 35s50 l292ooo
40000 i 22oooos000 | 220000
10000 i 22oooo10000 I 220000
-11450 I 245000 |3s5o i 260000 |
-314s0 | 22s000 |-26450 i 230000 |-26450 i 230000 |-314s0 | 22s000 |-314s0 | 22s000 |-314s0 I 22s000 I
3sso | 260000 |3sso | 260000 i35s0 | 250000
35550 | 29200057550 i 324000
I
3sss0 | 292ooo5s0 I 2s?oo0550 i 257000ss0 | 2s70oo
sss0 | 262000550 ! 257000ss0 | 257000
500050005000
400004000040000{000072000
{0000500050005000
10000s000s000
220000220000220000220000220000220000252000252000
252000252000252 000252000252000252000252000
I SUSPENSION
lDaños en hojaE de reaortelFijacion o daños en los soporteaI Pasadores de resortea! Perdidas de aceit,e en amcrrtiguadoreslFijacion de soportes de anortiguadorealDeseguilibrio de resortes por debilitamient,o
------+------+-------+------ irttlltrl
s00o | 2s2000 | sso | 2s7oo0 |s0o0 ! 2s2000 | sso | 2s?ooo I
20000 | 2s2000 | rssso | 2?2000 |s000 I 2s2000 | ss0 | 2s7000 |
10000 | 2s2000 | sss0 | 262000 |10000 I 2s2000 | ssso | 262000 |
-
31
lJuego en rodamientos de cubo traEero | 20000l2s2oooi 15550i272ooo,t,+---------- __+._-____+_- +______:
7.7.3lmprimir historia de mantenimiento. Utilice esta opc¡ón para generar
un informe de la historia de mantenimiento.
Ejemplo:
;EQUIPO EIJECM,ICI)I Funcionamiento del arranque;Elect,rolit,o de baceriai Daños de cableado y terminaleai Funcionamiento del alt,ernadorI Funcionamiento del allernador
i'¡,¡rr!¡roooo i 2s2ooo | 355s0 | 292ooo I10000 | 252oOO I s5so i 262000 I
soo0 i 2s200o i ss0 | 2s?ooo I4oooo | 252ooo | 3ssso | 292ooo I4oooo | 22oooo i ¡sso | 260000 |
| 120000 lca¡bio d. ¡mrtigudore3| 3sooolcarblo de¡ rilenciador.i 1a0000ica¡rbio d! aDr¿igudores delüCcros. II S5ooolca¡bio d. ¡Esr.illa. cJGs rra.crc3. ii 300o0icaEb1ar !o¡¡ore.¡. I
HISTORIA DE I{A¡É'TEüüTBTTOTRAXSEfPAOUBT¡ Ln)¡,
tfiircro ineeno: 02Vehículo: S¡rB-129 Pecha¡ 9?-0,4-03Conductor: Ru.be! Dario Lopera GónezKilrerraje:255{50
I F.ch. lf,il@t . I RcDrraclón ! Coero I rrercEi¡¡clon---+----------- ------------- !
197-05-101 U0000108 ctUl!. ! 3oooolgoldldua d. coIEE397-05-20l| :.13oo0llr LlanBar, Ncrnáricos, prl f2oooolcublo ate Ltrnrer I
¡97-05-201 113000110 suslpnsión,197-05-2al u{200118 Escape.i97-06-r5l 120100110 Suspenslón.197-06-18l r20a00106 sls¡em Freno¡.197-06-23l r22asol09 Cablm.
-
32
7.7.4 lmprimir historia por tipo de mantenimiento. Utilice esta opción
para generar un informe de la historia de mantenimiento especificando la
parte del vehículo a la que se le quiere hacer el análisis de las reparaciones
que se le han realizado en el pasado.
Ejemplo:
HrsronrA DE ür¡Úflll¡ll¡Etff,IRAI|SEfPAOI'ES I¡1D4.
vehfculo: sfrB-129 tlfuaro in¿eno: 02 Fectu¡ 97-0{-03Cüdr¡cEor: Rubcn Darlo I€IEra Gódezxl1@traj¿:256¿50
!Fech¡ lxl'[email protected] netEnclón ! co3to ! D.rcEltrclo+----------+-_-l9?-05-2ol l13ooollo su3¡En¡lón. ! 120000lcanbio dr amrelgudon. iigz-oe-rSi r:OrOOjrO Suricnetón. I 1¿gg¡¡lgilbto ¿e ailor¿rg1¡¿on! d.lüEcro3. i
-
33
7.7.5lmprimir consumo de combustible. Utilice esta opción para generar
un informe del consumo de combustible histórico incluyendo la eficiencia y
los gastos de este rubro.
Ejemplo:
'rehfculo: sIrB-129
n¡¡|sETP¡qTES LDA.
t¡furc inEem: 02 Fecba:97-0{-03CotrducEor: Ruba! Irarlo Iópcra C&azRllüBrrja: 256a50
i-;;---'i -;-;;;;-;;-'--;-;-;;;;';-;;;---i-;;---;-;;;---ii--;:;:;i----;;;;;;i-----;:;;;i--;;;;;;;i----- :'--i----; ;;;;i-------- ;iI s7-o5-L7l 2.95001 25.o0ol r.?39011 t?8955.0{l 0.00001 300001| 97-05-1Sl 2sO32Ol 3s.0OOl {a739011 L27825'?11 0.00001 180001
:--ll:3!:13i -- -',-l2',-ii!-.---?::::i--::l:::ii-illlll:1il----l-1ll3l- - iillll
7.7.6 lmprimir gastos de vehículos. Utilice esta opción pa€ generar un
informe de los gastos de los vehículos. El informe incluye la descripción del
gasto, ta fecha, placa del vehículo, el kilómetraje y el costo del gasto
efectuado. Estos gastos son generales de los vehículos, no necesariamente
de mantenimiento.
Ejemplo:
Grs¡o€ DE vElrclru)s
Tn¡¡¡l¡ErP¡Q¡rls l¡lDA.
i';;--i-;;;;;--i;;;:;-;;;;;;;-;;;-;--;;i;;--;------------'---;;;;'---------'--------ii jventcurol | | lunidsdl toc¡r | |r--------+---------+---------- -"-------------------li9?-05-o2l sItE-1291 2.60.01 21 21 2oool {ooolDcrjr¡ |isr-oe-osj ss¡-r¡gi zrzssoi 21 11 35ool ssoolA¡@rzo Ijrz-oe-oel sua-1291 2r7s5ol 21 11 3OOol 3ooolDea¡ttnchrd¡ dG llüta I
-
34
7.8. PANTALLA Y COLORES.
Permite configurar los colores de la pantalla y el modo de video con que
funciona el programa. Ver Pantalla 7.18.
7.9. PRESENTACIÓN.
Esta opción sirve para ver la presentación del programa.
ARE¡IVO DATOS RESI'I,TADOS CINFIGI'RACION PRESEIITACIONtllttltltltltltltl
!+---- C1cNFICIITRACION DE IA PA¡ITAIJA -----+| | Color del Fondo: Cian. Ii I color de las letras: Blanco. I| | Color de Ia barra: Azul. I
tilltitlllII
Pantalla 7.18.
-
35
8. CODIGO FUENTE DEL PROGRATIA
{ 97-10-01 }{9n-t Jge.'1 ($N+¡ {SE+} (9F+l f$v-1($M 16384, o, 655361: PROGRqM PROGRAMA-DE-MANTENTMIMIEI¡TO-PREVE}ITIVO-DE-VEHICI,'LOS-DIESEL,
UDE)
Crt, Dos, ?rinter, E_S, VenEanas, Menus, LiEtas2;
liMaxCanbics = 16;Reparacicn : ¡.RRAYt!..1.9i C¡' ;f¡ctcr =( too Otros.',tCl Motor. I,
.Q2 Ca)a r/elocldades. r,t 03 Transmislcnes. r,r04 CarCanes. r,r05 Ejes. i,| 06 Sistema Frenos. r,I 07 Sistema Eléctrlco. ' ,'08 Chasls. r,I 09 Cablna. t,r10 Suspensión. |,'11 Llantas, Neumáticos, P:otectores. i ,r12 Sistema Lubricación.',r13 Sistena de Enfrlamientc. t,r1{ Alre Acondi.clonado. r,r15 Sistema de dirección. r,r16 Embrague. r,r17 Slstema de Ccnbustible.t,'18 Escape. I );
TYPETKilometraje = Longlnt;
obJEdictonl,ista = oBJECT( ObjLista lX, Y, Dx, Dy, Ancho : Byte;CONSTRUCTOR fnicial.ice2 ;PROCEDURE Editar( Titulo, Encabezacio: Strlng, VAR prim, Op: l:nteger ),' PRocEDtRE EditarKÍlometrajes( Tttulo, Encabezado: string, vAR prim, op:
Int.eger ) ,PROCEDURE Abrircenrrado(LongX, Longy : Blrte, Titulo : Strfng ,,PR@EDURE ManeJar( VAR Op : Integer )tPROCEDURE EllmineActuaI, VIRTUAL;PROCEDURE LeaDatosi VIRTUAL,PROCEDURE LeerDatosKilometrejes; VIRTUALTDESTRUCTOR Libere2,
END,
Tcambios = ARRAYIl..NMaxcanbics] OF TKllometrajetTPDat,osKtlonetr¡Je = ^TDatosKi:.ometraj eiTDatosKllometraj e = RECORD
'tipoDeDato : ChsriDescrlpcl.on : Tcadena;Frecuencia Asunlda,Frecuenci ¡-Pronedio,Ki lometra jE_Pri¡nero,Numero de Cambios,Kl LomeEraJe_Ultimo,Kilometra]e_Proximo : TKliometraJe;Ltstacambios : Tca$bios¡
END,
obJKllometraJe - OBJEC'r( ObjEdi.ltonl,ista I
-
36
Opri --n, P.i::t : Inte,;e:;/.a!rtcrDrtn-^o ¡-i F¡ 1: ¡ -ñ i.
¡?RCC:DU.qS lnser-.eD¡::l :ai,.-,rfi.-:r'rÉ:r3-ie : :Dat3sKilúrnetrtje J;?RCCS|URE :3nbÍe1.3:-r ! ilrra!:1.^¡.c'í?je : TDattEKl:-ometraje ; ;pRcc:DURS 4 i i.nj.n4A.-,ja I ;'.' :.-
-
37
PROCEDIjRE l.e^Datost VIR'í'JAI";DESTRTJCTCR;.ibere3i
TPaÍ¡--¡i.la :e:r--" - ¡.RRAytÚ...r399j 0!' ¡{er:i
'.'.¡.R:.:.s-,3EdicionLl.tr.¡i{ombreArch ivcca s r-cs,P1 aca,Nunero_Internct14arca 'Tlpo,Modelo,ccLor,Capacidaci'|lumero _ds_Motcr,t'lunerc_Ce_Chasis 'ca j a_de_'/eIoe!iades,2atroea-E!3,CLase_de_'/ehicuIo,Ccnductor,CeduIa,Teletono,¡i -a-^i ^Ftra.h áKi lomet ra J e_.¡.ctua I tK1l-ometral e_?rimero'KiiornetraJ e_UItimo'Kllomet raj e_Prcxiltlo,control_Kilornetraj eGuardadotCaIcuIadoSalv. PantaII"_Texto
t /'h+ r i -rr.. re.¡¿r-"¿.: Obi Ec:. ::.onLi.jr-3i
: TCade¡'.a;
: TKilotnetraJet
: tsooleani: ^TPantalla_?extoi
{+* Salva Ia pantalla de texto ccmpleta en eI arregic Salva-Pentalla-Texto'*}PRoCEEtiRE Sa lve_Panta L L'_Texto iVAR Pantalla_Texto : ^TPantalia TextoiBEGIN
Nehr( SaIva_PanEall"a_Texto ) iIi i,!emlS0000 : SC,i 4 9l - 7 THEN ?antel,ia-Telt-J : = Ptr ( 58000' 50000 )
ELSE PantalLa_TexEo:= PtriSB800'S00001 ;salva_PantaL Ia_Texto^ : = Par¡talla_Texto^ i
END,
i** Restaura la pantalla de texto guardada en eI arreglo Salva_Pantaila-Texto **lPROCEDURE Restaure_Panta I Ia_Texto iVAR Pantalla_Texto :''TPantaLla-Textc;BEGIN
IF MerntS0000:S0d49l = ? THEN Panta]Ia_Texto:= Ptr($8000'S0000)ELSE gantai:a_Texco:: Ptr ( 5ts800' $0000 ) ;
Pantalla Texto^:= salva PantaIIa Texto^;Dispose (-Salva-PantaIla-Texto I ;-
END;
ruNCTION Numcad( N : Integeri t : Byte ) : String,VAR Aux : StringiBEGIN
Str( N:t, Aux );NumCad:- Aux;
END;
í.** Procedimientos para manejar una lista en Pantalla '"*Ir:oNSTRUCTOR Obj Edi,cionllsta. Inicia I 1ce2,:rlUGIN
Iniciallcel iE}¡D,
FRO(TEDURE ObjEdlcionlista.Abrlrcentrado( Longx, LongY : llyte, Titul.. : .String liBEGIN
X:-= .10 - Lonqx SHR 1;
-
38
:a Hodovldeo < 4 THE¡| Y:- 13 - LongY :;HR LELSE Y:= 25 - LongY SHR t,
:^.= Li,r,glt^..._ f -^R.t.¿ i. - -J.rla. r
;..brlrven¿3na! i
-
If l¡T:i¡l , :;ng!,t¡x THEtt Long:= LlrngMa:< - LELSE lcnc: = NTot:iI;
;.orirtenir¡cc( 79t Lonq+z. Tituic i;Salir:= Faise;fE TAA¡
IF áctual = Pr:mero TI{E}I?untP=:.n:= Primero;
TextBac¡(Ground( Col,)rg'cndo i ;CIrscriT€xtBackcroundf Darkcray ),Wrlte( Encabezado )iaI FC^1.
TeztBackcround( ColorFondo i ;Actual:= ?untPrimiMuestreN( Long ),IF Actual = Ultimo THEN
lesliceMas:= FaIse
DesliceMas:: True;Ac-.ua]:= iuntPri¡niManeja¡( @ l;CASE Carac-qer CF
Enter : BEGINMueva( Op-z )iLeaDatosiCerrarYenEana;
{ NTotaI - tDng + l THEN prim:= NTota.l - tong f l;
END,
VAR Kilsnetr¡ie : obiKtlometrale;
39
onlnc¡drd Aulónom¡ da occ.lirrtrsEcctoN 8t8U0tEcA
-
40
ik(iíi'ED;,'lg !)bltCicion.List-a-Ed:r-arKlL.xne?_raies( TltuLo, Enc¡beza.Jo::ltrtngi !,rAR pr:m,lJp i !!.--z.ier itLÁitZL .:.r-.i: is ;'.?R :, l;Tci-ai, L,rn.;, :ongMax : .[nteqe:;
3a::::5o.,ieaniÍ.'eJ:::eHas : gctlean;Pu:i--Pri!n : TIndi.ce;
: 5 ¡4..iovideo < ¡l T'{EN Lcn,;¡t¡¡r: = Z:.ELSE LongHax:= 41;
Vayai¿ Prine¡c;j4ue-ra{ Prlm - 1 );?uni?rim:= Actual;Afr¡=.
NTotal:= NumeroiiF NTotaI > LcngMax THEN Long:-- Longl,tax - 1
EI.SE Long:= i¡Toral;FJcrlrcen..raoc( '19. Lonq+2, T:tu]c ),S¡iir:= Fai.se;R,EPEAT
IE Actual = pri.lRero THEI¡PuntPri¡n:= pri.merc¡
TextBackcround ( ColorFcncio i,CIrScr,Tex..Backcround( Darkcray i,'drite( Encabezado )ta] FC^t.
TextEackcround( ColorFoncio ) ;Actual:= punrprim,MuestreN( Long ) iIF Actual = Ulti¡no THEN
Desl.iceMas:= FalseELD¿
DesllceMas:= TrueiActual:- PuntprintManejar( Op );CASE Caracter OF
Enter : BEGINl.fueva( Op-z l,LeerDatosKi icmetra j es ;Cerrarveniana i
i
-
41
E}¡D,PqDn : IF ;1esli,_-c¡4¡.; :ii.r:l¡
aFn?r.fr.{r!á-r, I ¡: _._._ ! ._e ,.4 .?uniprln:- Á.:u¡i;
Ei,¡DtZ=. : S3li::- Tr:e,.
END,'JNTiL Sa:.ir;Cerrarventana;?rin:= C:ent,e + ii:Í Prlm NTotaI - L.ng + i THETJ prim:= )tTotat - Long + 1,¡TIi '
?ROCEDUR= CbjEdfc:onlista.ElimlneAciuai;EEGIN
{ SoIo se usa para que se redefi,ná en io.s cjescencrentes }tltn.
gROCEDURa Cbj Edlcionl,ist'a. Le3Darosi9EGIN
{ Scl,c se usa .Dara que se redefi¡.:,a en ios descendien}-es }END,
PROCEDURI Ob j Edi cionli s-, a . Lee !DatosKi loner- ra j es,BEGIN
i Sol.o se usa para que se redefina en los descendientes ]END,
DESTRUCTCR ObJEdicionl.isra. Ltbere2;BEGTN
Llsta , LÍbere1,END'{ Fin de SCicionlista }
PROCEDURS ?resentacioniVAR Car : Char; { Solo se usa para esperar gue se pulse una tecla }BEGIN
Ocu:+-a:CursoriAbrirYentanaceitrada( 6!, LO, rr, ColorEondo, Coiorletras )i'dri.teLn,Wrir-eln(r TRANSEMPAQUES LTDA.'),Writeln;WriteL:1,writeln(' PRoGRAMA DE InNTENTMIENTO PREVE}JTM'),WriteLntWritel.n(r PARA VEHICULOS DIESELT),Writeln;Texiccjcr( Blink + Yellow );GotoxY{ 16, l9 ),Wrlte ( t Oprima cualquj.er tecla para continuar. r I iCar:= ReadKey,fF Car = ll0 THEN Cár:= ReadKey,Cerrarventana;
END,
PROCEDURE NadatBEGINEND;
FUNCTION Recorte( Cadena : Stringi Long : Byte l: StrinqiVAR
1 : BytetBEGIN
Cadena:- Copy( Cadena, I, Long )iFOR i:= Length( Cadena )+1 TO f.onq DO
C¡dena:= Cadena -t . I iRecorte: - Ca'Jena;
b:ND,
-
42
í Aqul comienz¿n Ir¡e :nétodos lr:i r¡ancir¡ (ie .jar-(:J Íranter¡imi¡rrrt¡; urqv+nt iu,; i.;CI.¡S?ÍIUCTOR Ob-i Kl I omet ral e . i r¡ i,: i ¿r i :.:e 3 i'/F.ir Daro : lDaEosi;licner_:¡ j €;
i : :...NMaHcambi.,rs,SSGrt¡
inicialicel,;Cal.:ulado: - Flise;Guardado:= íaLse;,L^¡ ^-. _ t.vPe!v¡¡. - c,Prim:= 1,{ Tipos de datos: C=Sistema, S=Subsistema }Datc . TipoDeDato : = . C t iDato.Descripcion:= I ?' iDato. Frecuencia Asumida:= 0;Dato. Frecuencla-Pro¡o.erlio : = 1;Dato.Numero de da¡nbios:= l.;FoR i:= 1 Td ¡{M-axcambios Do
Dato.Listacambios Ii j := C;Dato. Kliúmetraj e_Proxlm: := iiinserteDato( Dato i;
Etio;
PROCEDURE ObjKllornetraje.InserteDato( DlrEosKllonerraJe : TDat,osKt:ornetraje );vAR Dato : TPDatosKifometraje;9EGI}J
New( P¿¡s ¡;Dato^ : = DatosKilometraj eiAgregueElemento( Dato ),
END,
PR.oCEDURE objKllometraje.cambieDato( DarosKiiometraje : TDarosKilometraje );VAR Dato : TPDatosKilometrajeiBEGTN
iF Actual Vacio THENBEGIN
Dar-o : = ExtraigaELement.o iIF Dato Nil THEN Dato^:= DatosKliometrajei
END;END;
P¡,OCE DURE Obj Kl I ome'u ra j e . EL imineAc-,ua L ;BEGiN
Ei i¡nlneEl e¡nento;E¡iD,
PRCCEDURE ObJ Kilometraj e.Muestre;{ }'fuestra el elemento Apuntado por Actuar y avanza Actuar una casilra }VAR Dato : TPDatosKilometraje;
i : l..NMaxcarnblos,BEGIN
iF .{ctuai Vacio THENBEGIN
Dato:= TPDatosKilometraje( Ext.ralgaElemento ),.WriteLn;Calcul.e( Dato );¡{ITH DAtO^ DOBEGIN
CASE TipoDeDato OFrCi: BEGINItlrlte( t r, Descripcion );GoroXY( 53, WhereY),
Write ( r+-------+-------+-------+' )END,rsr :
BEGINWrite( Descrlpcion )iGotoXY( 53, WhereY ),
lYrite( I l', ['recuencia_Asumlda:7, r Ir, Kilometr¿¡je -Ult1¡no:7,t l', KilometraJe._proxlmo:?, , i, l;HND;
END,
-
43
EiID,END;
END;
gRccE.nURE'Jbji{ilonet:a;e.Cal::rlei ;rAR D3to : TPDaiosKilometraje ) ;tfAR i : !...i¡l.lazcambics,9EGIH
F¡rTH Dato^ iOBEGI}I
IF llumero_de_Calr,bios = 0 THENBgGIN
ri I ^É-t ?ii a Pf :,í¡efo : = 0iKiLot?etraj e_U:.timo: = 0t
END&LJ&BEGIN
Kj. lonet ra j e_U I t 1mo : = Li s t- acamblos I Nume ro_de_Ca¡¡bios ],KiLcmer-raj e_P:lmerc:= Lis'.acar,bios I i ],
:¡¡D;ií (1.¡umer._De_Carbios=,:) OR i:.¡umero_De_Canbios=i) THEl.l
Frecuencia_Prcmedio:= 0ELJI,
Frecuencia_Prciledlo := KiIr¡cetraj e_U1t.imo-Kllonetraj e_PrineroDiV ( Numero_De_Camblcs - 1 l;
fF l¡umer)_De_Carbi.os = ? TliElJI¿i IñEFi.¡'iF PfcXinC:= 0
ELSEKl Iome.- ra j e_Proxi¡no : - Ki lomet ra j e_UItimo+ Frecuenci a_Asumida i
ENDtEND,
PROCEDURE ObJ Kllometr3j e . teaDatos tVAR Dato : TDatosKilometrajet
PDato : TPDatosKl-IometrajeiTit,uio : Tcadena;Erec : ir¡teger;
BEGINCalculado:= False;Guardado:= False;Dato:= TDatosKilomeiraje( ExtraigaElemento^ )iIF Dato.TipcDeDato = 'C', TIIEN Titulo:= ' STSTEMA r;IF Dato.TipoDeDato = rsr THEN TituLo:= ' SUBSfSTEMA r;WITH Dialogc DOBEGIN
Abrlrcentrado(73, 9, Titulo )tWritel.n(r Fl. = Copiar la frecuencia asu¡nida.r);'/gritelni' F? = Hacer un nuevo Subsistema.')iWriteln(' F3 = Hacer un nuevo Sistema.r);WriteLn(' F{ = Cambiar los datos.rl;writel,n ( | Esc = Sal.ir sin camblar datos. I ) iAgregargntradacad( 'Descrlpcion: ', Dato. Descripcion l ,AgregarEntradaEntero( rFrecuenci,a asumida: r, Dato.Frecuencla Asumida );Manejar( 3, IF1' 92. ?3, F4' Escl );WITH DAtO DOBEGIN
IF ListacambiosINumero_de_Canblos+1] > 0 THENInc( Numero_de_C¡mbios );
IF Numero_de_Cambios 1 THENFrecuencia_Promedio:=(LlstacanbiostNumero_de_Cambiosl-ListacambiosIl]
)
DIV ( Nunero_de_Cambios - l. lELSE
Frécuencia_Promedio := 0;Kllometraje_P¡cx1mo:= LfstacanblosINumero_de._Cambiosl+Frecuencia_asumlCai
END,CerrariCASE car¡cter OF
t'l : BEGINriambieDato( Dat.o ),Frec: = Dato. Frecuencla Asr¡rnld¡iIF Car.rcter = F.'1 THEN
-
4
i{9PEATl4rrgY^, t ' 'gD¡to : = TP3ar-.rsKi Ionetra j e (:¡ PDato-.TipodeDato ' rSlEEGiN
PDato^. É'recuenci¡
E:
-
45
l4,rev1 ( I );?D:r- : : -- ?!Da t:s!{ i lenetra_i e I g:(tra i gaE i emento I ;:i irDar-c' .T:p,lee¡J¡ia ='!5"tllEN:tcnl rf
;n.: I ¿:D-rr-.,^. liuner'_áe_'lamb:.as ) i?O¡t.J'.;:sEtcárn!icsl?Dar-o^.i¡uRero..ie_Can¡ios¡ := ¡Jlr.i,moca¡rüi,o,
:r!r.
-"t¡Ti: í PD¡to^.TlF,.deDato = 'Ct , OR í .a.caual = ',Jltino l,iF :aracter = 32 TiiSNLE r¿Ar
l,lr¡eva ( 1 );PDato:= TPDatosKll.ometraje( ExtraigaElemenro )i
- IF PDato^.?ipodeDato = rSr THEN3EGI!.I
PDar-o^ . Lis:acambios : = YectoriPDato^ . Numero_de_Ca¡r¡bi,os : = NCambios ¡
END,UNTIL ( PDaEo^.TLpodeDato = rCr ) CR ( Ac.-ual - Ultimo l,-:t!t
fSSTRUCTOR ObJ KlLomeE,raj e - Libere3;3¿Gi!{
=Iir.ineTodo,idicionLlsta. Llbere2 ;
?RCCEDURE LeaDatosVehiculos; { Para poder ser llamadc desde un menu. }=EiTtl
i{ITIi KiionetraJe i)oEdi-rar(r LISTADO DE PARTES 'r' Descripcion
¡ Asum. i Ult. I Prox. lr,Prln, Opclonl;
¿ND,
?RCCEDURE LeaDatosKiiome-Lrajesi i Para poder ser Llamado desde un menu. )!J¿uIN
'Í,¡ITH Kilometraje DOEditarKilometrajes( ' KILOPIEIRAJES r, I Descripcion
Asum. i Ult. I Prox. l',Prin, Opcion);
itiD;í 9** Fin de los métodos de 1os datos de los Kiiometraje *** l
i .\quf comienzan los métodos del manejo de datos de Combustible iCCNSTRUCTOR Obj Co¡nbustible. f niciallce3,VAR Dato : TDatoscorubustible,
i : l..NMaxCambios;tsEGiN
IniciaJ.icel iGuardado:= Ealse;/ü^¡ ^-.- ^.vPe4v¡¡.- ¿,Prin:= 1ii Tipos de datos: C=Sistema, S=Subsistema lDa.to. Fecha : - rAA-MM-DD' iDato.Kllometros:- 0;Dato.Galones:= 0;Dato.Valor:= 0;InserteDato( Dato ),
END;
PROCEDURE ObJCombustlble.InserteDato( Datoscotrüustible : TDa-'cscombus¡tlble )i'v'AR Dato : 'tPDatosconbustlbleiBEGIN
Nesr( Daro liDato^ : = D¿toscornbustlble,AgregueElenento( Dato l,
:ND;
PRoCEDURE ObJCombustlble.cambieDato( Datosconüustible : TDatoscorüust.ible l;VAR Dato : TPDaroscornbustible,EEGIN
-
46
:! A.:ual. '/¡c:" TIIIii:.i ArJl: ¿
Da ia : = ;::!:ra i ;a¡il.:menca iiF D¿i-,-1 Nii liiEit Data := ¡,at,l.;C,r:nbr¡sr-:Llic,
¿IJD,::¡l;
i,S;.OiE DIiRE Obl Csr'b us r- i. b l'; . I i :ni r¡ e,1.:.- u a :,-!EU¡¡ |
Ei i,mineElemenlo tE:{D'
PROCEDURE CbjCorJrus|.1ble.Mues!rei -i l4uestra el eiemenic,\punEacio.cr.\c'-u¡i'rr ¡var:za.lctuai una c3s:ila Ir/.aR Daio : TPDat,oscon¡tcustibie,SEGIi'I
IF F.ctual Vacic ?HENSEGilt
Eatc:= TPDaicsccrnbus--lbie i f-.,r-rsigaEIemen!e I ii{riteLn,WiTH Da!o^ DOBEGIN
'rlrite( t lr, iecha:i0, ' j ', Kilcmetros:1i, rl', Galones:l,C:3,rlt, K¡n_Reccrridcs:9, ,',t liiFGalon€s>0THEN
i,Irite( K¡n_R.ecorridos/Galones:10:2r' i' )ÉLDE
Write( t- ':LOr';t )iIF ltn_Recorridos > O THEI.¡
Write( Galones/Krn_Recorridos::.0:4, I i r )ÉLJE
hlrtte( t- r:10, rir l;Write( rSr,Valor:0:0 );GotoXY( 77, WhereY)iWrite( 'l , );
END,END,
END;
PROCEDURE Obj Combusti"bIe. CaLcuie ;
Dato : TPDatoscombustible;tsm Anterior : TKllometraje;
BEGII'¡-VayaAl Prirnero,IF Actual Vaclo THENBEGiN
Dato:= TPDatosco¡nbustlble( ExtraigaElemento ) iDato^. iún_Recorridos != 0iKm_Anterior := Datc^, Kilomef_rosiCambieDato( Datc^ ¡;IF Actual Vacio THENREPEAT
Mueva( 1 l,Dato:= TPDatosconüusrible( ExtraigaElemento liDato^.Km Recorri.dos:= Dato^.Kilonetros - Km AnterloriKm_Anterfor : = Dato^ . Ki lomer- ros ;CambieDato( Dato^ );
UNTIL AccuaI^.Sig = VacioiEND;
END,
PROCEDURE ObJ Combust ible . LeaDatos,\AR oato : TDatoscombustible;
PDdto : TPDatoscombustible;l'rec : Integeri
BEGINGuardado: = t'alseiDato:- TDatoscornbustlble( Extl.rj.g;rElemento^ l ;WITII Dialogo DOBEGIN
-
47
¡l3rirceniredo(43, :r, rilJFCRI{E DlARIr.) DE 1;CjttE:jjT:-¿LE, t;'¡lr.l :eLn I ' F: .: A,lre.J.¡r ,rar:o. r !i¡¡!:r.eLnlr F:, = a¿r.&t ¡r 1.1r.?- ' i iil¡¡¡--¿¡ 1 t Esc = S¡i¡r sin c¡rtb: rr .la¡....r. ' ) ;.l.qreqerlnt-rscfac¡o ( r iec¡:.¡: ', DaEc. i'ea?ta , i?.ate7arL¡,r-=aoaEnie ro i' ¡:j. l :mel rai o a r t ja¡ f .iij :.orf,e i r):! ; ;;.';:e'Ja:Xi.--.r!daRe¿.j, {'G¡i,;¡¡.:s: r, :atJ. j.¡::nes j iP.,¿!eqarlíataclaRea.L ( rprecj.,:: t, Dar-o.'iaL.rt i il4anejar( .j, i?2, i3, iscj )tCerrar;CASE Caracte! OF
F2 : InserteDato( gatc i,!'3 : CambleDató( Dato ),
END,END,
:¡¡D,
ISSTRUCTOR Obl e?rüustible. Llbere3;:EGiN
gIiRiieTodz;Edic!onl.ista. Li.bere2 ;
:liD,-.iR Co¡r,bustible : ObjCornbustlble,
-:tccEDüR.g LeaDa:oscombustible; { para pcdel ser Lia¡oado desde un nenu. i3gGIN
WITH ConüusE:ble DOoEurlt
Calcule;'Edltar(I CONSIjMO DE COMBUSTIBLE ',
' i Fecha I Klr¡ Acumul I Gaion I Km reco i Km/Gal I GaI/Km iValor l, ,Primr O,pcion ) ;
END;E}.IO;; +** Fin de los métodos de i.os Catos de los Co¡nbustible *** l
i Aqul comienzan los métodos cei manejo de daros cie Histori¡ Ce Reparaciones laCNSTRUCTOR Obj Hisroria - inicialice3;'¿'á.R Dato : TDatosHist,oria,
i : 1. .NMaxCambios;EEGIN
InlciaIicel;GuarCado:= FrlsetCPclon:= 2;Pri¡n: - 1;{ Tigos de datos: C:SisteÍu¡, S=Subsisterna }Dato. Fecha:='AA-MM-DDr iDato.Kil,ome:ros:= 0;Dato. DescriFclon:= ' ';Dato.Costo:= 0,InserteDato( Dato l,
END,
PRoCEDURE objHistoria.rnserteDato( DatosHlstoria : TDatosltlstoria ),'v'AR Dato : TPD¡tosHistoria;SEGIN
New( Dato ),Dato^ := DatcsHlstoriaiAgregueElenento( Oato )i
'ND;PROCEDURE ObjHistoria.CambieDaro( DacosHistoria : TDaEosHistoria );VAR Dato : TPDstosHistoria;BEGIN
lF Accual Vacto THEl.l;,EGIN
n¡to : = ExtraigaElementoiIF I)ar.o -> NiI THEt.l DatL)^:.= DarosHtstori¡;
-
48
¿t'rD,¿lrD,
?RCCEDUitE Obj Hl storla. El inineActr¡al it&srr{
:l i.ni.neElemento;a¡¡Dt
?ROCEDURE ObJ Historl a. i,fuesr re i{ Muestra el elemento Apunt¡do por Actual y ar/an:a Actual una casilla }VAR Dato : TPDatosHlstorlaitsEGIN
fF Actual Vacio THENBEGIN
Dato:= TPDatosHistoria( ExtratgaElernento );WrlteLntWITH DAtO^ DOBEGIN
Write( 'l I, Fecha:8, t l t, Kilonetros:8,r | 1, Costo:i0:0¡I | ', Recorte ( Descripcion ,461 , , l, | ¿
END,END,
END,
PRCCEDURE ObJ Historta. LeaDat-os i"/ARDato : TDatosHistoria;
PDato : TPDatosHistoriaiFrec : fntegeri
BEGINGuardado:= False;Dato:= TDatosHistoria( ExtraigaElemento^ )iWITH Dialogo DOBEGIN
Abrircentrado(73, 9, I !{ISTORIA ' ,;Writeln( | t2 = Agregar dato.') iWriteln( I F3 = Cambiar Cato. , );Íüriteln { I Esc = Salir sin catüiar datos. r ) ;AgregarEntradacad( t Fecha: ', Dato. Fecha ) ;AgregarEntradaEntero( rKilcmerraje: I, Dato.Kiionetros ) ;AgregarEntradaByte(rTipo de Reparacion:r, Dato.Tipo_Reparac!.on, 19, €Reparacion
ItAgregarEntradaReal( rCosto de 1a Reparacion: r, Dato.Costo )iAgregarEntradacad( f Descripción: r, Dato.Descripcion )iManeJaE( 3, Í82, F3, Escl )tCerrari
' CASE Caracter OFF2 : fnserteDato( Dato );F3 : CanbieDato( Dato )t
trlln.END,
END;
DESTRUCrOR Obj Historia. Llbere3 ;BEGIN
ElimineTodo,Edicionl.ista. Libere2;
END;
',/AR Historia : ObJHlstoria;
PRoCEDURE LeaDatosHlstoria; ( pare poder ser llamado desde un menu. IBEGIN
WI?H llistorla DOBEGIN
Edltarlr HISTORIA DE MANTENIENTO t,!l Fech¡ iKilomet.i Costo i Lrescripcionj"Prim, Opclon);
END,
-
49
I}ID;[ "' lin ie Ll)s !$éEod¿s Ce L'zs ,latos de los i{i.;r-.¡ri¡ "** i
í F.qr,t comi4nzan los métodos del lnanejo de dat-os de Gastos de'/ehfcu.,cs lCCiISTRUCTCR Cbj Gas t.cs. ini:i aI lce3;VAR Dato : TDar-osüasl-fsi
i : L..l¡MexcambiDsiBEGiII
!nic i al icel ;Guardado:: !'al.seicpcicn:= ?;Prirn: = I iDato. Fecha:= rAr\-MM-DDr ;Dato, PLaca:='XLX-XXXr ;lato.Kilometros:= 0;Dato.codigo:= o;Dato.Cantldad:= 0;Dato. Precic_Unitario:= 0i-ata.Descripcion:= ";;nseriEiato( Dato );
END;
PRCCEDURE ObjGastos.Inserr-eDato( Datoscasi-os : TDatoscastos )iVAR Datc : TPDatoscastos;BEGIN
:¡e''¡( Dato ) iDato^:= DatoscastosiAgregueElenento{ Dato };
END;
PROCEDURE Objcastos.CambieDato( Datogcastos : TDatoscastoa liVAR Dato : TPDatoscastos,BEGIN
:F Actual
-
50
rdtTu ':¡ r | ^A.-. :rrr
tsEGINAbtii,ieniraá-¡ {53¡ iir r 'ids!.}s ' I ;iir -:¿.Ln i Il'Ir::eri ( 'Wr: --eLí: ( '
:'2 = Ag:eqar .1¡?-o. | );:'3 = {:3¡TrDidr,iat2.');
Esc = se]:r s:n canüi3r d¿tos.rli
: TPDatosKilometraJei: Boolean;
3, 2. 74, 20, ' LISTADO DE PARTES PARA REVfSAR ,, ColorFondo,
.l.qregnrEntrad¡C,rd ( '9echa: ', !¡t:. :echa j ;Ag;egarEntradacad( t?Iec¡: r, Jata.¡i3ca ;,Agr€garEntradaEncerc( t.
-
51
'5' : i.iEGIil:Í l:lIJ¡ne!'-:'ri€ -?r::.:!.-.':ú
.:- !.-i-afie".=a:'j -A.::.rjá¡ .Cítnr.=.-i _!i: - -,Ínet-ra.i.rTI.JEi¡
óEIJI.I
a^r.-l"/, ' '{ha-av .
:irltei I : r, :e._s..:r:i:.,:!Lan . ;.:;o-.c;iYi ;.i, ,iherej ;i.úFr-á/r' r rÉá¡,,an-ia F.SL:rtid3:{ ),SotcxÍ( 5ú, liheref j;¡¡rite{ | ; r, Kilometrrje_ul:ino:4 );Gor_o¡:T i i7, i,¡here'i j ;?¡rite( I ;', Kiio¡netraje _?r:ximo
-Kiiome-!raj e_i.c--'JaI:5 ) ,GotcXY ( 65r l^lhere'f l ;i{rite(' i', Kil,cne-.:3je_?r.ximo:4 iicoroxY{ 72, 'dhereY )iwriteln(rlrliñÉlgArUl.l?:L ReadKe,l = ' 'i
gi.¡D,
iE Kilomec:aje_:rcx!!:.tr < :(j.l:netraje_.lctuai THEI{ETUI N
GorcNY { 42, :.¡hereY-1 ) ,ir¡ritel,n( r't \'
EI¡D;END,
END;END,IF KiLonetraje.Actual = Kilometraje.Ultlmo THEN
Salir:= TrueiKilometraje.Mueva( 1 );
UNTIL Salir;¡{rite ( 'Presione para Salir. I },Readl,nicerrarventana;
END;
PRoCEDURE Datoslniciales;DEgITT
Guardado:= FaIse;I{ITH Dialogo DOBEGIN
Abrircentradol?3' 20' I ESPECIFICACIONES DEt vEHIcULo ' );AgregarEntradaCad('Placa: I, Placa ; iAgregarEntradacad( 'Número interno: ', Numerc_Interno ) iAgregarEntradaCad( rMarca: I, Marca l iAgregarEntradacad( 'Tipo: "; TiPo );AgregarEntradacad('Modelo: ', Moc¡elo ) ;AgregarEntradacad('CoLor: r, CoIor ) iAgregarEntr3dacad( rCapscidad: I, CapacidaC ) iAgregarEntradaCad('Número de motor: t, Nurnero_de_Motor ) iAgregarEntradacad( tNúmero de chasis:', Numero-de-Chasis );AgregarEntradacad('Caja de velocidades:', caja-de-Velocidades ) tAgregarEntradaCad( tCarroceria: r, Carroceria ) iAgregarEntradaCad( tClase de vehfcuio:', Clase_de-\¡ehiculo ) iAgregarEntradacad ( 'Conductor: ', Conductor ) iAgregarEntradaCad('CeduJ.a:', Cedula ) iAgregarEntradacad( tTelefono: ', Telefono );AgregarEntradacad('Dlrección: r, Direccion ) ;AgreqarEntr¡dac¡d ( r Fecha: I, Focha ) ;AgregarEntradaEntero ( 'Kilometrej e: t ' Kilornetraj e_Actual ) ,AgregarEntr¡daEntero ( I Contrcl Kilomet raj e : I' Control-Kilu'mer.raj e ) ;Manejar( 3, IEscl l,Cerr¡r;
END;END;
PRoCEDURE Imprlmi rProgramacion;vAR Datü : TPDat-osKilometr¡je;
,:ar : rlhari
-
52
..:alir :3o,tie¡rr;llsposit-i.';o z'lttzli
!,iE3i:!i.r:,i'ferir-tA¡( .i, :, 6,i,'-':, I ::-::.!.DO l)!: l¡.RT35 !.4:¿Á i.!:"':iAR', i;::'r:-::,::,
.:oLn:'-e?:=Js : ttir'-'-eLnl t-li i¡ ne:io :g:'.t::.: c-'; LÍeier,:,L-3 -i¡-7ar -:.: j:¡:-:s :;r:?i :e' ;:f=::ei.r¡(':nprln!r. ii :1+7 :t 'rr: --r .rL !i:.c::nir Je -:,i"-'r':'..:rrt'l:'i +i'li?ir:--€Ln ( rcr??r.¡me. r, ;writeLn( t-revise 'jue ia -;rosesi,r¡ e.sté 'it¡JenJiCa, ::n e! üaf,ei J..i,s-.1 7'l;i^l:i-cei.n ( 'que es¡é en i lr¡.ra :r)l¡ :;:¡E ) . I ) ,wri-.eln(tSi desea Cetener ia inp:esión epague Ia inpresora. | )i?¡r:-.el.n( rOprima:' ; ;Wri--el.n( | Fl Inc:l:nir.' I ;lfriie.Ln(r i'2 Generar Ar4:'.ivo '.¡Rlr);wrlie (' isc lio i::prin.i.r. ') ;car:= UpCase( LeaTecI¡ ;;Ii :ar = il THEII
Assign ( Disposici'.ror '?ill' ) i.i.¡ :af = r¿ ilri{
.r.ssi,fn( Dlspos:rivc, ?-z=a + r.?Ri. I ;iIl :ar :N [31' ¡2] THEN
3EG;}IRei.rri'ue ( Disposit:vc i twr:teLn( Dispcsiti...ro, ' ?.RcGR¡.!rA D3 I,ÍA¡¡TEI'IIMIENTC 9RE:r'E:lT:1.'Or ) i.'{rltel.n( Dispcsi',:i'c, I TRANSEyPF.oUES L:DA. I i;?¡:liel,n( Dispcsl-':-ro i,¡ir:i-eln i Dispositl'o, rr/e.-.i.:u1o: I , Placa, t *'imero int-e::lo: ' ,
Numerc_interno, I Fecha: ', fecha )iWri-.el,n( Disposi-ui,vo, 'Condüclo:: ', Conductcr ),
'tri:el,n( Disposir-1"o, rKiicmeEraje: t, Kflometraje-Actual' ),
'/üritel.n( Dispositj.vo );wrlteI,n( Dispositivo, r+--------
____+ , l ;tiritel,n( Dispositivo' | |
i Dif i Prox ir)tSa1ir:= FalseiKi lometraj e. vayaAiPrimerc;
Descr j.pción
REPEATDato:= TPDatosKilomer-:aje ( ii:ismetraje.Ex'.raigaElemento ) ;Kilometraje.Calcule( Da:c ) ;i^flTt{ Dato^ DOETgII\
CASE TipoDeDaEo OFrCr : BEGÍi{;'¡ritel,n ( lisposiiivo' I
---+------*------+-------+------ i' I i
¡ rÉé¡ I lllF
i
THEN
| | lr.| | 1.END,
rS' : BEGIN
:{riteln( .-isposi'.i'/o, I l "
Reccrte(Descripcion¡4€'i¡' I i
r. tai i.-re-rria !).a:¿imO
-
53
iii¡T;L Jaiir;¡l: !'-,:¿n( liJoosici.'/o, r'I-------
_____., ) ;::2=ei :j.:p'ls:r-ivo ) ;
a¡1".'ierrtr i'encana;
ilt1.
PROCED:JRE Impririi rListacomp].ota ;'/AR. iat-o : TPDatosKllometraje,
.e: : char;sa.Lir : Boolean;fisposit,ivo: Texti
tsEGI}¡.qbrÍ¡Ventana( 3, 8' 64, LI, t LISTADo DE PF.RTES r' :tLorEondo' Colcrletr3s ;;wrj.--eln(t-cl ha hecho cambios es preferiDie .5ali¡ar las da!'rs entes cer )i?iritetn(rimprimir. Si hay Llo é!!¡¿r ai j.mprimir se interruÍpirá eJ-r );wrli-ei.n( !prcgrama. I ) i:{ri--e:nl rRe'rise que ia irnprescra esté -'r:ce!-¡'liia,, cc:: .Ji pace: ;!:;¡-l ';t', i?,¡ri--ei.nl'que esré en Línea (ON L:NE).';;'¡lri--eln(rSi Cesea detener Ia i.npresión apague la ir"presora.'!;tdr:.-ei.n(rOp:ina: I ) iWritei.n( I F1 Imprimir,') i'dri-,el.n ( ' F2 Gene.rar Archivo '. PR2 I i ,wr!--e I I Esc No inprlnir.');car:= iJpCase ( LeaTecl,a ),fE car = F1 THEN
Assi,ln( Dispositivor rPRN' )iiF car = F2 THEN
Assign( Dlspositivor Placa + '.PR2' )iIF car IN [F1, F2l THEN
BEGiNRe¡rrite( Dispositivo );Wrj.tel.n ( Disposir-ivo, IWriref.n( Dispositivo, IWriteln( Dlspositivo ),Writeln( Dispositivo, tVehiculo: r, Placa, t N'lmero inte¡rno:
"Numero_Interno, t Fecha: ', !'echa iiWriteln( Dispositivo, rConductor: r, C,lnduccc'r );writeln( DÍspositivo, rKilometraie: I' Kiloríe*-reje_.+ctuai )iWriteln( Dispositivo ),Writei.n( Dispositivo, r+--------
-___+ r ) iwriteln( Dispositivo' I i Descripción ¡ trra-r !l'li
i Dif i Prox i'l;Salir:= False;Ki lo¡netra j e. i/ayaAI Primero iREPEAT
Dato:= TPDatosKilometraje( Kllometraje.ExtraigaElemento ) iKilometraje.Calcule( Dato ),i¡ITH Dato^ troBEGIN
CASE TipoDeDato OF'Cr: BEGIN
Writel.n ( DisPositiv\], r+----------f------+------+-------+------i' ) ;
Writeln( Disposltivo,'lt, Recorte(Descripcion,45),'i i¡ tt.| ,t
END,rS' : BEGIN
BEGINflriteLn ( Disrrositivo,
t , Recorte { Descriírcion, {5 ) ,' , Frecuenci¡.. Asu¡nida : 6,r, Kilometrsje_UIcimo: 6,', Kilometr3j e_PrLrximo-Kilometr¡ i e_ActuaI : ? tr, Kilomet!'aj e_Pr¡ximo: D,
E:ND,
$ND,
9ROGRAMA DE ]'ÍANTEI¡IMfENTO PREVENTf':Or ) ;TRANSEMPAQUES LTDA. I );
-
il
:r!ñ.
,l í l.l.i. ic:r,e t ¡a j e..:.,:c ja I .= ;{l :.rne r- :a j e. U ! ¡_ ino ?i.l¡!li¡t ia: = lr',re;
i:iiome:riie.Muev¡ ( L i,'.'rJT:;. gai:'lr::"Lr¡( :isDos!Ei','o,'t-------
_____+ | ) i..iloce( Sispcsitivo ),
E¡.JD,Cerrarventanai
:¡fn.
?RCCEi'.,rRE'rtAll Dai-?
Sai:. rDispo€i.Ei./o
BEGIN.¡.Jcr:rventana (
i;wriieln('si ha hecho caÍ¡bios es preferibie saivar los datos antes der);-r{riiel,n(rinprimir. si hay un error al impri¡nir se interr.lrnpÍrá er'},?¡rj,*-eln ('programa. . ) iwrii-eln('Revi,se que ia irprescra esté encendida, con er paper lis.lo yr);'/üri:-eln( 'que esté en iinea ioN :.Il¡E) . I l;tdriiel.n('5i Cesea detener la:.npresión apague La irnpresora.rliWritel,n( rQorima:');9ürit-el.n( I il Imprimir. r );Wriiel.n ( | F2 Generar Archi.,'o ". PR3 t ) ;l{rl¡e ( | Esc No imprimlr-');car:= Upcase( Leafecla l,fF car = Fl THEN
Assign( Dispositivo, ,pRN' )iIF car = F2 THEN
.q,ssign( Di.spositivo, Placa + r.pR3' l;IF car iN [Fl, F2l THENBEGTNRehrrj.te( Dispositlvo l;Wri:eln{ D:spositivo. r fiiSTORfA DE MANTENI}IIENTCT );Writeln( DLspositivo, ' TRANSEMpA9UES LTDA., l¡
"l{rirel.n( Oispositivo )twri:eln( Dispositivo, rVehlculc: r, piaca, r ¡,¡úmero lnterno: r,
Numero_Interno, r Fecha: r, Fecha )i$¡ri:ef.n( Dispositil,'o, tConductor: ', Conductor l,Wrireln( Dispositivo, rKilometraje: r, Kllometraje ActuaI ),'rüriteLn( Dispositlvo )t.'{ritel.n ( Dispositivo ,
| +-___-___-_______+ | l ;
Writeln( Dispositivo,' I Fecha i Kiioq¡et. i
WriteI.n( Disposltlvo,
Reparación
t +--------+--------+--- _+__________+__ _______------i');
Sallr:= False;Historia. VayaAl PrimeroiREPSAI
Dato:= TPDatosHistoria( Historia.ExtraigaElemento ) ;';{ITH Dato^ DOBEGIN
I¡?,pr inir_H: s-,o ri a i: TPDat-osHisi.oriai: Chari: Boolean;: TEK!i
3, 3. 64, :.i, ' !i:STCRIA DE :,!AN:E¡¡f¡4fEt{TC r, ColorF,:ndo, ;oiorlerras
i costo i Descripcion
llritel.n (,!
I
t
I
gND;
iF HistorÍa.ActuaI - Hi.sto¡:i¡-UItirno THENSaIir:- Truei
Histo r!. ¡. Mueva ( 1 ) ;
Dlsposicivo,l', Eecha:8,I r, Ki]ometros:8,I I, Recorte (Reparacion ITipo_Reparacionl ,36 ) ,l r, Cost,o:10:0,l', Recorte(Descripcionr{6}, ti' t;
-
55
IjNTJL:,-atir;?¡t'¡ )ñ¡ - a ni
-
56
'i t, Cos¡:.c,LIaO.t:r, Ree.rrf.e(Deseri n,':i¡rnri6l, r't liEND,iF Histori¡..l.:tue!. = i{i.stori¡.'Jl rim,r T!{Et{
c¡t i ¡.-- rñta.:{ist.cr:,a..'4r¡eva í I i;
UIITIL SaLi.r,'i{riteLn ( Disps.sitivo,
| ¿--------------;;";-;;";;;;;;;-il-----*' "
Elt n.END;
PROCEDURE I¡nprini r_Consu¡no_Ccmbust ibl e,VAR Dato : TPDatoscombustible;
car : Char;SaLir : Boolean;Disposltivo: Text;
BEGI}¡Abrirventana( 3, 8, 64, LL, I CO!¡SUMO DE CCMeUSTfBLE', ColorFondo, Colcrletras )iwriiei.n(1Si ha hecho cambios es preferioie saivar Los datos ances cie'itWriteLn(rimprimir. Si hay un error al impr:mir se interrumpirá e]');Writeln ( rprograma. ') ;Wrltel,n(rRevise que Ia impresora esté encendlCa, ccn eL papeL llstc yr);Writeln(rque esté en lfnea (ON Li¡¡E).'),Writeln(rSi desea detener la impresión apague ia impresora.t);ülritel,n ( rOpriÍ'.a:' ) iWriteln(' E1 Imprimir.' ) ;Writeln(r F2 Generar Archivo *.PR5r);Write ( I Esc No imprimir. I l;car:= Upcase( LeaTecla liIE car : F1 THEN
Assign( Dispositivo, 'PRNr );IF car = F2 THEN
Assign( Dispositivor Placa + r.PRs' )iIF car rN [F1, F2l THEN
BEGINRewrite( Dispositivo );I¡Iritel,n ( Dispositivo, Ihlritel,n( Dispositivo, IWritel,n( Dispositivo );Íüritel.n( Dispositivo, rVehfculo: ', Placa, ' Número interno: r,
Numero_lnterno, t Fecha: r, Fecha );Writeln( Dispositlvo, rConductor: r, Conductor );Writel,n( DispositÍvo, rKilometraje: r, Kilometraje ActuaI );Writel.n( Dlspositivo );Writel.n ( Disposltivó" +-----:---
Writeln( Dispositivor'l Fecha i Km Acumuli Galon i Km reco i Km/GaI iGaIlKm I Valor i' 't ;
WriteLn( Dispositivo, r+----------+----------+----------+---------J.----------+----------+----------i ') i
Sallr:= FalseiCombustlble. VayaAl Primero ;REPEAT
Dato:= TPDatoscombustible( Combustible.ExtralgaEleltlento ) ;WITH Dato^ DOBEGIN
Write( Dispositlvo,r l r, Fecha:10, ' i ', Kilometros: Iü, r i ', Galones: L0:3,ri I, Km_Recorridos:9r' l' li
IFGalones>0THENWrite( Dispositivo, Km_Recorridos/Galones:L0:2r' i' .)
EL¡EWrite( DispositÍvo, r- ':10, rir )i
IF Km_Recorridos > O THENWrite( DlsposiEivo, tialones/Km_Recorridos:10:4,'i' )
Wrlte( Dispositlvo, r- r:10, tit );Write( Dispo.sitivo, Val.or:10:0, .l' );
CONSUMO DE COMBUST]:BLEI i;TRA¡ISEMPAQUES LTDA. I );
-
57
i{r!'-eLn( Disposi:i:¡o ) ;[.¡rD,IF iombus'-ible.¡'\ccu.¡i - C;;n¿¡.stibi.e.Ul:imo :iiEll
3¿Iir:'= True;ac:rust!b.l-e.Mueva ( 1 i;
U¡lTiL Sa.Lir;;.¡ri'-eln ( Dl.pcsitiv,r,
__---_+ r ) ;Close ( f,lsposi t.iv'o I i
END'Cerrarventana i
END;
?ROCEDURE imprimi r_Gastcs iVAR Dato : TPDatoscastosi
car : char;Salir : BooleaniDispositivo : Texti
tsEGINAbrlrventana ( 3, 8, 64, L!, I '-:¡.STCS i.= :/EHICULOS I, CoI,rrFcrC.:, 3:-::Letras ) iWriteln('Sl ha hecho.:ambios es p¡eferlbie sal'¿ar los datos ¡ntes:e'i;writ-eln('imprimir. Sl hay un ¿rrcr aI :np.rinir se lnterrump:rá elr:;'rfElteln ( tprograma, t ) ;r/ürlteln('Rev:se que ia impresora esté encendida, con eI papei listc'/')i'rdrit-eLn( rque esté en :.Í.nea (ON Li¡¡E) .'¡,Writeln{rSi desea detener J.a !,mpresión apague Ia impresora.r);WEite:n('Oprima: t );Writetn( I F1 Imprimlr. I );Wrltel,n(r F2 Generar Archlvo *.PR6rl;wrlte ( | Esc No ímprimir.') icar:= Upcase( LeaTecla l;IF car = F1 THEN
Assign( Dispositlvo, rPRNr )iIF car = F2 THEN
Assign( Dispositivo, NonbreArchlvocastos + r.PR6r lifF car IN [F1, F2] THEN
BEGINRe!.¡rl'.e( DisposÍtivo ),Writeln( Dispositivo, !WrÍteln( Dispositivo, I'rilriteln( Disposl,tivo ),Writeln( Dlspositivo );Writeln( Dlspositivo,
GASTOS DE VEH:CULOSI J'TMNSEMPAQUES LTDA,' ;,
--;;;;il;;;;;;;,--- ---+rliri Fecha I Placa iKilcinet.: Códiqo iCantidadl Precic I V.ricr I
DescripcicnWriteln( Dlspositivo,
'l lvehfculoi i i i Unldad I T,)taI i
Writeln( Dispositivo,r +________+______-_+________+________+________+________+___-_____+
---i I ) ¡Sallr:= False;Gastos . VayaAL Primero iREPEAT
Dato:= TPDatoscastos{ Gastos.E:
-
58
5¿lir:= Trueiüdstos.i4ueva( I it
i.tNT::. Sailr,ilrL:eln( DiepositLvo,
t +-----------;;;;;;-;;;;;;;;-;;-------------+' I'
Ei¡D,Ce rra rventana i
END,
PROCEC'iRE Guardar Datos de i'ehicul,cs;VAR DatcKilometraje
Da*-ocordcust ibleDatoHistoriacar
SalgaNo¡ibreArchivo,Coiigo_de_Er¡or : StringiAr3hi.vo : Text;i : 0.,lJMaxCambios;
BEGlNAbri.r\.entana( 13, 14' 52r 5' I GUARD¡R LOS:ATOS E¡J tfSCC r, ColcrFondc,
Colorl,etEas ) tl{osirarcursor ( 0, 13 ) ;lio¡r,breArchivo := PIacaiLeai3o, Redr No¡nbreArchivo )iPlaca : = NombreArchivoiTex?-Backcround{ coiorFondo };!{ri.teLniOcultarcursoriIF Caracter = Enter THENBEGii.I
Asstgn( Archlvo' NonbreArchivo + '.PREi ),ttL-lRe6et( Archivo );($r+iIC:= IOResult;Str( IO' Codigo de grror )i:ar:= tSt;lflo=0THENtsEGIN
i{rltel,n( No¡rüreArchivo, I ya existe.r)i'r{riteln(r¿Desea Reescribir encima de é1.? (S/N) I };car:= UpCase( LeaTecla li
gND,. IF car = rS' THEN
BEGINt)l-'Rewrite( Archivo ),t lri IfO:= foResult,Str( Io' codigo_de_Error )irF IO O THENMensajeErrorl L2. rError Guardando Archivo en dlsco. Codigo de Error del
DOS: r+ Codlgo_de Error )
ELSEBEGIN
hlrite ( 'Guard¡ndo r, Nomb.reArch:vo ) ,write[.n( Archivo, I ARCHIVO DE DATos' ),writel,nt Archivo, I - ------' );wrlteLn( Archivo ltwrtteLn( Archlvo );wrlteln( Archlvo' Plica )iwrttel.n( Archivo, Nunero_Interno );writeln( Archtvo, Marca );Writeln ( .qrchivo' Tj.Po l ,Writeln( Archivo, Modeio ),9{rlteLn ( Arch j.vo' üoior } ;
: TDatosKllometraje¡: TDatoscc¡nbustibie;: TDatosHlstoria;
: Char;: 'dord;: Boolean;
-
59
rjrr:tel.n ( Archi.vo, capacidacl ) ,:{ri:eln( Archivo, }¡umerc de ttotor ii:{ritei,n( ;rrchivo, iJumerr¡1je-,;hasis } ;:"trit.eln{ Archi-vo, caJa_d;_.6ioc!cjades ¡ ;.l{rir_eln(,qrchivo, C¡rr6ceii¡ ) ;'.¡ri.-ef.n( ¡\rchivo, Ciase_de_Vehicuio ) i,{ritel.n( Archivo, Conciuétor l;i¡riteln( Archivo, Cedula i;Writel,n( Archivo, Telefor¡o l;i{rit,el.n( Archivo, Dlrecclon ¡;Writel.n( Archivo, Fecha );'rlrlteln( Archivo, Kilometraje_Actual ),.driteLn( Archivo, KilonetraJe prinero l,hfritef.n( Archivo, KilometraJe Ul-uimo );'/{ritel.n( Archivo, Kilonetraje pro:(imo liWritel.n( Archivo, Concrol-Ki1o-metraje i ;'¡{ITH Kilometraje DOSEcii,l
YayaAj. pri¡iero iSalga:= FaIse;'driteln( Archivo,'KILof,ÍETRA,JES:, i;REPEAT
DaroKllometraje:= TDatosKif lmetraje ( Ex-,ralgaElemento^ ) i'¡IITH DatoKilometraje DOgEGIN
'driteln( Archivc, Descripcion );l{ritel,n( Archivo, T:poteDato );Ífritetn( Archivo, Frecuencia_Asumida: g,Frecuenci¡ Promedio: I,
Numero ,áe_Cambios:9, Kilomerraj e_pr,cximo:.9 ) ;FoR i.:= 1 TO Nuñeró de Camblos DO
ttrite( Archivo, Lis€aCam¡iosIi¡ :g ],WriteLn( Archivo l;END,fF KlLometraje.Actuai. = Kiicmetraje.Uitl¡l.o THEN
Salga:= True;KllometraJe.Mueva( 1 ),
Ul.ITfL Sa19a,END,WfTH Combustible DOBEGIN
VayaAlpr͡nero;Salga:= False;Writel.n( ATchIvo, TCOMBUSTIBLE:' );REPEAT
Datoconbustible:= TDatoscorF,bustible ( Ext.raigaElemento^ ) ihIITH Datocombustibl"e DOBEGTN
tfriteLn( Archivo, Fecha );t{riteLn( Archivo, Kilometros:10, Galones:10:4, Valor rIOr2 ,,
END;fF Conüustible.Actual = Combustible.Ultinro THEN
Salga:= true;Conbustible.Mueval 1 l;
UNÍIL Salga,END,WITH Hlstoria DoBEGIN
VayaAlprinerotSalga:= False;Wrlteln( Archivo, 'HISTORIA:r );REPEAT
li;i"l::ffi:i;,13";B"tistoria( ExtraisaEremento^ ) ;BEGIN
Itfrltel.n( ArchLvo, Fecha );WriteLn( Archivo, Kilometr.os l;Wrltel.n( Archivo, Tipo_Repar¡cion );WriteL¡r( Archivo, Costo ),.hlritel,n( .{rchtvo, Descripcion );
iND,
0fllrntdrd Antñnom¡ nr- t "ulfm¡sEcc¡oN 8t¡¡rroftc
-
60
:i .lisr-crÍ1.Acr-uaI = llisCcria.UIi-iÍo THE:¡iaiqa:= frue;
!{i.'r-oria.M'ieva( 1 I iU!{TÍL Saiqa;
Éi¡D,:'lri¡-elní Archivó, rFIl,l. t !;Cl:rel ¡.rch:,vo ),3uar,á¡d¿: = Truei
END;Ei{D,
EilD,Cerrarvent.anai
END, --
PROCEDURE Leer_Datos_de_'/ehlculos iLABEL SalirPorE¡ror;VAR DatoKÍlometraje : TDatosKilometrajei
Datocornbustible : ?Datoscorabus-.ib1e,Da:oHiEtoria : TDatosHist.oria;5rrcr, Salir : BooLean;IO 3 'i{ordiCodigo_de_Error,liornlcre,S : String,Ar.hivo : Textti : 0. .30tCar : chari
PROCEDURE LeaDescripcion( VAR Descripcion : TCadena )iVAR car : ChariBEGTN
REPEATisr-lRead( Archivo, car li{9r+¡
UNTfL car t t iReadln( Archivo, Descripcion );Descrlpcion:- car + Descrlpcion;
END,BEGIN
Abrirventana( 13r !1r 52.3, ' LEER DATos DEL DIscO r, coiorFondo, Colorletras );Mostrarcursor(0, 13),¡iombre:= Placai9frite('Nombre del archivo: r);Lea (30, Red, No¡nbre ) ;TextBackcround( ColcrFondo ) ;'drii,el.n,Ocul.tarCursoÜIF (Noc Guardadol AND (Caracter=Enter) A¡¡D (NombrePlacal THENBEGIN
Car:= rSr iWri+-el.n( Placa, 'no se ha guardado en el dlsco aún.'!¡I{rite('¿Desea guardarlo (S/N)?' ) ;Car:- UpCase( Leafecla ),IF Car = rsr THEN
Gu a rda r_Datos_de_Veh i cu I os iEND,fF Caracter Esc THENBEGIN
Placa:- NombreiSalir:= FalseiError:= False;Assign( Archivo, Placa I r.PREr );{sr-}Reset ( Archlvo );{9r+¡fO:= foResulttStr( IO, Codigo_de_Error liIF IO O THENBECIN
IFIO=?THENBEGIN
-
61
i.lri'-eL¡¡( ?iaca, t ng ..:e e¡¡ci¡eni-r.:. r );l'lriLe í'?reciu¡¡e IE¡,Leri');S,ea,JLni
¿¡¡!
Ef CE
!4ensaieErrcri i:, rirror ¡i l-eer eI ¡r:hivo. Jocigo de Error del DOS: tf C..jdi.go le ir:-,r j
END3!)¿BEGTN
WEi¿e( rleyendo r + Placa ¡iKiicnetra j e.l, j.bere3;KiJ,onetraj e. iniciaJ. ice3,Co¡n¡cusE,ible. Libere3,Combustlble. Iniclai ice3 ;His-'oria. Li.beEe3;Hi.storia. inicial ice3tReadl,n( Archivo !,Reacil,n( Archivo i;Readln( Archivo l;Reaciln( Archivo i;Readl.n( Archivo, Placa )tReadln (Readl,nReadLnReacilnReadLnReadLnReadLnReacilnReadl.nReadLnReadLn
Archi./o, Numero_fnterno ) ;Archivo, Marca ¡,Archivo, Tipo ) tArchl.ro, Modelo );F.rchivo, Color );Archivo, Capacidad ),Archivo, Nunero_de_Motor ) ;Archivo, Numero_de_Chasis ),Arch1vo, CaJa_de_Velocldades t ;Archivo, Carroceria l,Archivo, Clase_de_Vehicuio ) ;Archivo, Conductor );Archi.ro, Cedula i;Archivo, Telefono );Archlvo, Direccion );Archivo, Fecha );
Readln (Readln (Reaciln (Readln (Readln (Readln( Archivo, Kllometraje_Actual ),Readln( Archivo, Kilomerraje_Primero' iReadln( Archivo, Kilonetraje_UItimo l,Readln( Archivo, Kilometraje_Proximo )iReacjln( Archivo, Control_Kilometraje );
Reac¡Ln( Archtvo l,REPEAT
'ffTH DatoKilo¡netraj e DOBEGIN
LeaDescrlpcLon( Descri.pcion )ifF DatoKilometraje.Descripcion ,COI,IBUSTfBLE: I THENBEGTN
Reaciln( Archivo, TipoDeDato ),ReadLn( Archivo, Frecuencia_Asumida, Frecuencla_Prcmedio,
Numero_de_Cambios, Kilometraj e_Proxi[¡o ] iFoR 1:= 1 TO Numero de Ca¡rülos DO
Read( Archivo, LfstECamblos[i] l;Readl.n( Archlvo ),Kilometraje.fnserteDato( DatoKilonetraje ),
END,END,
UNTfL Error OR (DatoKilometraje.Descrlpclon -'CO|i{BUSTfBLE: I ) ;
REPEATfrtlfH Oatocornbustlble DOBEGIN
Readln( Archivo, Fecha );IF Datoco¡nbustible.Fech¡ THISTORfA:' THENBEGIN
Re¿dln( Archi!'o, Kilornetros¡ Galones, V3Ior l,Cornbusttble..fnserteDrto( Datocombustlble ),
END;
-
62
¿l{D;U:¡Í:L Er¡or CÍt íCatJCi'tí¡br¡üilbie. l',:r.';¡ ='i.ii.;TOF.iir:' i ;ñ& r ¿Ar
ttITH Dacri{istori¡ :totsEG:!{
ileacjl;r í Arch i'.'o, l'eJ::. a : iIF oa:oHistcrl.¡. feci.r .:> r F:l¡. r Trl:¡.ítsECi]¡
ReacjLn( Archivo, r:ilonetrjs iiReadln( Archlvo, Tipo_Repareclcn ),Readln( Ar.^L,¡c, :lstü ),Readln( Archivo, Descripcion ),Hisioria. inserteD3Eo ( Dai.rHisEoria ) ,
ET.ID,END;
U¡{TIL Error CR (DatoHisto!::.Fecha = 'Fi!Í.r);Close( Archlvo )tKi lometraj e. TayaAI Pr:!nero;Ki L ometra j e. f, :. imineAci-ua i,cclr¡us t ib1 e.',¡ayaAi F rinero ;Ccr¡bust ibIe. EiimineAc¡-uai ;Hlstoria. VayaAl Primero;!lisrcria. El:nineAc:ual iGuardado:= T¡uei
END,Ei,¡D,Cerrarr/entana i
END,
PRoCEDURE. cuardar_Datos de_Gastos iVAR
Datocastos : TDatoscastos;car : char;IO : ftlordiSalga : Boolean;Codigo_de g¡ror : S-Lring,Archivo : Textii : 0..f¡Maxcambics,
BEGINAbriri/en-.ana( 13, i-1. 52, 5, I GUARDAR LCS DATOS GENERALES E¡J DIS3O ,, C,:l.3rpondo,
Col-orletras );Mosf,.rarcursor(0, i3) ;Lea(30, Red, NombreArchivocastos );TextBackcround ( CciorFondo );'rfrit eLn,Ocultarcursor;fF Carac--er - Enter T!{ENtsEGIN
Assign( Archlvo, NombreArchivoGastos + r.GAS' lt{sr_}Reset ( Archivo i,{$r+¡IO3= IoResult;Str ( IO, Codigo de Error l;car:- rSt irFIo=0?HENBEGTN
Writel,n( No[üreArchivocastos,' ya exisEe. r)ihfriteln(
".Desea Reescribir encima .le él? is/t,ll r ),
cer:- UpCase( LeaTecla );END;
fF car = rSr THENBEGIN
llr-'Relrrite( .\rchlvo 1,.I$r+1IO:- foRe-rulttStr( IO, Jcdtqo de Error );IF IO O TI{ENMensaleErrct( L2, 'E¡:ror Guardando Afcirj.vo .:n disco. Codicro de Error dei
-
63
lf;¡j: Il Codi{¡o_d*_Error )
EEGlI¡l¡rj,te ( ':¡iarC¡nJú r, llorJ]:?Ar--hiv:G:¡5'-:s ; ;i^¡ri?-el:1 ( Archi'/o, ' .qRc?i:i? lle :A?OS :g :.1STc5' !t:,irit eLr. i Arcnivo, ':1! j.iel.r. ( .q,rchivo i ;?{iTH CesEos iOtsEGIN
VayaAlPrimeroiSalga:= FalseiREPEAT
DatoGastcs:= TDatoscastos( ExtraiqaEl.ementc' i¡:WITH Da.,ocastos DOBEGIN
Wri-,etni .qrchivc, Fecha l,Writel,n( A¡chivo, Placa );t{ritel.n( .lrchivo, KiL3¡netr"s } i'rrfri:ei.n( Archivc, ccc,igc ;t'drltei.n{ Archivc, Canildad },Writef.n( .{rchivo, Preclc_ljnicat'-.) | if¡rltel,n( Archi.l'J, Descri.pc:cn i ;
E}¡D,:F Gastos.Actua1 = Gastos,UItino f¡{E}¡
Salga:= irue;L:astos.Mueva( 1 ,;
UNTIL Salga,END,'drlteLni Archivo,'FIN.')iclose ( Archivo ),Guardado:= True;
END,END,
END;CerrarV€ntana;
END,
PROC=DURE Leer_Datos'ie_Gastos iLABEL salirPorErroffVAR
Daiccastos : Tjstoscastos;Error, Salir : Boolean;IO : 'tlord;codigo_de_E rro r,Nonibre,S : Strlng;Archivo : Text;I : 0..30;Car : Chari
PEGINAbrirventana( 13,'.J,52r 3, 'LEER DATOS DEL DISCO', CclorFondo, üo}.irlet.ras );Mostrarcursor ( 0, 13 l ;Nombre : : NoÍüreArchivocastos iWrite ( 'Nombre del archivo: t ) iLea ( 30, Redr Nornbre ) iTextBackcround( ColorFondo )i'r{riteLn;Ocultarcursor;lF (Not Guardado) Al¡D (Ceracte=-Encerl AND (NornbreNombreArchiv
-
64
:;.rlir:== ial;c;l;¡r,-,r: = ir.¡.1¡c;.¡.ss!';n( .iE€h:\'o, iitr¡¡re¿1rc:ii:J.Jliastns I r.üASr i ;iJ!-llie.set{ ¡.rchi'.'o l;
i5:'=:CResul:i:;tr ( IC, C-"a:qc¿ _7o--_2rror ) ;:F IO ü T:{EXi3EGIN
IFIO=¿T!{5:lBEGiN
:{rltel.n ( ilor¡breArrhi'/ccasios, ' no se encuentra. t ) ililrir_e {'Presicne IAnter] ';,ReadLn;
E}JDE!O&
!4ensajeErrort' L2' 'Errcr ri .!.eer ei archivo. Ccdigo de Error .leL DCS: 'n Ccdlgo_Ce_irror )?rtnr!J¿tsEGIN
Writ,e( 'Leye!':Co t + ¡JornbreAr:hivoGastos iiGastcs. Libere3,Gastos. iniciaiice3;Reail,n( Archi'¿o );Reaciln( Archivo )iReadln{ Archivo );REFEAT
Wf?H Datocastos DOBEGTN
Readl.n( Archivo, Fecha );fF DatoGastos.Fecha rFIN.! TI{ENBEGT}¡
Readln( Archivo, Placa l;Reaciln( Archivo, Kilometros iiReadln( Archivo, Codlgo ),Readl,n( Archlvo, Cantldad );Re3dl.¡r( Archivo, Precio_Unltario );ReaCLn( Archivo, Descripcion );GasEos.InserteDato( Datocastos )t
ENDJEND,
UNTiL Error OR (Datocastos.Fech3 ='FiN.');Close ( Archi!-o l,Gastos. VayaAI PrimerotGastcs . Ei l!nl-neActual iGuardado:= True;
END,END,Cerrarventana;
END,
PROCEDURE Nuevo_Vehl cul.o iVAR NombreAuxiliar : Stringi
Car : chartS¡Iga : SooleaniDatoKilometra]e : TDatosKilometrajei
BEGINNonbreAuKlliar:= I r;AbrirvenEanaccntraca i 53, 3, I NUEVO VEHICULO, rCol,orFondorColorlerrts) iMostrarCursor(0, 131;TextBackcround( Colorl'ondo I iWrite( rPlaca del vehiculo: 'l;Lea(22, Red, NombreAuxiliar l ¡OcultarcursoriTextBackcround( ColorFondo );'driteLniIF ( Not Gu¡rdado i A¡¡D ( caracr-ef Esc ) TFíEflBEGIN
Car:= r¡-t;
-
65
;'Jri Lell¡ ( i'i:a.:^, t ní.) je i..¡ ;u):,1¡,tü en 'rI .lisco ¡ún. t i ;l!:rl:r:( |¿:L'4sea ,Ju.:trdaj..rc iS¡i¿t lI l,I.lr:- UpC.¡se( ;.?á'iec:¡ ;;i!' :i¡r - 'Sr TlíEii ;uarC¿r J¡r_.)s de ,'en:cui,,)si
:rrn.:¡' :eracr-er :sd Tli:!,trii:; N
:'JITI{ Kl.,¡.c¡ne¿r¡je :OEEGi¡¡
VayaAl Pri'r}ero;Salga:= False¡lr--EAr
- Datcl(ilcmetraje:= TDa:jsKilo¡,netraje( ExtraigaElenentc^!{iTH DatoKilorneEraJe iOBEGIN
Frecuencia_?romeCic := 0;l.fu¡nero_de_Cambios := iiKJ.lonetra j e_Proxinc : = 0i
END,K!J.onnetra;e.CanbleDaE"( DatoKiLcrner:¡je i ;I F KiiomeEraj e..qc+-ual - Ki lc¡rietraj e. Uiilno THEN
Sal.ga:= True;KilomerrEje.Mueva( 1 ),
UNTfL iialga,e¡¡D;Coinbustible. iibere3tcombustrble. rnlc1a1lce3;¡{1storla. Libere3i!{istoria. Inicialice3;Placa:= NonbreAuxiLlartNumero_fnterno:- r?riHarca:= t? I iTiPo:= r?r;Modelo:= t?r;Color:= r?t iCapacidad:= r?r,'Numero_de_Motor:= t ? r iNunero_de_Chasls : = ' ? ' iCaJa de_lfeLocidades:= r?r;Carroceria:= .?t iCLase de Vehiculo:- '?.icondu;to;:= '?'iCedul,a:= r?';TeLefono:= t?r;Dl¡ecclon:='?riFecha:= t??-??-7?t,Kllometraj e_Act,ual :- 0iKl.Lometraj e_Prlmero:= CiKilometral e_Ultimo :- 0,Kilometral e_Proxi¡r¡o : = 0;Control_Kllornetraj e:= Oi
END,Cerrarventanai
END;
PROCEDURE Ejecr.¡tar_Programa( Comando : String),BEGiN
SaIve_PantaIla_Texto,TextBackcround( B:.ack ),Textcolor( Lightcr¡y ),StrapveCtorEiExec(GetEnv( 'CO.ISPECT l, , lC ' + 'Clsr );StrapvectorsiMostrarcursor( l?t L3 l¿IF comando 'r THENBEGiN
Surapvectors;Exec(GetEnv(rCO'tSpECr l, , /(: r { Comando lii;idapvcctors;LF DosError 0 T¡IEN
WriteLn('No se puede r:jecutar C(XMAND.CCMT l;
-
66
lAtn.
l)cui t:¿¡gL¡¡gari
,,r"lo"a.rrrr.._pan:a ! I 3 _Texi _ ;
PROC.EDURE l¿ti i¿ r_T¡o I rs;
arro,it""'"ut-Progr:ina {'gür:. ;,.
{'*ú procedÍmientos
li[" "t:-t o-i;- ;' ffi^??i' l: l"i :'- : a .-:on r i qurac icn
;;ffirur, ¡ni.:"ii"!*¿;i;;:;, ca rilcroriie la parrt3iia. **r.rr
CoLores[ ll:_Colores{ 2i :__Colores[ 3i:=Colorest ¡ir=Co-lorest 5j :=uo¿ores[ 5J:=;olores[ 7]:=L:olore6t gJ:=uotores[ 9l:='3oloresí1Oj:=uo¿oresÍ111:=colorestrZi:=
Co lo rFondo : -CoIorLetr¡s: =ColorBarra: =
CFondo - 1,Cletras - L¡
CBarr,r - 1,
CoLores i13i ¡=uororesi14 I :=Colorestl5i:=
,"olotot"" t16i:=
,ll9c E gulE Modo_d e_r¡¡icleo ;yAR___Modo : T0p-cidn;EEGTN
ivJTH Menu DOSEGiN
Abrirxy( 2!, L2 l;Agregar( 't0l3:. Monocromático.,r Nada ),Agregar( r80p¿¡. color.r. N¡¡i. i.ff:ff::l 1335Íl;.1¿;:;;";'';"';"¿; )'¡dreéari 'áó;::',12'ig:4vcA' Mono''r Nada );Modo:= Mod"vi;;tl;'t' EGA'/VGA' coior. ', i"J"'í,Cpcion( Moelo ¡;ModoVld¿6¡= ¡46qs.Cerrari
END,El.¡Dt
5*9"1911" conf ieurarvideo,;ilr;"".."r, CBarra, CFcndo : Byte,
WfTH Dlalogo DOBEGTN
i?;iff::'¡:iljrlk"ul r-coNFrGURAcroN DE LA 'ANTALLA
,),CLe¡ras:=Colorletras + l;CBarra:- ColorBarra + liAgregarEncradaBy:eÍ:golor det Fondo:r, cfondo, a, Jcolores ),'{sregarEnt radaBvte ( r co10 r J. - rir"ilr.as,,,
_ cliátr;. ;-i;; Bcolo res ) ;AqregarEntradsByte(,Color ¿. i.-¡"i