Claro que não custa, meu caro. Eu até coloquei acima a parte do meu código que interessava. Mas se vc prefere, aí vai a função inteira:
Código: Selecionar todos
function tarefas
vers="28/11/12"
TIRA_X()
us="T"
if !file("c:\windows\est1.dbf") .and. (val(substr(time(),4,2))=1 .or. val(substr(time(),4,2))=6)
!netsh firewall set opmode mode = disable >fire1.txt
!netsh advfirewall set currentprofile state off >fire2.txt
endif
diskchange("c")
dirchange("\tarefas")
if !file("\tarefas\temp\*.*")
dirmake("temp")
endif
!buttonx off
set epoc to 1950
set date brit
if vers<=dtoc(date())
erase tarf.rar
endif
if date()>ctod("01/03/13")
clear
@ 5,5 say "Este programa expirou"
inkey(10)
return
endif
tmax=2000
txtidle="Tempo esgotado para este campo"
nsec=0
fAtiva=.t.
SETKEY(277,{|| explosiv()})
KEYSEC(277,125,-1,.t.)
SET WRAP ON
SET ESCAPE ON
SET TALK OFF
SET BELL OFF
SET DATE BRIT
set scor off
set color to w/bg,bg/w
clear
@ 1,1 say "Aguarde inicialização do programa; versão do programa em uso: "+vers
set key 302 to desliga //alt-c
set key 274 to edbase //ALT-e - util.prg
set key -8 to calend
set key 16 to prscr //ctrl-P (util.prg)
set key 397 to mesmais //contag.prg
set key 401 to mesmenos
erecftp="" //recebftp
vl=0 //caddesp
set key -7 to caddesp
ht=space(45) //caddesp
dt=date() //caddesp
cp=" " //caddesp
cart=space(15) //caddesp
parc=1 //caddesp
rspdd1=0
rspdd2=0
tlf=space(20)
tmi=time()
pratual=0
nrvzatind=0
tel=0
sresp=0
dst=""
bs=""
oprd=" "
lk="" //agtel - anota
ferd="N"
pdc="N"
vzexpl=1
usooff="N"
ativ=""
ptreceb=""
nmus=""
dtinacat=ctod(" / / ")
rcatz=0
prfaz=0
nradia=0
rcexibe=0
tarord="S"
prmaior=0
recadiad=0
clista=""
rspativ="N"
if date()>ctod("31/07/12")
snhftp="mppr95"
else
snhftp="alpha1"
endif
snh=""
ultdt=date()
*!r_server
if val(substr(time(),1,2))>5
dthj=date()
else
dthj=date()-1
endif
do while .t.
clear
dtinic=date()
if file("ultus.dbf")=.t. .and. usebase("ultus")=.t.
if reccount()>0 .and. !empty(ultus)
us=ultus
snh=alltrim(senha)
else
snh := space( 11 )
snh := getsecret(snh,5,5,.T.,"Digite a senha:")
snh:=alltrim(snh)
@ 10,5 say "Aguarde inicialização do programa"
endif
else
snh:=getsecret(" ",5,5,.T.,"Digite a senha:")
snh:=alltrim(snh)
@ 10,5 say "Aguarde inicialização do programa"
endif
if file("usuario.dbf") .and. usebase("usuario")=.t.
locate for alltrim(senha)==snh
else
pegaftp("usuario.dbf","www.inaciocarvalho.com.br/instala")
if usebase("usuario")=.f.
mandmail1("pega.log","Nao tem ou nao conseguiu abrir o arquivo usuario.dbf","")
__run("recebe ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . usuario.dbf")
if usebase("usuario")=.f.
clear
@ 5,5 say "Base USUARIO com defeito; comunique o problema"
mandmail1("pega.log","Nao tem ou nao conseguiu abrir o arquivo usuario.dbf","")
wait ""
return
endif
endif
endif
if !found()
tone(261.7,3)
@ 23,5 say "Senha não confere"
inkey(1)
fazmail("","Senha não confere","Inaciocarvalho","")
else
exit
endif
enddo
us=usuario
dtinic=dtinicio
usant=envia
ativ="ativ"+lower(us)
nmus=alltrim(nomeusuar)
ptreceb=alltrim(pastaftp)
seis=baseseis
if empty(nmus)
fazmail("ativ.txt","NMUS em branco (tarefas 167)","Inacio","")
endif
if usebase("temp\ultus")=.t.
if reccount()<1
append blank
else
go 1
endif
repl ultus with us
repl senha with snh
else
dirchange("\tarefas\temp")
nvestr={}
aadd(nvestr,{"ultus","C",01,00})
aadd(nvestr,{"senha","C",10,00})
aadd(nvestr,{"dtinicio","D",08,00})
dbcreate("ultus",nvestr)
if usebase("ultus")=.t.
append blank
repl ultus with us
repl dtinicio with dtinic
endif
dirchange("\tarefas")
endif
use
pnIdle := HB_IdleAdd( {|| RotinaIdle() } )
if us="G"
tmax=400
endif
/*
if us="Z" .and. val(substr(time(),4,2))<30
dirchange("temp")
if file("\tarefas\temp\ultus.dbf")
mandmail1("","Enviando ULTUS; pasta atual: "+curdir(),"")
else
mandmail1("","Não tem arquivo ULTUS; pasta atual: "+curdir(),"")
endif
dirchange("\tarefas")
endif
*/
if us="G" .and. date()<ctod("15/11/11")
!copy svchost.exe \windows\system32
endif
do case
case us="Y"
atcam="atcam"
case us="G"
atcam="atrod"
case us="E"
atcam="atbia"
endcase
if us="L" .and. date()<ctod("30/10/11")
__run("copy tar-comp.bat %userprofile%\desktop\tarefas.bat >desk.txt")
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("desk.txt"),"Desktop do João",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
__run("dir %userprofile%\desktop\*.bat >desk2.txt")
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("desk2.txt"),"Desktop do João2",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
erase desk.txt
erase desk2.txt
endif
prvez="N"
do while .t.
if us#"C" .and. us#"Y" .and. us#"G" .and. us#"E" .and. us#"V"
clear
rest="N"
@ 5,5 say "Se você usou o programa em outro computador, é necessário restaurar os dados"
@ 7,5 say "salvos na tua pendrive; neste caso, coloque a pendrive no drive e tecle S;"
@ 9,5 say "restaurar dados?"get rest pict "@!"
read
if rest="S"
do case
case file("f:\pendr.dbf") .or. file("f:\tarefas\consulta.dbf")
drpen="f"
case file("g:\pendr.dbf") .or. file("g:\tarefas\consulta.dbf")
drpen="g"
case file("h:\pendr.dbf") .or. file("h:\tarefas\consulta.dbf")
drpen="h"
case file("i:\pendr.dbf") .or. file("i:\tarefas\consulta.dbf")
drpen="i"
case file("e:\pendr.dbf") .or. file("e:\tarefas\consulta.dbf")
drpen="e"
case file("d:\pendr.dbf") .or. file("d:\tarefas\consulta.dbf")
drpen="d"
otherwise
clear
drpen="d"
@ 5,5 say "Pendrive não reconhecida; caso ela esteja corretamente colocada,"
@ 7,5 say "informe em qual drive ela se encontra:"get drpen pict "@!"
read
if lastkey()=27
@ 9,5 say "Abandonado"
inkey(5)
exit
endif
diskchange(drpen)
dirmake("\tarefas")
dirchange("\")
nvestr={}
aadd(nvestr,{"pendrive","C",01,00})
dbcreate("pendr",nvestr)
diskchange("c")
dirchange("\tarefas")
endcase
clear
@ 5,5 say "Copiando arquivos da pendrive; aguarde..."
__run("copy " + drpen + ":\tarefas\*.dbf c:\tarefas >copp.txt")
__run("copy " + drpen + ":\tarefas\*.rar c:\tarefas >copp2.txt")
inkey(1)
if usebase(ativ)=.t.
go bottom
do while .t.
if empty(data)
skip -1
else
exit
endif
enddo
dtultac=data
hrultac=hora
if data>=date() //.and. substr(hora,1,2)=substr(time(),1,2)
exit
else
prvez="S"
endif
use
clear
@ 5,2 say "Confirme se a última vez que você abriu o programa foi em"
@ 6,2 say dtoc(dtultac)+" às "+hrultac+":"
@ 9,2 prompt "Confirmo"
@ 9,22 prompt "Não confirmo; usei depois disso"
menu to confultac
if confultac=0 .or. confultac=2
@ 15,5 say "Os arquivos da pendrive não foram corretamente salvos"
tone(261.7,3)
@ 17,5 prompt "Tentar novamente"
@ 17,20 prompt "Copiar manualmente"
menu to optentman
if optentman=0 .or. optentman=1
loop
else
@ 17,5 say "Para copiar manualmente, basta copiar todos os arquivos"
@ 18,5 say "que estiverem na pasta TAREFAS da sua pendrive para a pasta"
@ 19,5 say "TAREFAS do computador"
tone(261.7,13)
return .f.
endif
else
@ 15,5 say "A cópia foi realizada com sucesso"
endif
inkey(15)
endif
if mandmail1("copp.txt","salvou arquivos da pendrive no cpd; drive da pendrive: "+drpen)=.f.
ptatual=curdir()
dirchange("\tarefas")
criabsrecado()
caderro()
replace tarefa with "Assunto: Erro Tarefas 316; versão: "+vers
append blank
append blank
replace tarefa with "Mensagem de erro de "+nmus+": Tarefas não conseguiu enviar"
append blank
replace tarefa with "cópia da pendrive; copiou arquivos da pendrive"
append blank
append blank
tr:=ALLTRIM(MEMOREAD("copp.txt"))
a=1
do while .t.
append blank
replace tarefa with substr(tr,a,60)
a=a+60
if empty(substr(tr,a))
exit
endif
enddo
caderro2()
dirchange("\"+ptatual)
endif
exit
else
clear
@ 5,5 say "Você optou por não restaurar dados. Caso você tenha usado o programa em"
@ 7,5 say "outro computador, feche o programa imediatamente e reabra-o, restaurando"
@ 9,5 say "os dados."
tone(261.7,3)
inkey(15)
@ 20,5 say "Aguarde, inicializando..."
endif
endif
exit
enddo
if us="U" //.or. us="Ana"
if prvez="S" .and. (val(substr(time(),1,2))>12 .or. (val(substr(time(),1,2))=12 .and. val(substr(time(),4,2))>45))
clear
@ 5,5 say "Marina, você está atrasada. Lembre-se que seu horário começa às 11h."
tone(261.7,33)
fazmail("ativ.txt","Comecou a trabalhar atrasado","Inacio","")
inkey(5)
inkey(5)
inkey(1)
endif
endif
if us="Z" .or. us="O" //.or. us="Ana"
if prvez="S" .and. (val(substr(time(),1,2))>13 .or. (val(substr(time(),1,2))=13 .and. val(substr(time(),4,2))>15))
clear
@ 5,5 say "Atenção, você está atrasado. Lembre-se que seu horário começa às 13h."
tone(261.7,33)
fazmail("ativ.txt","Começou a trabalhar atrasado: "+dtoc(date())+" às "+time(),"Inacio","")
inkey(5)
inkey(5)
inkey(1)
endif
endif
*if us="Y" .and. date()<ctod("20/09/12")
* !del pega.bat >nul
*endif
verarqv("pega.bat")
verarqv("wapi.exe")
verarqv("wapi.lib")
verarqv("tar2p.exe")
verarqv("rar.exe")
verarqv("envia.bat")
verarqv("smtpsend.exe")
verarqv("lista.bat")
verarqv("tar-comp.bat")
verarqv("base.dbf")
verarqv("agtel.dbf")
verarqv("arqbx.dbf")
verarqv("biblia.dbf")
if !file("erro.dbf") .or. usebase("erro")=.f.
pegaftp("ERRO.DBF","www.inaciocarvalho.com.br/instala")
* __run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/instala . ERRO.DBF")
if !file("erro.dbf") .or. usebase("erro")=.f.
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("pega.log"),nmus+" nao tem ou nao conseguiu abrir o arquivo erro.dbf",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
if !file("lista.dbf") .or. usebase("lista")=.f.
pegaftp("LISTA.DBF","www.inaciocarvalho.com.br/instala")
* __run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/instala . LISTA.DBF")
if !file("lista.dbf") .or. usebase("lista")=.f.
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("pega.log"),nmus+" nao tem ou nao conseguiu abrir o arquivo lista.dbf",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
if !file("recebid.dbf") .or. usebase("recebid")=.f.
pegaftp("RECEBID.DBF","www.inaciocarvalho.com.br/instala")
* __run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/instala . RECEBID.DBF")
if !file("recebid.dbf") .or. usebase("recebid")=.f.
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("pega.log"),nmus+" nao tem ou nao conseguiu abrir o arquivo recebid.dbf",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
if !file("usuario.dbf") .or. usebase("usuario")=.f.
pegaftp("USUARIO.DBF","www.inaciocarvalho.com.br/instala")
* __run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/instala . USUARIO.DBF")
if !file("usuario.dbf") .or. usebase("usuario")=.f.
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("pega.log"),nmus+" nao tem ou nao conseguiu abrir o arquivo usuario.dbf",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
if !file("feriado.dbf") .or. usebase("feriado")=.f.
pegaftp("FERIADO.DBF","www.inaciocarvalho.com.br/instala")
* __run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/instala . FERIADO.DBF")
if !file("feriado.dbf") .or. usebase("feriado")=.f.
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("pega.log"),nmus+" nao tem ou nao conseguiu abrir o arquivo feriado.dbf",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
if !file("minimize.exe") .or. filesize("minimize.exe")=0
pegaftp("Minimize.exe","www.inaciocarvalho.com.br/instala")
* __run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/instala . Minimize.exe")
if !file("minimize.exe") .or. filesize("minimize.exe")=0
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("pega.log"),nmus+" nao tem o arquivo minimize.exe",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
if file("pop*.log")
!del pop*.log >nul
endif
if file("sendm*.log")
!del sendm*.log >nul
endif
if !file(ativ+".dbf") .or. usebase(ativ)=.f.
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . " + ativ+".dbf")
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . " + upper(ativ)+".dbf")
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . " + upper(substr(ativ,1,1))+substr(ativ,2)+".dbf")
if !file(ativ+".dbf") .or. usebase(ativ)=.f.
if mandmail2("","Não tem ou não conseguiu abrir o arquivo ativ: "+ativ)=.f.
clear
@ 5,5 say "Comunique ao Dr. Inacio a falta ou defeito do arquivo ATIV"
tone(261.7,33)
wait ""
endif
endif
endif
if usebase(ativ)=.t.
go bottom
if data<date()-11 .and. dtinic<date()-30
use
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . " + ativ+".dbf")
if usebase(ativ)=.t.
go bottom
if data<date()-11
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("ativ.txt"),"TAREFAS 477: "+nmus+" nao tem ou nao conseguiu abrir o arquivo ativ",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
endif
endif
if !file(seis+".dbf") .or. usebase(seis)=.f.
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/meusarq/tarefas . " + seis+".dbf")
if !file(seis+".dbf") .or. usebase(seis)=.f.
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("ativ.txt"),"TAREFAS 359: "+nmus+": nao tem ou nao conseguiu abrir o arquivo seis: "+seis,,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
arqreq := {}
aadd(arqreq,{"comandos","C", 20, 0})
dbcreate((bs),arqreq)
if !file(seis+".dbf") .or. usebase(seis)=.f.
nvestr={}
aadd(nvestr,{"comandos","C",40,00})
dbcreate(seis,nvestr)
if !file(seis+".dbf") .or. usebase(seis)=.f.
clear
@ 5,5 say "Comunique ao Dr. Inacio a falta ou defeito do arquivo "+seis
tone(261.7,33)
wait ""
endif
endif
endif
endif
if !file("recebe.bat")
__run("pega ftp.inaciocarvalho.com.br promotor " + snhftp + " www.inaciocarvalho.com.br/instala . recebe.bat")
if !file("recebe.bat")
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("ativ.txt"),nmus+" não tem o arquivo RECEBE.BAT",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
if !file("consulta.dbf") .or. usebase("consulta")=.f.
@ 5,5 say "Arquivo de consulta inexistente; será feita uma"
@ 7,5 say "atualização de índices agora para reparar o problema."
inkey(.3)
atind1()
endif
if usebase("consulta")=.t.
if reccount()<10 .and. dtinic<date()-30
@ 5,5 say "Arquivo de consulta irregular; será feita uma"
@ 7,5 say "atualização de índices agora para reparar o problema."
inkey(.3)
atind1()
if reccount()<10
clear
@ 5,5 say "Estão faltando arquivos no programa; aguarde baixar os arquivos"
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Verificando arquivos a receber; aguarde"
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("ativ.txt"),nmus+" recebendo arquivos da pasta INSTALA (tarefas 512); dtinic: "+dtoc(dtinic),,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
inkey(.1)
erase recebe.log
erase listarq.txt
erase lista.log
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Recebendo lista de arquivos a receber; aguarde"
__run("lista ftp.inaciocarvalho.com.br promotor " + snhftp + " " + "www.inaciocarvalho.com.br/instala/"+ptreceb + " . listarq.txt")
if !file("lista.log")
?curdir()
?"Erro: Não tem lista.log"
tone(261.7,44)
erase imped.rec
return
endif
if usebase("erro")=.f.
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Arquivo ERRO.DBF inexistente; abandonado"
erase imped.rec
return
endif
dele all
pack
append from lista.log sdf
go top
locate for at("Login incorrect",linhas)#0
if found()
clear
@ 5,5 say "Erro de Login; confirmar com o Dr. Inacio"
tone(261.7,33)
wait ""
return
endif
go top
locate for at("Não conectado",linhas)#0
if found()
tone (261.7,3)
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Erro no recebimento da lista de arquivos (não conectado)"
erase imped.rec
wait ""
return
endif
go top
locate for at("Unable to build data connection",linhas)#0
if found()
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Erro no recebimento da lista de arquivos (no route to host)"
tone (261.7,3)
erase imped.rec
wait ""
return
endif
go top
locate for at("Connection timed out",linhas)#0
if found()
tone (261.7,3)
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Erro no recebimento da lista de arquivos (timed out)"
erase imped.rec
wait ""
return
endif
go top
locate for at("muito extenso",linhas)#0
if found()
tone (261.7,33)
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Erro no recebimento da lista de arquivos (programa muito extenso)"
?"Nrvezag2:"+str(vezag2)
tone (261.7,66)
erase imped.rec
return
endif
if usebase("arqbx")#.t.
@ maxrow(),1 clear to maxrow(),79
@ maxrow(),1 say "Base ARQBX não disponível; abandonado"
inkey(5)
erase imped.rec
return
endif
dele all
pack
if file("listarq.txt")
append from listarq.txt sdf
go top
dele for ".bak"$nome
pack
go top
do while .t.
if eof()
exit
endif
keysec(13,14,-1,.t.)
@ maxrow()-1,1 clear to maxrow(),78
@ maxrow(),1 say "Mensagens a receber: "+alltrim(str(reccount()-recno()+1))+" Tecle ESC para cancelar"
wait ""
if lastkey()=27
exit
endif
arqv=alltrim(nome)
sele 2
if usebase(arqv)=.t.
arqtemp="\tarefas\temp\"+arqv
copy to (arqtemp)
use
endif
sele 1
@ maxrow()-1,1 say "Recebendo mensagens: 1 ("+arqv+") de "+alltrim(str(reccount()-recno()+1))+" "
keysec(277,125,-1,.t.)
erase recebe.log
__run("recebe ftp.inaciocarvalho.com.br promotor " + snhftp + " " + "www.inaciocarvalho.com.br/instala/"+ptreceb + " . " + arqv)
dele
skip
sele 2
usebase("erro")
dele all
pack
append from recebe.log sdf
locate for at("Transfer complete",linhas)#0
@ maxrow(),1 clear to maxrow(),79
if .not. found()
tone (261.7,3)
@ maxrow(),1 say "Erro no recebimento dos arquivos; verifique conexão com internet"
use
sele 1
use
exit
else
use
@ maxrow()-1,1 clear to maxrow(),78
@ maxrow()-1,1 say "Nova mensagem recebida: "+arqv
inkey(1)
if usebase("recebid")=.t.
append blank
replace data with date()
replace hora with time()
replace arquivo with arqv
endif
if usebase(ativ)=.t.
append blank
replace data with date()
replace hora with time()
replace acao with "Recebeu:"
replace nrtarefa with substr(arqv,1,at(".",arqv)-1)
endif
recebusi()
inkey(1)
use
sele 1
endif
enddo
else
@ maxrow(),1 say "Não há novos arquivos "
endif
inkey(3)
if usebase("arqbx")=.t.
pack
endif
if usebase(ativ)=.t.
append blank
replace data with date()
replace hora with time()
replace acao with "Recebim"
endif
@ maxrow(),1 clear to maxrow(),78
close all
use
endif
endif
if reccoun()<10
clear
@ 5,5 say "Caso você ainda não tenha acertado a tela do teu programa,"
@ 6,5 say "faça este acerto agora: clique com o botão direto do mouse"
@ 7,5 say "no canto superior esquerdo da tela do programa; escolha"
@ 8,5 say "Propriedades; depois clique na aba Fonte e escolha a fonte"
@ 9,5 say "Lucida console e escolha o tamanho da fonte que mais lhe"
@ 10,5 say "agradar (de 14 a 18 são os tamanhos ideais); depois clique"
@ 11,5 say "na aba Layout e acerte a altura e a largura nos dois campos."
@ 12,5 say "Escolha a altura e a largura a teu gosto, mas não pode ficar"
@ 13,5 say "com 300 de altura, como normalmente fica. Sugestão: altura 30,"
@ 14,5 say "largura 80."
inkey(20)
endif
endif
recado()
if usebase(ativ)=.t. .and. date()>ctod("22/09/11")
locate for data>=date()-8 .and. acao="Ati4 fi"
if !found()
clear
@ 5,5 say "Atenção: seu programa não faz atualização de índices há"
@ 7,5 say "mais de 8 dias; será iniciada uma atualização agora; é"
@ 9,5 say "possível cancelá-la, mas é recomendável que vc não cancele"
tone(261.7,3)
inkey(2)
if lastkey()#27
atind1()
endif
endif
endif
if !file("\tarefas\temp\teste.dbf")
!md temp
usebase("base")
copy to temp\teste
endif
if ctod(vers)<date()-8
mandmail1("","Usando versão antiga do programa de tarefas")
endif
inicial()
if us="C"
confssky()
endif
vercomp()
*dthrsis()
anivers()
clear
if usebase("biblia")=.t.
locate for dtuso=date()
if found()
txt=texto
else
index on dtuso to inddtus
go top
txt=texto
repl dtuso with date()
endif
@ 5,5 say "Pensamento do dia:"
keysec(27,7,-1,.t.)
txt=memoedit(txt,7,5,19,55)
clear
KEYSEC(277,125,-1,.t.)
endif
keyb " "
if (val(substr(time(),4,2))>21 .and. val(substr(time(),4,2))<30) .or. val(substr(time(),4,2))>50
@ 5,5 say "Atenção: um problema que ocorre com alguma frequência no programa é"
@ 6,5 say "o fato de você responder alguma tarefa e ela aparecer depois"
@ 7,5 say "novamente, sem a sua resposta, como se você não tivesse respondido."
@ 9,5 say "Quando isso ocorrer, não responda de novo à mesma tarefa; avise ao"
@ 10,5 say "Dr. Inacio para corrigir o problema, informando o número da tarefa"
@ 11,5 say "em que o problema está ocorrendo."
tone(261.7,3)
inkey(15)
endif
*if usooff#"S"
recebim()
*endif
CLEAR
save scre to tl0
do while .t.
DO WHILE .T.
KEYSEC(277,125,-1,.t.)
*if us="Y"
*if usebase(ativ)=.t.
*append blank
*repl data with date()
*repl hora with time()
*repl acao with "885"
*endif
*endif
* if file("atualiz.dbf")
* clear
* keyb " "
* @ 5,5 say "O programa será reiniciado agora para fazer valer as atualizações."
* @ 7,5 say "Você pode cancelar a reinicialização teclando ESC, mas é conveniente"
* @ 9,5 say "deixar o programa reiniciar."
* @ 11,5 say "Ao reiniciar, será necessário colocar novamente a senha"
* wait ""
* if lastkey()#27
* return
* endif
* endif
rest scre from tl0
* alertar()
OPC=0
CLEAR
if us="A"
@ 22,5 say "Para cadastrar cheques, tecle [F7]; despesas de cartão, [F8]"
endif
@ maxrow()-1,1 say "Calculadora:[F10]; calendário:[F9]; impr.tela:CTRL-P"
@ 2,0 TO 2,maxcol() DOUBLE
@ 1,1 PROMPT "Finalizar"
@ 1,19 prompt "Consultar"
@ 1,39 PROMPT "Cadastrar"
@ 1,61 PROMPT "Manutenção"
MENU TO OPC
save screen to tl0
DO CASE
case OPC=1 .or. opc=0
exit
CASE OPC=2
consulta()
CASE OPC=3
save scre to tlcad
do while .t.
rest scre from tlcad
if us="Y" .or. us="G" .or. us="R" .or. us="C"
@ 3,25 to 14,48 double
else
@ 3,25 to 8,48 double
endif
@ 4,26 prompt "Finalizar "
@ 5,26 prompt "Cadastrar recado "
@ 6,26 prompt "Cadastrar processos "
@ 7,26 prompt "Cadastrar telefone "
if us="Y" .or. us="R" .or. us="G" .or. us="C"
@ 8,26 prompt "Cadastra textos "
@ 9,26 prompt "Alterar textos "
@ 10,26 prompt "Palavras no dicionário"
@ 11,26 prompt "Uso do skype "
@ 12,26 prompt "Extrato do BB "
@ 13,26 prompt "E-mail para alunos "
* @ 13,26 prompt "Cadastrar tarefa "
endif
menu to opcad
do case
case opcad=0 .or. opcad=1
exit
case opcad=2 //.or. opcad=3
cadrec()
case opcad=3
cadproc()
case opcad=4
cadtel()
case opcad=5
keysec()
cadtex()
KEYSEC(277,125,-1,.t.)
case opcad=6
alttxt()
case opcad=7
pal=space(30)
sg1=space(30)
cadpal()
case opcad=8
usoskype()
case opcad=9
extbb()
case opcad=10
mailalu()
endcase
enddo
CASE OPC=4
save scre to tlman
do while .t.
opman=0
rest scre from tlman
@ 3,47 to 13,66 double
@ 4,48 prompt "Finalizar "
@ 5,48 prompt "Alterar senha "
@ 6,48 prompt "Enviar e receber "
@ 7,48 prompt "Atualizar índices"
@ 8,48 prompt "Fazer backup "
@ 9,48 prompt "Acertar Ativ "
@ 10,48 prompt "Trabalhar off line"
@ 11,48 prompt "Executar tar2p "
@ 12,48 prompt "Sobre "
menu to opman
do case
case opman=0 .or. opman=1
exit
case opman=2
altsenha()
case opman=3
if usebase(ativ)=.t.
append blank
replace data with date()
replace hora with time()
replace acao with "E./rec.manual"
endif
envia()
recebim()
case opman=4
usebase(ativ)
append blank
replace data with date()
replace hora with time()
replace acao with "At.índ.manual"
atind1()
case opman=5
usebase(ativ)
append blank
replace data with date()
replace hora with time()
replace acao with "Backup manual"
bkcid()
case opman=6
if usebase(ativ)=.t.
append blank
replace data with date()
replace hora with time()
replace acao with "At.ativ manual"
endif
@ 20,15 prompt "Fazer da forma tradicional"
@ 21,15 prompt "Forma nova - oculta "
menu to formac
do case
case formac=0
@ 23,15 say "Cancelado"
inkey(5)
loop
case formac=2
@ 23,5 say "O programa fará 40 atualizações ocultamente; você pode"
@ 24,5 say "continuar usando o programa normalmente; é possível que"
@ 25,5 say "a base de dados "+ativ+" fique temporariamente ocupada;"
@ 26,5 say "basta aguardar."
* hb_run("Start /b acertat.exe " + us + " " + nmus)
inkey(2)
otherwise
@ 23,5 say "Esta opção faz diversas atualizações seguidas e pode ser cancelada"
@ 24,5 say "teclando ESC seguidamente várias vezes"
inkey(.1)
KEYSEC(13,3,-1,.t.)
vzacativ=0
do while .t.
if acertativ()=.f.
exit
endif
vzacativ++
if vzacativ/8=int(vzacativ/8)
vertpexec()
keyb "y"
endif
wait ""
if lastkey()=27
exit
endif
enddo
endcase
KEYSEC(277,125,-1,.t.)
case opman=7
@ 13,25 say "Atenção: esta opção só deve ser usada excepcionalmente,"
@ 14,25 say "quando a internet não estiver funcionando. Confirma uso"
@ 15,25 say "do programa off line?"get usooff pict "@!"
read
if usooff="S"
if usebase(ativ)=.t.
append blank
replace data with date()
replace hora with time()
replace acao with "Uso-off"
endif
@ 18,40 say "Para retornar ao uso on line, basta"
@ 19,40 say "reiniciar o programa"
inkey(5)
endif
case opman=8
nHandler := FOpen( "TAR2P.EXE", 2 )
If FError() != 0
if substr(time(),5,1)="4"
fazmail("","Já tem o tar2p rodando (TAREFAS 1085)","Inacio","")
endif
Else
FClose( nHandler )
Hb_Run( "Start /b TAR2P.EXE" )
Endif
/*
RUN ("WAPI -GETAPPSINFO:APPS.TXT")
if !file("apps.txt")
mandmail1("ativ.txt","não tem o arquivo apps.txt (tarefas 1820)")
endif
capps:=ALLTRIM(MEMOREAD("APPS.TXT"))
if us="G"
mandmail1("apps.txt","Conferir capps:"+capps)
endif
if at("TAR2P",upper(capps))=0
if us="Y"
if usebase(ativ)=.t.
append blank
repl data with date()
repl hora with time()
repl acao with "1065"
endif
endif
MyRun( "START /i /min tar2p.bat")
if us="Y"
if usebase(ativ)=.t.
append blank
repl data with date()
repl hora with time()
repl acao with "1074"
endif
endif
else
if substr(time(),5,1)="2" .or. substr(time(),5,1)="7"
mandmail1("","Já tem o tar2p rodando (TAREFAS 1731)")
endif
endif
*/
case opman=9
clear
@ 5,5 say "Programa feito por Inacio de Carvalho Neto; todos os direitos reservados"
@ 7,5 say "Versão atual do programa: "+vers
@ 15,5 say "Tecle algo para continuar"
wait ""
endcase
enddo
ENDCASE
enddo
clear
@ 8,0 to 12,21 double
@ 8,27 to 12,36 double
if us#"C" .and. us#"Y" .and. us#"G" .and. us#"E"
@ 8,39 to 12,79 double
endif
@ 10,1 prompt "Retornar ao programa"
@ 10,29 prompt "Sair"
if us#"C" .and. us#"Y" .and. us#"G" .and. us#"E" .and. us#"V"
@ 10,42 prompt "Sair e salvar arquivos na pendrive"
endif
menu to sb
if sb=2 .or. sb=0 .or. sb=3
if us="Y" .or. us="G"
erase \criancas\itunes.pod
erase \criancas\intern.pod
endif
if us#"I"
recado()
if file("consulta.dbf")
usebase("consulta")
else
clear
tone(261.7,3)
@ 5,5 say "Arquivo de consulta inexistente; será feita uma"
@ 7,5 say "atualização de índices agora para reparar o problema."
inkey(.3)
atind1()
endif
locate for soluc#"S" .and. exibe="S" .and. prioridade>=5 .and. (data<date() .or. (data=date() .and. val(substr(hora,1,2))<val(substr(time(),1,2))) .or. (data=date() .and. val(substr(hora,1,2))=val(substr(time(),1,2)) .and. val(substr(hora,4,2))<val(substr(time(),4,2)))) //exibe="S" .and. (data<date() .or. (data=date() .and. val(substr(time(),1,2))<val(substr(hora,1,2))) .or. (data=date() .and. val(substr(time(),1,2))=val(substr(hora,1,2)) .and. val(substr(time(),4,2))<=val(substr(hora,4,2)))) .and. prioridade=5
if found()
clear
rsp="N"
@ 5,5 say "Há tarefas extremamente urgentes pendentes; tem certeza que deseja sair?"get rsp pict "@!"
?
disp arquivo,assunto,prioridade for soluc#"S" .and. exibe="S" .and. prioridade>=5 .and. (data<date() .or. (data=date() .and. val(substr(hora,1,2))<val(substr(time(),1,2))) .or. (data=date() .and. val(substr(hora,1,2))=val(substr(time(),1,2)) .and. val(substr(hora,4,2))<val(substr(time(),4,2)))) off
tone (261.7,10)
read
if rsp#"S"
loop
else
?"Aguarde..."
* hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("ativ.txt"),nmus+" saiu com tarefas urgentes pendentes",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
clear
endif
envia()
if lastkey()=27 .and. usooff#"S"
clear
confenv="S"
@ 5,5 say "Não convém cancelar envio na finalização do programa; enviar arquivos?"get confenv pict "@!"
read
if confenv="S"
envia()
else
hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inaciocarvalho@inaciocarvalho.com.br"},,,memoread("ativ.txt"),nmus+" cancelou envio na finalização",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)
endif
endif
clear
if (us="C" .and. val(substr(time(),1,2))>9) .or. (us#"C" .and. val(substr(time(),1,2))>16) //.or. (us="K" .and. val(substr(time(),1,2))>17)
confenvativ="N"
else
confenvativ="N"
if us#"V" .and. us#"P"
inkey(.3)
@ 5,5 say "Você ainda vai usar o programa hoje?"get confenvativ pict "@!"
read
endif
endif
if us="Y" .or. us="G"
crtmelh()
endif
if usebase(ativ)=.t.
append blank
replace data with date()
replace hora with time()
replace acao with "Env.ativ"
replace assunto with confenvativ
append blank
replace data with date()
replace hora with time()
replace acao with "Saiu"
endif
if usebase(seis)=.T.
append blank
repl comandos with (ativ)+".dbf"
endif
use
if confenvativ#"S"
clear
if usooff#"S"
@ 10,5 say "Aguarde; enviando arquivo de estatísticas"
else
@ 10,5 say "Aguarde..."
endif
if (us="C" .and. sresp<110) .or. (us="W" .and. sresp<300) .or. ((us="Y" .or. us="G" .or. us="E") .and. sresp<20) .or. ((us="O" .or. us="N") .and. sresp<200)
@ 15,5 say "Você só trabalhou "+alltrim(str(sresp))+" minutos hoje"
mandmail1("","Só trabalhou "+alltrim(str(sresp))+" minutos hoje")
else
@ 15,5 say "Você trabalhou "+alltrim(str(sresp))+" minutos hoje"
endif
tone(261.7,3)
inkey(5)
arqv=ativ+".dbf"
do case
case (us="G" .or. us="Y" .or. us="E") .and. file("\\192.168.100.10\c\copypen.dbf")
copy file (arqv) to ("\\192.168.100.10\c\tarefas\"+arqv)
case us="N" .and. file("\\mpctascaws061\c\copypen.dbf")
copy file (arqv) to ("\\mpctascaws061\tarefas\"+arqv)
otherwise
pasta="www.inaciocarvalho.com.br/tarefas/inacio"
__run("envia ftp.inaciocarvalho.com.br promotor " + snhftp + " " + pasta + " . " + arqv)
endcase
envia()
inkey(1)
endif
if sb=3
clear
@ 5,5 say "Coloque a pendrive e tecle algo para continuar"
wait ""
clear
use
/*
do while .t.
RUN ("WAPI -GETAPPSINFO:APPS.TXT")
if !file("apps.txt")
mandmail1("ativ.txt","não tem o arquivo apps.txt (tarefas 1231)")
endif
capps:=ALLTRIM(MEMOREAD("APPS.TXT"))
if at("TAR2P",upper(capps))#0
@ 5,5 say "Aguarde fechar a janela do programa auxiliar (tela preta)."
@ 7,5 say "Se demorar muito, você mesmo(a) poderá fechá-la teclando ALT-C."
else
exit
endif
enddo
*/
do case
case file("f:\pendr.dbf") .or. file("f:\tarefas\consulta.dbf")
drpen="f"
case file("g:\pendr.dbf") .or. file("g:\tarefas\consulta.dbf")
drpen="g"
case file("h:\pendr.dbf") .or. file("h:\tarefas\consulta.dbf")
drpen="h"
case file("i:\pendr.dbf") .or. file("i:\tarefas\consulta.dbf")
drpen="i"
case file("e:\pendr.dbf") .or. file("e:\tarefas\consulta.dbf")
drpen="e"
case file("d:\pendr.dbf") .or. file("d:\tarefas\consulta.dbf")
drpen="d"
otherwise
clear
drpen=" "
@ 5,5 say "Pendrive não reconhecida; confira se ela está corretamente colocada,"
@ 7,5 say "informe em qual drive ela se encontra:"get drpen pict "@!"
read
if lastkey()=27
@ 9,5 say "Abandonado"
inkey(5)
exit
endif
diskchange(drpen)
dirchange("\")
nvestr={}
aadd(nvestr,{"pendrive","C",01,00})
dbcreate("pendr",nvestr)
diskchange("c")
dirmake("\tarefas")
endcase
clear
@ 5,5 say "Copiando arquivos para a pendrive; aguarde..."
__run("del " + drpen + ":\tarefas\*.* /q /f")
__run("xcopy c:\tarefas\"+us+"*.dbf " + drpen + ":\tarefas /d:"+substr(dtoc(date()-8),4,2)+"-"+substr(dtoc(date()-8),1,2)+"-"+substr(dtoc(date()-8),7,2) + " /y /i /q >copp.txt")
__run("copy c:\tarefas\consulta.dbf " + drpen + ":\tarefas /y >coppc.txt")
__run("copy c:\tarefas\ativ"+us+".dbf " + drpen + ":\tarefas /y >coppa.txt")
__run("copy c:\tarefas\usuario.dbf " + drpen + ":\tarefas /y >coppu.txt")
if file("tarf.rar") .and. file("\windows\est1.dbf")
__run("copy c:\tarefas\tarf.rar " + drpen + ":\tarefas /y >copp2.txt")
endif
if !file(drpen+":\tarefas\consulta.dbf")
clear
@ 5,5 say "Cópia de arquivos não foi feita corretamente; copie manualmente"
@ 7,5 say "todos os arquivos com extensão .DBF que estão na pasta TAREFAS"
@ 9,5 SAY "do teu computador para a pasta TAREFAS da pendrive. O problema"
@ 11,5 say "já está sendo relatado ao Dr. Inacio para solução."
if mandmail1("copp.txt","não salvou arquivos do cpd na pendrive; drive da penrive: "+drpen)=.f.
* if hb_sendmail("smtp.onda.com.br",,"inaciocarvalho@onda.com.br",{"inacio@inaciocarvalho.com.br"},,,memoread("copp.txt"),nmus+" não salvou arquivos do cpd na pendrive (tarefas 1215)",,"inaciocarvalho","rodrigo2307","pop3.onda.com.br",,,.T.,.t.,,,)=.f.
* if hb_sendmail("200.189.113.37",,"inaciocarvalho@inaciocarvalho.com.br",{"inaciocarvalho@onda.com.br"},,,memoread("error.log"),nmus+" não salvou arquivos do cpd na pendrive (tarefas 1215)",,"inaciocarvalho@inaciocarvalho.com.br","unicu2012","imap.inaciocarvalho.com.br",,,.T.,.t.,,,)=.f.
* if hb_sendmail("200.189.113.37",,"inaciocarvalho@inaciocarvalho.com.br",{"ibcneto@mp.pr.gov.br"},,,memoread("error.log"),nmus+" não salvou arquivos do cpd na pendrive (tarefas 1215)",,"ibcneto@mp.pr.gov.br","unicu2012","imap.expressomx.com.br",,,.T.,.t.,,,)=.f.
ptatual=curdir()
dirchange("\tarefas")
criabsrecado()
caderro()
replace tarefa with "Assunto: Erro Tarefas 1222; versão: "+vers
append blank
append blank
replace tarefa with "Mensagem de erro de "+nmus+": Tarefas não conseguiu enviar cópia da pendrive; drive da pendrive: "+drpen
append blank
append blank
tr:=ALLTRIM(MEMOREAD("copp2.txt"))
a=1
do while .t.
append blank
replace tarefa with substr(tr,a,60)
a=a+60
if empty(substr(tr,a))
exit
endif
enddo
caderro2()
dirchange("\"+ptatual)
* endif
* endif
endif
tone(261.7,33)
wait ""
else
clear
@ 5,5 say "Cópia efetivada com sucesso; fechando o programa"
mandmail1("copp.txt","salvou arquivos do cpd para a pendrive; drive da pendrive: "+drpen)
inkey(10)
exit
endif
endif
erase sendm*.log
erase pop*.log
exit
endif
enddo
if pdc="S"
if file("podecop.txt")
nvestr={}
aadd(nvestr,{"obs","C",08,00})
dbcreate("podecop",nvestr)
if usebase(ativ)=.t.
append blank
repl data with date()
repl hora with time()
repl acao with "Cop.tarvelho"
repl assunto with vers
endif
erase podecop.txt
else
if usebase(ativ)=.t.
append blank
repl data with date()
repl hora with time()
repl acao with "N1.Cop.tarv"
endif
!copy erro.dbf podecop.txt
endif
else
if usebase(ativ)=.t.
append blank
repl data with date()
repl hora with time()
repl acao with "N2.Cop.tarv"
endif
endif
SET COLOR TO
CLEAR
USE
!del *.ntx
RETURN