Código: Selecionar todos
******************************************************
* Programa : MP3 Rename & Player v.0.1 *
* Data : 02.11.2005 Revisao 19.02.2008 *
* Hora : 17:17 *
* Autor : Marcelo Mendes (Clipper) *
* Objetivo : Uso didatico dos colegas clippeiros *
* em especial aos que participam do *
* Forum Clipper On Line (Toledo) *
* Permite renomear arquivos com extensao *
* extensao MP3 de qualquer tamnho *
* Permite ainda executar o arquivo(tocar) *
***************************************************************
* As funcoes de outras libs quando usadas ao lado sera colocado
* o nome da LIB a qual pertence
* Libs ou Objs usados : NANFORUM, LFNLIB, TIMESLICE
* : LLLIB e CPMI
***************************************************************
PRIVATE ARQ
FREETSLICE() // TIMESLIC OBJ
READINSERT(.F.)
SET STATUS OFF
SET SCOR OFF
CLS
IF .NOT. FILE("MP3.INI")
PESQ=SPACE(40)
ELSE
HARQ=FOPEN("MP3.INI")
MINI=FREADSTR(HARQ,38)
PESQ=SUBSTR(MINI,1,1)+":\"+SUBSTR(MINI,2,37)
FCLOSE(HARQ)
ENDIF
@ 01,00 SAY "Disco e Pasta ( X:\Pasta ): " GET PESQ ;
PICT "@! A:\XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" VALID VERPASTA(PESQ)
READ
IF LASTKEY()=27
CLS
RETURN
ENDIF
CLS
PESQ2=ALLTRIM(PESQ)+"\"
ARQ:=LF_DIRECTORY(PESQ2+"*.MP3",,,,.F.) // LFN LIB
IF .NOT. FILE("MP3.DBF")
DBCREATE("MP3.DBF",{{"TITULO","C",120,0},{"NOMEDOS","C",8,0}})
USE MP3
ELSE
USE MP3
ZAP
ENDIF
INDEX ON TITULO TO MP3
IF .NOT. EMPTY(ARQ)
IF FILE("MP3.INI")
FERASE("MP3.INI")
ENDIF
CHAND=FCREATE("MP3.INI",0)
FWRITE(CHAND,SUBSTR(PESQ,1,1)+SUBSTR(PESQ,4,37))
FCLOSE(CHAND)
TM=LEN(ARQ)
LN=2
VT=1
@ 00,00 SAY PADC("Mp3 Play & Ren v.0.1 * Renomeador e Player para Arquivos Mp3 * Clipper On Line",80) COLOR("GR+")
@ 01,00 SAY REPLICATE("Ä",80)
* @ 24,00 SAY ALLTRIM(STR(TM,4))+" Arquivo(s) encontrado(s)"
FOR I=1 TO TM
DBAPPEND()
REPLACE TITULO WITH ARQ[I,6]
REPLACE NOMEDOS WITH ARQ[I,1]
NEXT
DBCOMMIT()
DBGOTOP()
KEYBOARD CHR(255)
MSG(PADC("<Enter> Renomeia ³ <Espa‡o> Toca",80),999)
LISTAMUSICA()
DBCLOSEALL()
ELSE
MSG("Nenhum arquivo encontrado !",2)
ENDIF
FERASE("MP3.NTX")
FERASE("MP3.DBF")
CLS
RETURN
*---------------*
FUNCTION FUNC01
*---------------*
PARAM A
SETCURSOR(0)
B=LASTKEY()
IF A=1
TONE(77,5)
INKEY(.7)
ELSEIF A=2
TONE(77,5)
INKEY(.7)
ELSEIF A=3
TONE(77,5)
INKEY(.7)
RETURN(0)
ENDIF
LINHA=ROW()
IF LASTKEY()=13
SET KEY 22 TO INSERE()
ANT=SUBSTR(TITULO,1,6)
SETCURSOR(1)
TITANT=TITULO
@ LINHA,00 GET TITANT COLOR "GR+/B" VALID VEREXT(TITANT)
READ
SET KEY 22 TO
IF LASTKEY()=27
DBSEEK(ANT,.T.)
KEYBOARD CHR(255)
RETURN(0)
ENDIF
IF PESQ2+TITULO<>PESQ2+TITANT
RENOMEIA=LF_FRENAME(PESQ2+TITULO,PESQ2+TITANT) // LFN LIB
IF RENOMEIA=.T.
REPLACE TITULO WITH TITANT
DBCOMMIT()
MSG("Renomeado com sucesso !",2)
ELSE
MSG("Nao foi possivel renomear !",2)
ENDIF
ENDIF
DBSEEK(ANT,.T.)
KEYBOARD CHR(255)
RETURN(2)
ENDIF
IF LASTKEY()=32
* ESCOLHA="CMD /C START KOOLP "+PESQ2+ALLTRIM(NOMEDOS)+".MP3" // Player Freeware
* ESCOLHA="CMD /C START MPW "+PESQ2+ALLTRIM(NOMEDOS)+".MP3" // Player Freeware
* ESCOLHA="CMD /C START 1BY1 "+PESQ2+ALLTRIM(NOMEDOS)+".MP3" // Player Freeware
ESCOLHA="CMD /C START COOLPLAY "+PESQ2+ALLTRIM(NOMEDOS)+".MP3" // Player Freeware
MSG(PADC("Tocando "+ALLTRIM(TITULO),80),999)
SWPRUNCMD(ESCOLHA,0,"","")
MSG(PADC("<Enter> Renomeia ³ <Espa‡o> Toca",80),999)
CLEAR TYPEAHEAD
RETURN(1)
ENDIF
IF B=27
RETURN(0)
ENDIF
CLEAR TYPEAHEAD
RETURN(1)
*** PROCEDIMENTO : FUNCAO / EDITNOTA
*-------------------------------*
FUNCTION LISTAMUSICA(PNOM,PVAR)
*-------------------------------*
IF PNOM="LISTAMUSICA"
RETURN(.F.)
ENDIF
DECLARE CAMPOS[1]
DECLARE WPICTU[1]
DECLARE WCABEC[1]
CAMPOS[1]="TITULO"
WPICTU[1]=REPLICATE("X",80)
WCABEC[1]="Titulo da Musica"
DBEDIT(02,00,23,79,CAMPOS,"FUNC01",WPICTU,WCABEC,"ß","³","ß")
RETURN(NIL)
*------------------------*
FUNCTION VERPASTA(PPESQ)
*------------------------*
IF LF_ISFILE(ALLTRIM(PPESQ),.T.)=.F. // LFN LIB
MSG("Caminho "+ALLTRIM(PPESQ)+" nao encontrado !",2)
RETURN(.F.)
ENDIF
RETURN(.T.)
*------------------------*
FUNCTION MSG(MMSG,TEMPO)
*------------------------*
IF TEMPO=NIL .AND. TEMPO<>999
TEMPO=0
ENDIF
IF MMSG=NIL
MMSG="Mensagem : Pressione uma tecla..."
ENDIF
SAVEMSG=SAVESCREEN(24,00,24,79)
@ 24,00 CLEAR TO 24,79
@ 24,00 SAY "Mensagem : "+MMSG COLOR "GR+"
IF TEMPO<>999
@ 24,00 SAY "Mensagem : "+MMSG COLOR "GR+"
INKEY(TEMPO)
RESTSCREEN(24,00,24,79,SAVEMSG)
ELSE
@ 24,00 SAY MMSG COLOR "BG+"
ENDIF
RETURN(.T.)
*----------------------*
FUNCTION VEREXT(NNOME)
*----------------------*
NNOME=ALLTRIM(NNOME)
TN=LEN(NNOME)
EXT=SUBSTR(NNOME,TN-3,4)
IF UPPER(EXT)<>".MP3"
MSG("A extensao do arquivo so pode ser .MP3 ou .mp3 !",2)
RETURN(.F.)
ENDIF
RETURN(.T.)
*-----------------*
FUNCTION INSERE()
*-----------------*
IF READINSERT()=.F.
READINSERT(.T.)
@ 24,73 SAY "Insere" COLOR "G+"
SETCURSOR(3)
ELSE
READINSERT(.F.)
@ 24,73 SAY SPACE(7)
SETCURSOR(1)
ENDIF
RETURN(.T.)www.phrep.com.br/mp3ren.zip
Até logo.
Marcelo



