Está en la página 1de 9

UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01

Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

* PROGRAMA PRINCIPAL: Sistema,PRG ********************


* SISTEMA PARA CONTROL DE PRODUCCION * PROGRAMA: HILOS.PRG
* * VERSION : 1.5
SET ECHO OFF * FECHA : 01 Junio 2009
SET DATE ITAL *************************
SET STAT OFF @1,0
SETCOLOR("B/W,GR+/R,R") @1,35 SAY "OPCION A: HILOS"
CLEA DO WHIL .T.
@2,0 TO 2,79 DOUB @3,0 CLEA TO 22,79
@23,0 TO 23,79 DOUB @7,33 SAY "MENU: HILOS"
@0,30 SAY "SISTEMA DE TELARES Y CONTROL" @9,30 SAY "<A> Ingresar Datos"
DO WHIL .T. @10,30 SAY "<B> Modificar Datos"
@1,0 @11,30 SAY "<C> Consultar Datos"
@24,0 @12,30 SAY "<D> BORRAR DATOS"
@3,0 CLEA TO 22,79 @13,30 SAY "<M> Menu Anterior"
@5,35 SAY "MENU PRINCIPAL" opc=" "
@7,37 SAY "<A> TELARES" @24,0
@8,37 SAY "<B> TELAS" @24,30 SAY "Ingrese su OPCION:" GET opc PICT "!" VALID(opc$"ABCDM")
@9,37 SAY "<C> HILOS" READ
@10,37 SAY "<D> PRODUCCION" DO CASE
@12,37 SAY "<S> SALIR" CASE opc="A"
opc=" " DO IngHilos
@24,30 SAY "Ingrese su OPCION:" GET opc PICT "!" VALID(opc$"ABCDS") CASE opc="B"
READ DO ModHilos
DO CASE CASE opc="C"
CASE opc="A" DO ConHilos
DO Telares CASE opc="D"
CASE opc="B" DO BorHilos
DO Telas CASE opc="M"
CASE opc="C" RETU
DO Hilos ENDC
CASE opc="D" ENDD
* DO Produc ******* PROCEDIMIENTO PARA INGRESAR DATOS DE HILOS
CASE opc="S" PROC IngHilos
CLEA @1,0
QUIT @1,30 SAY "OPCION A: HILOS - Ingresar"
ENDC DO WHIL .T.
ENDD @3,0 CLEA TO 22,79
mCodigo=SPAC(4)
Por: Alejandro Huapaya Sánchez Página. : 1
UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01
Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

@24,0 CLOS DATA


@24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar" ENDD
@10,30 SAY "Codigo: " GET mCodigo ******* PROCEDIMIENTO PARA MODIFICAR DATOS DE HILOS
READ PROC ModHilos
IF LASTKEY()=27 @1,0
RETU @1,30 SAY "OPCION B: HILOS - Modificar"
ENDI DO WHIL .T.
USE Hilos @3,0 CLEA TO 22,79
LOCA FOR mCodigo=Codigo mCodigo=SPAC(3)
IF FOUND() @24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar"
CLOS DATA @10,30 SAY "Codigo: " GET mCodigo
@24,0 READ
@24,18 SAY "El Codigo ingresado YA EXISTE. Pulse una tecla ..." IF LASTKEY()=27
INKEY(0) RETU
LOOP ENDI
ENDI USE Hilos
CLOS DATA LOCA FOR mCodigo=Codigo
mTipo=SPAC(15) IF !FOUND()
mNe_N=0 CLOS DATA
mAncho=0 @24,0
DO WHIL .T. @24,18 SAY "El Codigo ingresado NO EXISTE. Pulse una tecla ..."
@24,0 INKEY(0)
@24,18 SAY "Ingrese la Informacion Solicitada" LOOP
@12,30 SAY "Tipo: " GET mTipo PICT "@!" ENDI
@14,30 SAY "Titulo : " GET mNe_N PICT "99" mTipo=Tipo
@14,41 SAY "/" GET mNe_D PICT "99" mNe_N=Ne_N
READ mNe_D=Ne_D
sino="N" CLOS DATA
@24,0 DO WHIL .T.
@24,15 SAY "Estan BIEN los DATOS....INGRESADOS?" GET sino PICT "!" @12,30 SAY "Tipo: " GET mTipo PICT "@!"
READ @14,30 SAY "Titulo : " GET mNe_N PICT "99"
IF sino="S" @14,41 SAY "/" GET mNe_D PICT "99"
EXIT READ
ENDI sino="N"
ENDD @24,0
USE Hilos @24,15 SAY "Estan BIEN los DATOS .... MODIFICADOS?" GET sino PICT "!"
APPE BLAN READ
REPL Codigo WITH mCodigo,Tipo WITH mTipo,Ne_N WITH mNe_N IF sino="S"
REPL Ne_D WITH mNe_D EXIT
Por: Alejandro Huapaya Sánchez Página. : 2
UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01
Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

ENDI IF LASTKEY()=27
ENDD RETU
USE Hilos ENDI
LOCA FOR mCodigo=Codigo USE Hilos
REPL Codigo WITH mCodigo,Tipo WITH mTipo,Ne_N WITH mNe_N LOCA FOR mCodigo=Codigo
REPL Ne_D WITH mNe_D IF !FOUND()
CLOS DATA CLOS DATA
ENDD @24,0
******* PROCEDIMIENTO PARA CONSULTAR DATOS DE HILOS @24,18 SAY "El Codigo ingresado NO EXISTE. Pulse una tecla ..."
PROC ConHilos INKEY(0)
LOCAL Hilos:={} LOOP
@1,0 ENDI
@1,30 SAY "OPCION C: HILOS - Consultar" mTipo=Tipo
USE Hilos mNe_N=Ne_N
DO WHIL !EOF() mNe_D=Ne_D
cosa=SPAC(10)+Codigo+" "+Tipo+" "+STR(Ne_N,2)+"/"+STR(Ne_D,1) CLOS DATA
AADD(Hilos,cosa) @12,30 SAY "Tipo: " GET mTipo PICT "@!"
SKIP @14,30 SAY "Titulo : " GET mNe_N PICT "99"
ENDD @14,41 SAY "/" GET mNe_D PICT "99"
CLOS DATA CLEA GETS
@24,0 sino="N"
@24,5 SAY "Use Teclas Arriba/Abajo o PgDn o PgUp - Pulse <Esc>, para Terminar" @24,0
color=SETCOLOR() @24,15 SAY "SEGURO DE BORRAR ESTOS DATOS?" GET sino PICT "!"
SETCOLOR("GR+/B,W+/R,R") READ
@3,0 CLEA TO 22,79 IF sino="S"
@3,0 SAY " Codigo Tipo Ne " USE Hilos
ACHOICE(4,0,22,79,Hilos) LOCA FOR mCodigo=Codigo
SETCOLOR(color) DELE
RETU PACK
******* PROCEDIMIENTO PARA BORRAR DATOS DE HILOS CLOS DATA
PROC BorHilos ENDI
@1,0 ENDD
@1,30 SAY "OPCION D: HILOS - Borrar"
DO WHIL .T.
@3,0 CLEA TO 22,79
mCodigo=SPAC(3)
@24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar"
@10,30 SAY "Codigo: " GET mCodigo
READ
Por: Alejandro Huapaya Sánchez Página. : 3
UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01
Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

******************** @24,0
* PROGRAMA: TELARES.PRG @24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar"
* VERSION : 1.5 @10,30 SAY "Codigo: " GET mCodigo
* FECHA : 01 Junio 2009 READ
************************* IF LASTKEY()=27
@1,0 RETU
@1,35 SAY "OPCION A: TELARES" ENDI
DO WHIL .T. USE Telares
@3,0 CLEA TO 22,79 LOCA FOR mCodigo=Codigo
@7,33 SAY "MENU: TELARES" IF FOUND()
@9,30 SAY "<A> Ingresar Datos" CLOS DATA
@10,30 SAY "<B> Modificar Datos" @24,0
@11,30 SAY "<C> Consultar Datos" @24,18 SAY "El Codigo ingresado YA EXISTE. Pulse una tecla ..."
@12,30 SAY "<D> BORRAR DATOS" INKEY(0)
@13,30 SAY "<M> Menu Anterior" LOOP
opc=" " ENDI
@24,0 CLOS DATA
@24,30 SAY "Ingrese su OPCION:" GET opc PICT "!" VALID(opc$"ABCDM") mTipo=SPAC(15)
READ mRPM=0
DO CASE mAncho=0
CASE opc="A" mEfic=0
DO IngTelar mPas_Por_mi=0
CASE opc="B" DO WHIL .T.
DO ModTelar @24,0
CASE opc="C" @24,18 SAY "Ingrese la Informacion Solicitada"
DO ConTelar @12,30 SAY "Tipo: " GET mTipo PICT "@!"
CASE opc="D" @14,30 SAY "RPM : " GET mRPM PICT "9999" RANG 1,9999
DO BorTelar @16,30 SAY "Ancho (cm):" GET mAncho PICT "999"
CASE opc="M" @18,30 SAY "Pasadas/min :" GET mPas_Por_mi PICT "999"
RETU @20,30 SAY "Eficiencia (%):" GET mEfic PICT "999.99"
ENDC READ
ENDD sino="N"
******* PROCEDIMIENTO PARA INGRESAR DATOS DE TELARES @24,0
PROC IngTelar @24,15 SAY "Estan BIEN los DATOS....INGRESADOS?" GET sino PICT "!"
@1,0 READ
@1,30 SAY "OPCION A: TELARES - Ingresar" IF sino="S"
DO WHIL .T. EXIT
@3,0 CLEA TO 22,79 ENDI
mCodigo=SPAC(3) ENDD
Por: Alejandro Huapaya Sánchez Página. : 4
UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01
Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

USE Telares @16,30 SAY "Ancho (cm):" GET mAncho PICT "999"
APPE BLAN @18,30 SAY "Pasadas/min :" GET mPas_Por_mi PICT "999"
REPL Codigo WITH mCodigo,Tipo WITH mTipo,RPM WITH mRPM @20,30 SAY "Eficiencia (%):" GET mEfic PICT "999.99"
REPL Ancho WITH mAncho READ
REPL Efic WITH mEfic sino="N"
REPL Pas_por_mi WITH mPas_por_mi @24,0
CLOS DATA @24,15 SAY "Estan BIEN los DATOS .... MODIFICADOS?" GET sino PICT "!"
ENDD READ
******* PROCEDIMIENTO PARA MODIFICAR DATOS DE TELARES IF sino="S"
PROC ModTelar EXIT
@1,0 ENDI
@1,30 SAY "OPCION B: TELARES - Modificar" ENDD
DO WHIL .T. USE Telares
@3,0 CLEA TO 22,79 LOCA FOR mCodigo=Codigo
mCodigo=SPAC(3) REPL Codigo WITH mCodigo,Tipo WITH mTipo,RPM WITH mRPM
@24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar" REPL Ancho WITH mAncho
@10,30 SAY "Codigo: " GET mCodigo REPL Efic WITH mEfic
READ CLOS DATA
IF LASTKEY()=27 ENDD
RETU ******* PROCEDIMIENTO PARA CONSULTAR DATOS DE TELARES
ENDI PROC ConTelar
USE Telares LOCAL Telares:={}
LOCA FOR mCodigo=Codigo @1,0
IF !FOUND() @1,30 SAY "OPCION C: TELARES - Consultar"
CLOS DATA USE Telares
@24,0 DO WHIL !EOF()
@24,18 SAY "El Codigo ingresado NO EXISTE. Pulse una tecla ..." cosa=SPAC(11)+Codigo+" "+Tipo+" "+STR(RPM,4)+SPAC(6)+STR(Ancho,3)
INKEY(0) cosa=cosa+SPAC(7)+STR(Pas_por_mi,3)+SPAC(4)+STR(Efic,6,2)
LOOP AADD(Telares,cosa)
ENDI SKIP
mTipo=Tipo ENDD
mRPM=RPM CLOS DATA
mAncho=Ancho @24,0
mEfic=Efic @24,5 SAY "Use Teclas Arriba/Abajo o PgDn o PgUp - Pulse <Esc>, para Terminar"
mPas_Por_mi=Pas_por_mi color=SETCOLOR()
CLOS DATA SETCOLOR("GR+/B,W+/R,R")
DO WHIL .T. @3,0 CLEA TO 22,79
@12,30 SAY "Tipo: " GET mTipo PICT "@!" @3,0 SAY " Codigo Tipo RPM Ancho(cm) Pas/min Efic(%)"
@14,30 SAY "RPM : " GET mRPM PICT "9999" RANG 1,9999 ACHOICE(4,0,22,79,Telares)
Por: Alejandro Huapaya Sánchez Página. : 5
UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01
Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

SETCOLOR(color) READ
RETU IF sino="S"
******* PROCEDIMIENTO PARA BORRAR DATOS DE TELARES USE Telares
PROC BorTelar LOCA FOR mCodigo=Codigo
@1,0 DELE
@1,30 SAY "OPCION D: TELARES - Borrar" PACK
DO WHIL .T. CLOS DATA
@3,0 CLEA TO 22,79 ENDI
mCodigo=SPAC(3) ENDD
@24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar"
@10,30 SAY "Codigo: " GET mCodigo
READ
IF LASTKEY()=27
RETU
ENDI
USE Telares
LOCA FOR mCodigo=Codigo
IF !FOUND()
CLOS DATA
@24,0
@24,18 SAY "El Codigo ingresado NO EXISTE. Pulse una tecla ..."
INKEY(0)
LOOP
ENDI
mTipo=Tipo
mRPM=RPM
mAncho=Ancho
mEfic=Efic
mPas_Por_mi=Pas_por_mi
CLOS DATA
@12,30 SAY "Tipo: " GET mTipo PICT "@!"
@14,30 SAY "RPM : " GET mRPM PICT "9999" RANG 1,9999
@16,30 SAY "Ancho (cm):" GET mAncho PICT "999"
@18,30 SAY "Pasadas/min :" GET mPas_Por_mi PICT "999"
@20,30 SAY "Eficiencia (%):" GET mEfic PICT "999.99"
CLEA GETS
sino="N"
@24,0
@24,15 SAY "SEGURO DE BORRAR ESTOS DATOS?" GET sino PICT "!"
Por: Alejandro Huapaya Sánchez Página. : 6
UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01
Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

******************** @24,0
* PROGRAMA: TELAS.PRG @24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar"
* VERSION : 1.0 @10,30 SAY "Codigo: " GET mCodigo
* FECHA : 01 Junio 2009 READ
************************* IF LASTKEY()=27
@1,0 RETU
@1,35 SAY "OPCION A: TELAS" ENDI
DO WHIL .T. USE Telas
@3,0 CLEA TO 22,79 LOCA FOR mCodigo=Codigo
@7,33 SAY "MENU: TELAS" IF FOUND()
@9,30 SAY "<A> Ingresar Datos" CLOS DATA
@10,30 SAY "<B> Modificar Datos" @24,0
@11,30 SAY "<C> Consultar Datos" @24,18 SAY "El Codigo ingresado YA EXISTE. Pulse una tecla ..."
@12,30 SAY "<D> BORRAR DATOS" INKEY(0)
@13,30 SAY "<M> Menu Anterior" LOOP
opc=" " ENDI
@24,0 CLOS DATA
@24,30 SAY "Ingrese su OPCION:" GET opc PICT "!" VALID(opc$"ABCDM") mTipo=SPAC(15)
READ mGramaje=0
DO CASE mAncho=0
CASE opc="A" mPas_Por_cm=0
DO IngTelas DO WHIL .T.
CASE opc="B" @24,0
DO ModTelas @24,18 SAY "Ingrese la Informacion Solicitada"
CASE opc="C" @12,30 SAY "Tipo: " GET mTipo PICT "@!"
DO ConTelas @14,30 SAY "Gramaje : " GET mGramaje PICT "999"
CASE opc="D" @16,30 SAY "Ancho (cm):" GET mAncho PICT "999"
DO BorTelas @18,30 SAY "Pasadas/cm :" GET mPas_Por_cm PICT "99"
CASE opc="M" READ
RETU sino="N"
ENDC @24,0
ENDD @24,15 SAY "Estan BIEN los DATOS....INGRESADOS?" GET sino PICT "!"
******* PROCEDIMIENTO PARA INGRESAR DATOS DE TELAS READ
PROC IngTelas IF sino="S"
@1,0 EXIT
@1,30 SAY "OPCION A: TELAS - Ingresar" ENDI
DO WHIL .T. ENDD
@3,0 CLEA TO 22,79 USE Telas
mCodigo=SPAC(4) APPE BLAN
Por: Alejandro Huapaya Sánchez Página. : 7
UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01
Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

REPL Codigo WITH mCodigo,Tipo WITH mTipo,Gramaje WITH mGramaje @24,0


REPL Ancho WITH mAncho @24,15 SAY "Estan BIEN los DATOS .... MODIFICADOS?" GET sino PICT "!"
REPL Pas_por_cm WITH mPas_por_cm READ
CLOS DATA IF sino="S"
ENDD EXIT
******* PROCEDIMIENTO PARA MODIFICAR DATOS DE TELAS ENDI
PROC ModTelas ENDD
@1,0 USE Telas
@1,30 SAY "OPCION B: TELAS - Modificar" LOCA FOR mCodigo=Codigo
DO WHIL .T. REPL Codigo WITH mCodigo,Tipo WITH mTipo,Gramaje WITH mGramaje
@3,0 CLEA TO 22,79 REPL Ancho WITH mAncho
mCodigo=SPAC(3) REPL Pas_por_cm WITH mPas_por_cm
@24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar" CLOS DATA
@10,30 SAY "Codigo: " GET mCodigo ENDD
READ ******* PROCEDIMIENTO PARA CONSULTAR DATOS DE TELAS
IF LASTKEY()=27 PROC ConTelas
RETU LOCAL Telas:={}
ENDI @1,0
USE Telas @1,30 SAY "OPCION C: TELAS - Consultar"
LOCA FOR mCodigo=Codigo USE Telas
IF !FOUND() DO WHIL !EOF()
CLOS DATA cosa=SPAC(10)+Codigo+" "+Tipo+" "+STR(Gramaje,4)+SPAC(6)+STR(Ancho,3)
@24,0 cosa=cosa+SPAC(7)+STR(Pas_por_cm,3)
@24,18 SAY "El Codigo ingresado NO EXISTE. Pulse una tecla ..." AADD(Telas,cosa)
INKEY(0) SKIP
LOOP ENDD
ENDI CLOS DATA
mTipo=Tipo @24,0
mGramaje=Gramaje @24,5 SAY "Use Teclas Arriba/Abajo o PgDn o PgUp - Pulse <Esc>, para Terminar"
mAncho=Ancho color=SETCOLOR()
mPas_Por_cm=Pas_por_cm SETCOLOR("GR+/B,W+/R,R")
CLOS DATA @3,0 CLEA TO 22,79
DO WHIL .T. @3,0 SAY " Codigo Tipo Grm Ancho(cm) Pas/cm "
@12,30 SAY "Tipo: " GET mTipo PICT "@!"
@14,30 SAY "Gramaje : " GET mGramaje PICT "999" ACHOICE(4,0,22,79,Telas)
@16,30 SAY "Ancho (cm):" GET mAncho PICT "999" SETCOLOR(color)
@18,30 SAY "Pasadas/cm :" GET mPas_Por_mi PICT "99" RETU
READ ******* PROCEDIMIENTO PARA BORRAR DATOS DE TELAS
sino="N" PROC BorTelas
Por: Alejandro Huapaya Sánchez Página. : 8
UNI – FIQT Curso: Coputación Aplicada (PIT99) Sección: SPC01
Revisión: 01
AAIQ Tema: Programación Básica con Clipper Junio 2009

@1,0 CLOS DATA


@1,30 SAY "OPCION D: TELAS - Borrar" ENDI
DO WHIL .T. ENDD
@3,0 CLEA TO 22,79
mCodigo=SPAC(3)
@24,12 SAY "Ingrese la Informacion Solicitada - <Esc> Para Terminar"
@10,30 SAY "Codigo: " GET mCodigo
READ
IF LASTKEY()=27
RETU
ENDI
USE Telas
LOCA FOR mCodigo=Codigo
IF !FOUND()
CLOS DATA
@24,0
@24,18 SAY "El Codigo ingresado NO EXISTE. Pulse una tecla ..."
INKEY(0)
LOOP
ENDI
mTipo=Tipo
mGramaje=Gramaje
mAncho=Ancho
mPas_Por_cm=Pas_por_cm
CLOS DATA
@12,30 SAY "Tipo: " GET mTipo PICT "@!"
@14,30 SAY "Gramaje : " GET mGramaje
@16,30 SAY "Ancho (cm):" GET mAncho PICT "999"
@18,30 SAY "Pasadas/cm :" GET mPas_Por_cm PICT "99"
CLEA GETS
sino="N"
@24,0
@24,15 SAY "SEGURO DE BORRAR ESTOS DATOS?" GET sino PICT "!"
READ
IF sino="S"
USE Telas
LOCA FOR mCodigo=Codigo
DELE
PACK
Por: Alejandro Huapaya Sánchez Página. : 9