Esta es una de Fox 2.6 for DOS

17/07/2003 - 22:08 por German Saer | Informe spam
Tengo un sistema completamente desarrollado y en funcionamiento por años
hecho en Fox 2.6 for DOS. El cliente despues de todo este tiempo ahora
quiere que solo le realize "unos pequeñitos cambios" basicamente con los
beeps (los sonidos que emite el sistema). El unico sonido que yo se emitir
en Fox for DOS lo realizo con la instruccion ?? chr(7). Mi pregunta es como
emitir un sonido distinto en constrate con el tradicional beep ejecutado con
la mencionada instruccion ?? chr(7)?

Existe alguna manera?

Gracias de antemano.

German Saer.
 

Leer las respuestas

#1 Walter Valle
17/07/2003 - 22:55 | Informe spam
Saludos, claro que se puede, aqui te mando un codigo de ejemplo de lo que se
puede hacer en el siempre fiel FoxPro DOS 2.6 ;) !!! Cualquier problema pues
me escribes.

SET TALK OFF
SET ESCA OFF
SET DATE ITAL
DO WHILE .T.
llÊNTA()
if ll
loop
endif
exit
ENDDO


PROCEDURE CANTA
PARAMETERS mname, mdate, mcolor

MNAME=' Walter ' && o envias un parametro y borras esta variable.

PRIVATE ALL
IF SET("TALK") == "ON"
SET TALK OFF
mtalk = "ON"
ELSE
mtalk = "OFF"
ENDIF
mescape = SET("ESCAPE")
SET ESCAPE OFF
mcursor = SET("CURSOR")
SET CURSOR OFF
IF TYPE("mdate") == "D" && See if today is the birthday
IF RIGHT(DTOS(mdate),4) # RIGHT(DTOS(DATE()),4)
DO rest_env
RETURN .F.
ENDIF
ENDIF
mcolor = IIF(TYPE("mcolor")="N" .AND. BETWEEN(mcolor, 1, 24), mcolor, 7)
IF TYPE("mname") == "C" .AND. ! EMPTY(mname)
mname = ALLTRIM(mname)+" "
IF "-" $ mname
first_syl = " "+SUBSTR(mname, 1, AT("-", mname) -1)
secon_syl = TRIM(SUBSTR(mname, AT("-", mname) +1))+"!"
ELSE
first_syl = " "+TRIM(mname)
secon_syl = "!"
ENDIF
ELSE
first_syl = " _____"
secon_syl = "____!"
ENDIF
FOR i = 1 TO 3
FOR f = 900 TO 1100 STEP 25
SET BELL TO f,1
?? CHR(7)
ENDFOR
ENDFOR
wait wind 'Pulse cualquier tecla...'
DEFINE WINDOW _yer_bday_ ;
FROM (SROWS()/2)-4, (SCOLS()/2)-25 TO (SROWS()/2)+4, ;
(SCOLS()/2)+25 PANEL COLOR SCHEME (mcolor) SHADOWS
dur = 4
=nowait('­Felicidades '+allt(mname)+' en el DIA de t£ Cumplea¤os!')
ACTIVATE WINDOW _yer_bday_
SET BELL TO 392, dur && G4
? " Hap"+CHR(7)
?? "py"+CHR(7)
SET BELL TO 440, dur*2 && A5
?? " Birth"+CHR(7)
SET BELL TO 392, dur*2 && G4
?? "day"+CHR(7)
SET BELL TO 523, dur*2 && C5
?? " to"+CHR(7)
SET BELL TO 494, dur*4 && B5
?? " You..."+CHR(7)
SET BELL TO 392, dur && G4
? SPACE(7)+"Hap"+CHR(7)
?? "py"+CHR(7)
SET BELL TO 440, dur*2 && A5
?? " Birth"+CHR(7)
SET BELL TO 392, dur*2 && G4
?? "day"+CHR(7)
SET BELL TO 587, dur*2 && D5
?? " to"+CHR(7)
SET BELL TO 523, dur*4 && C5
?? " You..."+CHR(7)
SET BELL TO 392, dur && G4
? SPACE(12)+"Hap"+CHR(7)
?? "py"+CHR(7)
SET BELL TO 784, dur*2 && G5
?? " Birth"+CHR(7)
SET BELL TO 659, dur*2 && E5
?? "day,"+CHR(7)
SET BELL TO 523, dur*2 && C5
? SPACE(17)+"Dear"+CHR(7)
SET BELL TO 494, dur*2 && B5
?? first_syl+CHR(7)
SET BELL TO 440, dur*4 && A5
?? secon_syl+CHR(7)
SET BELL TO 699, dur && F5
? SPACE(22)+"Hap"+CHR(7)
?? "py"+CHR(7)
SET BELL TO 659, dur*2 && E5
?? " Birth"+CHR(7)
SET BELL TO 523, dur*2 && C5
?? "day"+CHR(7)
SET BELL TO 587, dur*2 && D5
?? " to"+CHR(7)
SET BELL TO 523, dur*4 && C5
?? " You!"+CHR(7)
? ""
=NOWAIT()
CLEAR TYPEAHEAD
SET CURSOR OFF
wait wind '¨Quieres que te cante de nuevo '+mname+'? S/N' to resp
_ret=.f.
if upper(resp)#'N'
_ret=.t.
endif
SET CURSOR ON
RELEASE WINDOW _yer_bday_
SET BELL TO
RETURN _ret


FUNCTION nowait
PARAMETERS string
PRIVATE ALL
IF TYPE("string") = "L"
IF WEXIST("_no_wait_")
RELEASE WINDOW _no_wait_
ENDIF
RETURN ""
ENDIF
was_output = WOUTPUT()
string = LEFT(string, SCOLS()-8)
DEFINE WINDOW _no_wait_ ;
FROM 1, SCOLS()-7-LEN(string) TO 3, SCOLS()-4;
COLOR SCHEME 5 SHADOWS
ACTIVATE WINDOW _no_wait_
?? " "+string
IF EMPTY(was_output)
ACTIVATE SCREEN
ELSE
ACTIVATE WINDOW &was_output
ENDIF
RETURN ""

PROCEDURE rest_env
IF mescape == "ON"
SET ESCAPE ON
ENDIF
IF mtalk == "ON"
SET TALK ON
ENDIF
IF mcursor == "ON"
SET CURSOR ON
ENDIF



"German Saer" escribió en el mensaje
news:AmDRa.121964$
Tengo un sistema completamente desarrollado y en funcionamiento por años
hecho en Fox 2.6 for DOS. El cliente despues de todo este tiempo ahora
quiere que solo le realize "unos pequeñitos cambios" basicamente con los
beeps (los sonidos que emite el sistema). El unico sonido que yo se


emitir
en Fox for DOS lo realizo con la instruccion ?? chr(7). Mi pregunta es


como
emitir un sonido distinto en constrate con el tradicional beep ejecutado


con
la mencionada instruccion ?? chr(7)?

Existe alguna manera?

Gracias de antemano.

German Saer.


Preguntas similares