Nome do PRG: AGRADECE.PRG
Compilar: CLIPPER AGRADECE
RTLINK FI AGRADECE LIB CT
PARAMETERS VRODA
PUBLIC cBusca,nMemoRow,nMemoCol
nMemoRow:=0
nMemoCol:=0
cBusca:=""
CONTECOR := { "09/01","00/07","15/04","15/01","00/03","00/07","04/07","08/07","15/03","15/02","15/04","14/07","15/03" }
IF FILE("AGRADECE.NFO")
VAGRA:=MEMOREAD("AGRADECE.NFO")
ENDIF
VT:=MLCOUNT(VAGRA,40)
IF VT>15
VT=15
ENDIF
SET CURSOR OFF
JANELA(03,18,VT+6,62,"Clientes e Colaboradores")
IF (MLCOUNT(VAGRA,40))>15
@ VT+6,19 SAY PADC("Digite ou utilize as teclas <"+CHR(24)+"> e <"+CHR(25)+">",44) COLOR CONTECOR[9]
ENDIF
SETCOLOR( CONTECOR[ 4 ] + "," + CONTECOR[ 2 ] + ",,," + CONTECOR[ 8 ] )
DO WHILE .T.
MEMOEDIT(VAGRA,04,21,VT+4,60,.F.,"CONTROL",,,nMemoRow,nMemoCol)
IF LASTKEY()=27
EXIT
ELSE
nRec:=BUSCA(VAGRA,cBusca,04,21,VT+4,60)
nMemoRow:=nRec[1]
nMemoCol:=nRec[2]
IF nMemoRow=0 .AND. nMemoCol=0
cBusca:=""
ENDIF
ENDIF
ENDDO
FUNCTION JANELA( PJAN1, PJAN2, PJAN3, PJAN4, PJAN5, PJAN6 )
IF PJAN5=NIL
PJAN5 := ""
ENDIF
SOMBRA( PJAN1, PJAN2, PJAN3, PJAN4 )
IF PJAN6=NIL
SETCOLOR( CONTECOR[ 4 ] )
ELSE
SETCOLOR( CONTECOR[ 11 ] )
ENDIF
@ PJAN1, PJAN2 CLEAR TO PJAN3, PJAN4
SETCOLOR( CONTECOR[ 5 ] )
@ PJAN1, PJAN2, PJAN3, PJAN4 BOX " "
@ PJAN1, PJAN2 SAY "þ"
IF LEN( TRIM( PJAN5 ) ) > 0
@ PJAN1, PJAN2 + ( ( ( PJAN4 + 1 - PJAN2 ) - LEN( PJAN5 ) ) / 2 ) SAY PJAN5
ENDIF
RETURN NIL
FUNCTION SOMBRA( LIN_SUP, COL_SUP, LIN_INF, COL_INF )
IF PCOUNT() = 2 .OR. PCOUNT() = 3
C_SOM := COL_SUP; L_SOM := LIN_SUP
LIN_SUP := VAL( SUBS( C_SOM, 1, 2 ) )
COL_SUP := VAL( SUBS( C_SOM, 3, 2 ) )
LIN_INF := VAL( SUBS( C_SOM, 5, 2 ) )
COL_INF := VAL( SUBS( C_SOM, 7, 2 ) )
COL_SOM := SUBS( C_SOM, 9 )
LIN_SOM := L_SOM
ENDIF
IF COL_SUP < 2 .OR. LIN_INF > 22
C_SOM := ""; L_SOM := ""
RETURN .F.
ENDIF
IF PCOUNT() = 3
RESTSCREEN( LIN_SUP + 1, COL_SUP - 2, LIN_INF + 1, COL_SUP - 1, COL_SOM )
RESTSCREEN( LIN_INF + 1, COL_SUP - 2, LIN_INF + 2, COL_INF - 2, LIN_SOM )
RETURN .F.
ENDIF
IF PCOUNT() != 2
COL_SOM := SAVESCREEN( LIN_SUP + 1, COL_SUP - 2, LIN_INF + 1, COL_SUP - 1 )
LIN_SOM := SAVESCREEN( LIN_INF + 1, COL_SUP - 2, LIN_INF + 2, COL_INF - 2 )
ENDIF
IF SUBS( COL_SOM, 2, 1 ) != CHR( 8 )
C_SOM := STR( LIN_SUP, 2 ) + STR( COL_SUP, 2 ) + STR( LIN_INF, 2 ) + STR( COL_INF, 2 ) + COL_SOM
L_SOM := LIN_SOM
ENDIF
FOR I = 2 TO LEN( COL_SOM ) STEP 2
COL_SOM := STUFF( COL_SOM, I, 1, CHR( 8 ) )
NEXT
FOR I = 2 TO LEN( LIN_SOM ) / 2 STEP 2
LIN_SOM := STUFF( LIN_SOM, I, 1, CHR( 8 ) )
NEXT
RESTSCREEN( LIN_SUP + 1, COL_SUP - 2, LIN_INF + 1, COL_SUP - 1, COL_SOM )
RESTSCREEN( LIN_INF + 1, COL_SUP - 2, LIN_INF + 2, COL_INF - 2, LIN_SOM )
RETURN .T.
FUNCTION CONTROL(MODO,V_LINHA,V_COLUNA)
VRET:=0
VK:=LASTKEY()
VP:=LEN(cBusca)
IF MODO=0
SCREENMARK("ÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛ","12/"+RIGHT(CONTECOR[3],2),.T.,.F.)
SCREENMARK(" Pablo C‚sar Arrascaeta ",CONTECOR[3],.T.,.F.,"Û","Û")
SCREENMARK(" pablo.arrascaeta@terra.com.br ",CONTECOR[3],.T.,.F.,"Û","Û")
SCREENMARK(" Telefone xxxx-xxxx / xxxx-xxxx ",CONTECOR[3],.T.,.F.,"Û","Û")
SCREENMARK("Û","12/"+RIGHT(CONTECOR[3],2),.T.,.T.,"Á"," ")
SCREENMARK("Û","12/"+RIGHT(CONTECOR[3],2),.T.,.F.,"Â"," ")
SCREENMARK("Û","12/"+RIGHT(CONTECOR[3],2),.T.,.T.," ","Ä")
SCREENMARK("ÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛ","12/"+RIGHT(CONTECOR[3],2),.T.,.F.)
ENDIF
DO CASE
CASE VK=7 .AND. !(MODO=3) .AND. VP>0
VCORM:=SETCOLOR()
VTELAM:=SAVESCREEN(08,06,18,72)
VWV:=ALLTRIM(RIGHT(MEMOLINE(VAGRA,40,V_LINHA),10))
VVTT:=ALLTRIM(SUBSTR(MEMOLINE(VAGRA,40,V_LINHA),1,30))
VVFF:=SUBSTR(VWV,1,4)+SUBSTR(VWV,6,4)+".NFO"
IF FILE(VVFF)
IF ALERT("Deseja deletar o arquivo "+VVTT,{"N„o","Sim"})=1
DELETE FILE(VVFF)
ENDIF
ENDIF
SETCOLOR(VCORM)
RESTSCREEN(08,06,18,72,VTELAM)
CASE VK=9
CASE VK=13 .AND. !(MODO=3) .AND. VP>0
VCORM:=SETCOLOR()
VTELAM:=SAVESCREEN(08,06,18,72)
VWV:=ALLTRIM(RIGHT(MEMOLINE(VAGRA,40,V_LINHA-1),10))
VVTT:=ALLTRIM(SUBSTR(MEMOLINE(VAGRA,40,V_LINHA-1),1,30))
VVFF:=SUBSTR(VWV,1,4)+SUBSTR(VWV,6,4)+".NFO"
IF VRODA=NIL .AND. cBusca $ UPPER(SUBSTR(MEMOLINE(VAGRA,40,V_LINHA-1),1,30))
IF FILE(VVFF)
VVXX:=MEMOREAD(VVFF)
JANELA(09,15,14,65,VVTT,"ALERT")
@ 14,16 SAY PADC("Pressione <Esc> para sair",49) COLOR CONTECOR[5]
SETCOLOR( CONTECOR[ 3 ] + "," + CONTECOR[ 2 ] + ",,," + CONTECOR[ 8 ] )
MEMOEDIT(VVXX,11,18,13,63,.F.)
ENDIF
ELSE
IF FILE(VVFF)
VVXX:=MEMOREAD(VVFF)
ELSE
VVXX:=""
ENDIF
SET CURSOR ON
JANELA(09,15,14,65,VVTT,"ALERT")
@ 14,16 SAY PADC("Pressione <Esc> para sair",49) COLOR CONTECOR[5]
SETCOLOR( CONTECOR[ 3 ] + "," + CONTECOR[ 2 ] + ",,," + CONTECOR[ 8 ] )
VVXX:=MEMOEDIT(VVXX,11,18,13,63,.T.)
MEMOWRIT(VVFF,VVXX)
SET CURSOR OFF
ENDIF
SETCOLOR(VCORM)
RESTSCREEN(08,06,18,72,VTELAM)
CASE VK=27
CASE VK=8 .AND. VP>1 // Backspace, Ctrl-H
VP=VP-1
cBusca:=SUBSTR(cBusca,1,VP)
VRET:=23
KEYBOARD CHR(23)
CASE VK=8 .AND. VP=1 // Backspace, Ctrl-H
VP=0
cBusca:=""
VRET:=23
KEYBOARD CHR(23)
CASE VK=5 .OR. VK=24 // Up, Down
VP=0
cBusca:=""
IF VK=5 .AND. V_LINHA=1
Tone(125, 0)
KEYBOARD CHR(30)
ENDIF
IF VK=24 .AND. V_LINHA>=MLCOUNT(VAGRA)+1
Tone(125, 0)
KEYBOARD CHR(31)
ENDIF
CASE VK>31
VP=VP+1
cBusca:=cBusca+CHR(VK)
VRET:=23
KEYBOARD CHR(23)
OTHERWISE
ENDCASE
IF LEN(cBusca)>0
COLORWIN(04,21,04,59,CONTECOR[3])
VTXT:=CHARODD(SCREENSTR(04,21+V_COLUNA,(LEN(cBusca))))
@ 04,21+V_COLUNA SAY VTXT COLOR CONTECOR[3]+"*"
ENDIF
RETURN VRET
FUNCTION BUSCA(VAGRA,cBusca,VL1,VC1,VL2,VC2)
VTAMA:=MLCOUNT(VAGRA)
VLARG:=(VC2-VC1)
VREC:={0,0}
FOR I=1 TO VTAMA
V_LIN:=UPPER(MEMOLINE(VAGRA,VLARG,I))
V_LIN:=CHARREPL("‡",V_LIN,"€",.T.)
V_LIN:=CHARREPL("„",V_LIN,"A",.T.)
V_LIN:=CHARREPL(" ",V_LIN,"A",.T.)
V_LIN:=CHARREPL("ˆ",V_LIN,"E",.T.)
V_LIN:=CHARREPL("‚",V_LIN,"E",.T.)
V_LIN:=CHARREPL("¡",V_LIN,"I",.T.)
V_LIN:=CHARREPL("”",V_LIN,"O",.T.)
V_LIN:=CHARREPL("“",V_LIN,"O",.T.)
V_LIN:=CHARREPL("¢",V_LIN,"O",.T.)
V_LIN:=CHARREPL("£",V_LIN,"U",.T.)
VOND:=AT(UPPER(cBusca),V_LIN)
IF VOND>0
VREC:={I,(VOND-1)}
EXIT
ENDIF
NEXT
RETURN VREC
Gravar estes textos em arquivos.
Gravar este arquivo como AGRADECE.NFO
Agrade‡o muito a colabora‡„o que receb¡
de todos os meus clientes, com os quais
compartilhamos id‚ias e buscamos sempre
atender a todas as necessidades que uma
video locadora demanda e poder alcan‡ar
o aperfei‡oamento do sistema.
Alternativa Video 3423-4896
Magic Video (Praia de Leste) 3458-2428
DVD Club Express (Curitiba) 3019-4667
___MMM___
(0-0)
ÄÄÄÂÄÄÄÂÄÄÄÂÄoOOÄÄ(_)ÄÄOOoÄÂÄÄÄÂÄÄÄÂÄÄÄ
ÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄ
ÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄ
ÄÂÛßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßÛÄÂÄ
ÄÁÛ Pablo C‚sar Arrascaeta ÛÄÁÄ
ÄÂÛ pablo.arrascaeta@terra.com.br ÛÄÂÄ
ÄÁÛ Telefone xxxx-xxxx / xxxx-xxxx ÛÄÁÄ
ÄÂÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÛÄÂÄ
ÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄ
ÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄÁÄÂÄ
ÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄ
Muito obrigado a todos !
E gravar este outro que servirá de exemplo, como 34234896.NFO
Av. Bento Rocha, 1660
Vila Guaran¡ - Paranagu
Espero que gostem.
Um clip-abraço :)Pos