Posté le 06 juin 2024 - 01:51 |
// Summary: <specify the procedure action> // Syntax: //Evento_Buscar_Wxs () // // Parameters: // None // Example: // <Specify a usage example> // // Return value: PROCEDURE Evento_Buscar_Wxs()
Info("Esse procedimento pode demorar alguns","segundos ou ate minutos,","dependendo do computador.")
HourGlass(True)
//HDeleteAll(t006_paths_local)
TableDisplay(TABLE_T006_paths,taInit)
timeini is Time = TimeSys()
disco is string
discos is string = fListDisk()
qtdediscos is int = StringCount(discos,CR,IgnoreCase) + 1
DiretoriosRaiz is string = ""
u, x, y is int = 0
LOOP(qtdediscos) u++ disco = ExtractString(discos,u,CR,FromBeginning) DiretoriosRaiz = Lower(fListDirectory(disco,frNotRecursive)) passo_01_path_busca_raiz(DiretoriosRaiz) PROGBAR() END
TableDisplay(TABLE_T006_paths,taInit)
PROGBAR_100 = 100
timefim is Time = TimeSys()
//info(TimeDifference(timeini,timefim))
HourGlass(False)
ToastDisplay("Busca Finalizada!",toastLong,vaMiddle,haCenter,RGB(0,0,255))
INTERNAL PROCEDURE PROGBAR() PROGBAR_100+=10 IF PROGBAR_100 >= 100 THEN PROGBAR_100 = 0 END END
INTERNAL PROCEDURE passo_01_path_busca_raiz(Diretorios_Raiz) HourGlass(True) IF Diretorios_Raiz = "" THEN RETURN END qtde is int = StringCount(Diretorios_Raiz,CR,IgnoreCase) diretorio is string ok_pcsoft, ok_windev, ok_webdev, ok_mobile is boolean subdiretorios01,subdiretorios02,subdiretorios03,subdiretorios04,subdiretorios05 is Variant //Trace(Diretorios_Raiz) x = 0 LOOP(qtde) x++ PROGBAR() diretorio = Lower(ExtractString(Diretorios_Raiz,x,CR,FromBeginning)) IF Contains(diretorio,"pc soft",IgnoreCase) = True OR Contains(diretorio,"pc_soft",IgnoreCase) = True OR Contains(diretorio,"pcsoft",IgnoreCase) = True OR Contains(diretorio,"windev",IgnoreCase) = True OR Contains(diretorio,"webdev",IgnoreCase) = True OR Contains(diretorio,"mobile",IgnoreCase) = True //pcsoft IF Contains(diretorio,"pc soft",IgnoreCase) = True ok_pcsoft = True subdiretorios01 = Lower(fListDirectory(diretorio,frRecursive)) IF Contains(subdiretorios01,"pc soft",IgnoreCase) = True THEN passo_02_path_busca_sub(subdiretorios01) PROGBAR() END END //pcsoft IF Contains(diretorio,"pc_soft",IgnoreCase) = True ok_pcsoft = True subdiretorios02 = Lower(fListDirectory(diretorio,frRecursive)) IF Contains(subdiretorios02,"pc_soft",IgnoreCase) = True THEN passo_02_path_busca_sub(subdiretorios02) PROGBAR() END END //pcsoft IF Contains(diretorio,"pcsoft",IgnoreCase) = True ok_pcsoft = True subdiretorios03 = Lower(fListDirectory(diretorio,frRecursive)) IF Contains(subdiretorios03,"pcsoft",IgnoreCase) = True THEN passo_02_path_busca_sub(subdiretorios03) PROGBAR() END END //windev IF Contains(diretorio,"windev",IgnoreCase) = True ok_windev = True subdiretorios04 = Lower(fListDirectory(diretorio,frRecursive)) IF Contains(subdiretorios04,"windev",IgnoreCase) = True THEN passo_02_path_busca_sub(subdiretorios04) PROGBAR() END END //webdev IF Contains(diretorio,"webdev",IgnoreCase) = True ok_webdev = True subdiretorios04 = Lower(fListDirectory(diretorio,frRecursive)) IF Contains(subdiretorios04,"webdev",IgnoreCase) = True THEN passo_02_path_busca_sub(subdiretorios04) PROGBAR() END END //mobile IF Contains(diretorio,"windev",IgnoreCase) = True AND Contains(diretorio,"mobile",IgnoreCase) = True ok_mobile = True subdiretorios05 = Lower(fListDirectory(diretorio,frRecursive)) IF Contains(subdiretorios05,"mobile",IgnoreCase) = True THEN passo_02_path_busca_sub(subdiretorios05) PROGBAR() END END END END END
INTERNAL PROCEDURE passo_02_path_busca_sub(subdiretorios) HourGlass(True) diretorio_n02 is string = "" qtde is int = StringCount(subdiretorios,CR,IgnoreCase) y = 0 IF subdiretorios <> "" THEN LOOP(qtde) y++ PROGBAR() diretorio_n02 = Lower(ExtractString(subdiretorios,y,CR,FromBeginning)) //windev IF (Contains(diretorio_n02,"windev",IgnoreCase) = True AND Contains(diretorio_n02,"programs",IgnoreCase) = True) OR (Contains(diretorio_n02,"windev",IgnoreCase) = True AND Contains(diretorio_n02,"programmes",IgnoreCase) = True) ok1 is boolean = Contains(diretorio_n02,"programs",IgnoreCase) ok2 is boolean = Contains(diretorio_n02,"programmes",IgnoreCase) IF ok1 = True OR ok2 = True THEN passo_03_gravar_path(diretorio_n02) Config_Grava("Versao_usada_windev",Busca_versao(diretorio_n02)) END END //webdev IF (Contains(diretorio_n02,"webdev",IgnoreCase) = True AND Contains(diretorio_n02,"programs",IgnoreCase) = True) OR (Contains(diretorio_n02,"webdev",IgnoreCase) = True AND Contains(diretorio_n02,"programmes",IgnoreCase) = True) ok1 is boolean = Contains(diretorio_n02,"programs",IgnoreCase) ok2 is boolean = Contains(diretorio_n02,"programmes",IgnoreCase) IF ok1 = True OR ok2 = True THEN passo_03_gravar_path(diretorio_n02) Config_Grava("versao_usada_webdev",Busca_versao(diretorio_n02)) END END //mobile IF (Contains(diretorio_n02,"windev",IgnoreCase) = True AND Contains(diretorio_n02,"mobile",IgnoreCase) = True AND Contains(diretorio_n02,"programs",IgnoreCase) = True) OR (Contains(diretorio_n02,"windev",IgnoreCase) = True AND Contains(diretorio_n02,"mobile",IgnoreCase) = True AND Contains(diretorio_n02,"programmes",IgnoreCase) = True) ok1 is boolean = Contains(diretorio_n02,"programs",IgnoreCase) ok2 is boolean = Contains(diretorio_n02,"programmes",IgnoreCase) IF ok1 = True OR ok2 = True THEN passo_03_gravar_path(diretorio_n02) Config_Grava("versao_usada_windev_mobile",Busca_versao(diretorio_n02)) END END END//loop END END
INTERNAL PROCEDURE passo_03_gravar_path(diretorio_localizado) HourGlass(True) PROGBAR() isPrograms is boolean = False ok1 is boolean = Contains(diretorio_localizado,"programs",IgnoreCase) ok2 is boolean = Contains(diretorio_localizado,"programmes",IgnoreCase) IF ok1 = True OR ok2 = True THEN isPrograms = True posicao_programs is int = 0 IF ok1 = True posicao_programs = PositionOccurrence(diretorio_localizado,"programs",1,FromBeginning) + 8 ELSE IF ok2 = True posicao_programs = PositionOccurrence(diretorio_localizado,"programmes",1,FromBeginning) + 10 END diretorio_localizado = Middle(diretorio_localizado,1,posicao_programs) HReset(t006_paths_local) IF HReadSeek(t006_paths_local,t006_path,diretorio_localizado,hIdentical) = False THEN t006_paths_local.t006_path = diretorio_localizado t006_paths_local.t006_existe = True HAdd(t006_paths_local) TableDisplay(TABLE_T006_paths,taInit) PROGBAR() END ELSE isPrograms = False END END
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
|