Pure_Recherche

Programmation d'applications complexes
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Pure_Recherche

Message par Zorro »

ceux qui utilisent EPB (mais il ne doit pas y en avoir beaucoup :mrgreen: ) connaissent deja ce prg
qui est inclue dans mon editeur dans la fonction recherche ...

comme moi j'imagine, si vous avez une collection de codes ou vous puisez vos morceaux de codes
vous avez été confronté a la question récurrente :
"mais bon sang,dans quel listing, se trouve cette procedure xxx , ou cette variable yyyy ??"

et la vous voila parti a loader pleins de listing dans votre éditeur a la recherche de ce fameux code ...
une heure apres, vous y etes encore .....

c'est la que mon Genie légendaire interviens (et oui je suis Zorro non ? )Image

avec ce prg , vous indiquez le terme recherché exemple le nom d'une variable : toto.s
puis vous lancez la recherche dans le dossier de votre choix , toute l'arborescence sera observé , il faut attendre la fin du traitement
chaque listing au format spécifié (PB,PBI,TXT etc... ) sera examiné , et si le listing contient le terme recherché
il apparaîtra dans la listeview
le dossier de la derniere recherche est sauvegardé au prochain lancement (ainsi que la position de la fenetre )

plus qu'a choisir le listing present dans la listview que vous voulez charger, et appuyer sur le bouton qui va bien (LOAD pour les demeurés )
et la miracle le listing sera chargé dans l’éditeur définit pour charger les *.pb, ou les txt , ou les html, ou bref... tout le reste avec de l'ascii dedans


si vous collectionnez les formules magique, et que vous voulez retrouver une formulation précise parmi celle-ci ....

Ajout : possibilité de choisir le type de fichier


voici le code :

Code : Tout sélectionner

;***********************************************
;Titre  :*Pure_recherche
;Auteur  : Zorro
;Date  :20/06/2016
;Heure  :10:55:22
;Version Purebasic :  PureBasic 5.42 LTS (Windows - x86)
;Version de l'editeur :EPB V2.62
; Libairies necessaire : Aucune 
;***********************************************
Declare  openwindow_win()
Declare  recherche_in_file(dossier$,nom$)
Declare.s parsedirectory_search_file(folder.s,nom$, id.l = 0)
Global NewList chemin_search_file$() ,xx=1 ,yy=1
Global activity$=" ,>,>>,>>>,>>>>,>>>>>",activity2$=" ,*,**,***,****,*****"
Global Home$=GetCurrentDirectory()
Global Type.s ="Pb"
;{- Enumerations / DataSections
;{ Windows
Enumeration
	#Win
	#file
	#file2
EndEnumeration
;}
;{ Gadgets
Enumeration
	#Text_titre
	#String_search
	#String_type
	#Text_1
	#Text_2
	#ListView_resultat
	#Text_activity
	#Button_action_recherche
	#Button_Load
	#ButtonLogo
	#Text_8
EndEnumeration
;}
;{ Fonts
Enumeration
	#Font_Text_titre
EndEnumeration
;}
;{ Images
Enumeration
	#Image_ButtonImage_7
EndEnumeration
;}
;}
;{ Image Plugins
UsePNGImageDecoder()
;}
Define.l Event
;}
OpenWindow_Win()
;{- Event loop
Repeat
	Event = WaitWindowEvent(12)
	Select Event
		; ///////////////////
		Case #PB_Event_Gadget
		Select EventGadget()
			Case #Text_titre
			Case #String_search
			mot_recherche.S=GetGadgetText(#String_search)
			Case #Text_1
			Case #string_type
			Type.s=GetGadgetText(#string_type)
			Case #ListView_resultat
			choix.s=GetGadgetText(#ListView_resultat)
			Case #Text_activity
			Case #Button_action_recherche
			;-Button recherche_file_action
			If FileSize(Home$+"recherche_file.inf")>0
				OpenFile(#file2,Home$+"recherche_file.inf")
					sauvegarde_repertoire$=ReadString(#file2)
				CloseFile(#file2)
				Dossier$ = PathRequester("Rechercher dans le répertoire :",sauvegarde_repertoire$)
			Else
				Dossier$ = PathRequester("Rechercher dans le répertoire :",Home$)
			EndIf
			If Dossier$<>""
				sauvegarde_repertoire$=Dossier$
				IF FileSize(Home$+"recherche_file.inf")>0
					DeleteFile(Home$+"recherche_file.inf")
				Endif
				If OpenFile(#file2,Home$+"recherche_file.inf")
					WriteString(#file2,sauvegarde_repertoire$)
				CloseFile(#file2)
			EndIf
			ClearList(chemin_search_file$()) 
			ClearGadgetItems(#ListView_resultat)
			recherche_in_file(Dossier$,mot_recherche.S)
			ParseDirectory_search_file(Dossier$,mot_recherche.S, id.L)
			SetGadgetText(#Text_activity, StringField(activity$,1,",")) 
			MessageRequester("info"  ,"recherche terminée" ,#PB_MessageRequester_Ok)
		EndIf
		; 
		Case #Button_Load
		If choix.s<>""
			RunProgram(choix.s)
		Endif
		Case #ButtonLogo
		Case #Text_8
	EndSelect
	; ////////////////////////
	Case #PB_Event_CloseWindow
	Select EventWindow()
		Case #Win
		Openfile(#file,"pure_recherche.inf")
			writeLong(#file,WindowX(#win))
			writeLong(#file,WindowY(#win))
		CloseFile(#file)
		CloseWindow(#Win)
		Break
	EndSelect
EndSelect
Forever
;
;}

; Case #button_search_file_action
;-**** Procedures Zones ****
Procedure OpenWindow_Win()
	if Openfile(#file,"pure_recherche.inf")
		xw=ReadLong(#file)
		yw=ReadLong(#file)
	CloseFile(#file)
Else
	xw=10  :yw=50
Endif
If OpenWindow(#Win, xw, yw, 368, 486, "Pure_recherche", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
	;If CreateGadgetList(WindowID(#Win))
	TextGadget(#Text_titre, 95, 15, 160, 35, "Pure Recherche")
	TextGadget(#Text_2, 230, 70, 65, 30, "Type de fichier")
	StringGadget(#String_type, 280, 70, 30, 20, Type.s)
	TextGadget(#Text_1, 10, 100, 65, 30, "Terme a rechercher")
	StringGadget(#String_search, 65, 105, 245, 20, "")
	ListViewGadget(#ListView_resultat, 35, 145, 295, 265)
	TextGadget(#Text_activity, 65, 130, 140, 15, ">")
	ButtonGadget(#Button_action_recherche, 35, 425, 75, 30, "Search")
	ButtonGadget(#Button_Load, 255, 425, 75, 30, "Load")
	ButtonImageGadget(#ButtonLogo, 0, 0, 60, 85, CatchImage(#Image_ButtonImage_7, ?Image_ButtonImage_7))
	TextGadget(#Text_8, 260, 30, 45, 15, "By Zorro")
	; Gadget Fonts
	SetGadgetFont(#Text_titre, LoadFont(#Font_Text_titre, "Arial", 14, #PB_Font_Bold|#PB_Font_HighQuality))
	; EndIf
EndIf
EndProcedure
Procedure recherche_in_file(Dossier$,nom$)
	;By Dobro
	If Right(Dossier$, 1) <> "\"
		Dossier$ + "\"
	EndIf
	Extention$=Type.s 
	#R1=10
	#F=10
	If ExamineDirectory(#R1,Dossier$,"*."+Extention$)
		While NextDirectoryEntry(#R1)
			If DirectoryEntryType(#R1) = #PB_DirectoryEntry_File
				If xx>6:xx=1:EndIf
				SetGadgetText(#text_activity, StringField(activity$,xx,",")) ; de 1 a 6 ">,>>,>>>,>>>>,>>>>,>>>>>>"
				xx=xx+1
				If ReadFile(#F, Dossier$+DirectoryEntryName(#R1))
					file = file +1
					ligne = 0
					While Eof(#F)=0 
						ligne = ligne + 1
						ligne_observe.s= ReadString(#F)
						If FindString(ligne_observe.s,nom$,1,#PB_String_NoCase)
							NomListe$ = RemoveString(Dossier$+DirectoryEntryName(#R1),Racine$,#PB_String_NoCase,1,1)
							If NomListe$ = MemeNomListe$
								If StringField(NomListe$,2,".")=LCase(Extention$)
									;;AddGadgetItem(#ListView_resultat,-1,DirectoryEntryName(#R1),0,1)   
									;;AddElement( chemin_search_file$())
									;;chemin_search_file$()=NomListe$
									
								EndIf
							Else
								If StringField(NomListe$,2,".")=LCase(Extention$)
									AddGadgetItem(#ListView_resultat,-1,DirectoryEntryName(#R1),0,0)
									AddElement( chemin_search_file$())
									chemin_search_file$()=NomListe$
									
								EndIf
							EndIf
							MemeNomListe$ = NomListe$
							SetGadgetItemData(#ListView_resultat,CountGadgetItems(#ListView_resultat)-1,ligne)
						EndIf             
						WindowEvent()
						If xx>6:xx=1:EndIf
						SetGadgetText(#text_activity, StringField(activity$,xx,",")) ; de 1 a 6 ">,>>,>>>,>>>>,>>>>,>>>>>>"
						xx=xx+1
					Wend
				CloseFile(#F)         
			EndIf
		EndIf
	Wend
	FinishDirectory(#R1)
EndIf
EndProcedure
Procedure.S ParseDirectory_search_file(folder.S,nom$, id.L = 0)
	;by Dobro
	;CallDebugger
	If Right(folder, 1) <> "\"
		folder + "\"
	EndIf
	If ExamineDirectory(id, folder.S, "*.*")
		While NextDirectoryEntry(id)
			If DirectoryEntryName(id) <> "." And DirectoryEntryName(id) <> ".." 
				If DirectoryEntryType(id) = #PB_DirectoryEntry_Directory
					;;AddGadgetItem(#editor,-1,Chr(10)+folder + DirectoryEntryName(id))
					;;Debug folder + DirectoryEntryName(id)
					recherche_in_file(folder + DirectoryEntryName(id) ,nom$)
					ParseDirectory_search_file(folder + DirectoryEntryName(id) ,nom$, id + 1)
				EndIf
			EndIf
			If yy>6:yy=1:EndIf
			SetGadgetText(#text_activity, StringField(activity2$,yy,",")) ; de 1 a 6 ">,>>,>>>,>>>>,>>>>,>>>>>>"
			yy=yy+1
			
		Wend
		FinishDirectory(id)
	EndIf
EndProcedure

;-**** Datas Zones ****
;{ Included Images
DataSection
	Image_ButtonImage_7:
	; IncludeBinary "D:\Dobro\PureBasic\dobro\Dobro_creation\Pure_recherche\Tornade2.png"
	;{Size = 3967 bytes
	Data.l $474E5089,$0A1A0A0D,$0D000000,$52444849,$37000000,$56000000,$00000608,$0E736B00,$000000B9,$59487009,$0B000073,$0B000013
	Data.l $9A000113,$0000189C,$44490A0F,$DA785441,$58095CED,$7E17F98D,$22EC65AF,$18421BB2,$B1D63331,$912CB656,$B1F64B2D,$50DA28D4
	Data.l $4B17DA52,$4B252576,$14A92DF6,$B227B219,$5F630CCB,$52C8B4B2,$7FF732CA,$36E66FCE,$2B7BAAE8,$7FE79EBA,$AEA3C79E,$F7BEDEEF
	Data.l $E7BCE73B,$22FCE73D,$5EFB7AC9,$FDED250A,$7AB8F7FB,$962B0135,$4C4C432F,$AA2AD40C,$2681B341,$026E371A,$344D4D4D,$DA85A46A
	Data.l $6AA36A75,$AC540D55,$8AC51158,$47F65315,$94498A14,$4A952705,$2251E8F1,$B0FCFDFC,$241AED76,$D7892525,$E2F14018,$AEAEA1C5
	Data.l $EA753A8E,$7AFD5EA2,$FF7F4BA8,$BA19ACD0,$62A0E8E8,$AF508A85,$F35C4552,$8B7FDFF7,$891225EB,$7FBB81EA,$3CBC1EFF,$D379B03D
	Data.l $65656426,$BA50FCE5,$4A2512E9,$52A954A0,$12A954A8,$A31AB4B4,$18657AB2,$CB43F418,$9590AD56,$D5404599,$0D7ABD51,$46532994
	Data.l $31B1C075,$48A8A8A0,$E3BBBA78,$024BE5F2,$B2565E70,$5F7C4964,$AFBE1EAF,$95CA3DFB,$8341872B,$FF5FA307,$7975F4FE,$112FCDE1
	Data.l $C702F9BA,$ECEE7561,$982CF859,$4E67338F,$05252523,$CEBF5FAF,$800C7DF3,$DDF77CFF,$A5A46877,$08D9B945,$C7D5EBF5,$68636370
	Data.l $0F17376B,$31C148A0,$75BADC99,$C95AE453,$F2F12512,$DC6C4BE5,$B0F08C18,$F178BC30,$4A1FB142,$A1A1AB61,$5B2D9681,$B1D8CC61
	Data.l $1F53D9E8,$85BE146A,$834A839D,$A6A5AF63,$61F120A6,$6AAF08A2,$2921AAD5,$168B0939,$B6FB60FA,$FCFE786D,$C19F9E79,$6961C8F9
	Data.l $10433363,$A5D2E94E,$E4B908BF,$C7392C2B,$8B7DBEDE,$9A950264,$92422A92,$CBCBD06F,$F77B9103,$33333322,$404A1FF7,$C36B699A
	Data.l $FA03DDCD,$9844BDFA,$1CF9FA7E,$E71D7C21,$65C1BE63,$87DC03E6,$C28AF137,$78D9ECF2,$0A829902,$2CACD354,$E6EB702D,$A6493CCD
	Data.l $30AAD56A,$6FC53531,$FDE4E666,$57B5E2EA,$CCE15EAF,$F214D3E9,$E135714F,$6EA8B40A,$223E1B0E,$2058B9DF,$F77B3270,$FC6E1DEE
	Data.l $2F171D75,$A3B1C05C,$11111147,$9E4F278E,$4B900AE4,$A9D4F980,$A1B6B4B0,$5E26ABFC,$800C0A0B,$9E13B38B,$DE267B3D,$22200FCB
	Data.l $7E2D0A32,$E09F29FC,$1C1C14DE,$B1D1871B,$442847A3,$10181033,$F7FBFD80,$673ED789,$4B4B0DEC,$4CD9582B,$CD864A17,$4B19D5CD
	Data.l $46422F16,$9EF88646,$09D7F243,$188F5113,$F3944395,$4F4F575B,$C155FF7C,$4F07B1B1,$B2149EC5,$2C3C3C2C,$125C7057,$1BFB2598
	Data.l $E387661A,$F02793C9,$8FE3F1F8,$7CBE5E3C,$DD6AB479,$74A98D06,$86ED75E8,$A37BBD5E,$AF9DA902,$C2CB8E0E,$E05BADB6,$B48F60E8
	Data.l $AF3CB4B4,$A9D2F567,$A8D46753,$54BC9359,$DDEFF70C,$E87AAD27,$DB6A4223,$F6A21DB6,$476A101F,$342BDCD9,$DB4A1C70,$8C156DB7
	Data.l $3DDEFF79,$D94B5485,$336165B2,$10A6067D,$52A954A9,$5D2F9715,$4661F0C2,$56FB7DB8,$7575FBF6,$FCB804F5,$EBC91828,$E1C70042
	Data.l $0C70E478,$43B2CF66,$6E5CB102,$71A1F8E1,$79349809,$CED86632,$351A8D42,$9CB203C5,$121E2E66,$ED361A97,$3BB1CDE6,$48750C34
	Data.l $0B5B29B6,$9F8E0C0B,$5C7F9FF0,$839B9625,$0AD1D103,$719930C9,$361B0D98,$2E4E8E1C,$8B889BA2,$1B8D853B,$3BBA1182,$BCDE6F04
	Data.l $77B0D711,$4D265499,$6A434136,$CD0994A5,$274B8302,$74BA5832,$F9FA5631,$99249922,$2C80C632,$8F473188,$C8A88B19,$5FAF0448
	Data.l $6A5DA427,$6147EA6A,$0542A15D,$9886D912,$BA82CD3A,$7B0AD68A,$F8E040B0,$389C4E06,$EDB3398E,$467F1F11,$C6A2A784,$7BBDDF34
	Data.l $383BD80F,$659D9B8A,$CFD7333B,$C3535350,$38531364,$EC29B8B9,$638102BD,$811379AF,$540EAD04,$C6651D88,$72B950E4,$E3CD1265
	Data.l $3FAFD060,$88DE6CB6,$E6773B5D,$3DF94BAA,$E15D7ABA,$BA92B7EB,$1E5F86FE,$78F8D9DC,$C5B2CFD8,$84C7E389,$58D456A0,$1C37F49D
	Data.l $07030180,$FF5130E2,$D250D09E,$7E79C9A9,$EEBD3706,$44225E9E,$F99CD115,$C4499706,$27EFEFE1,$2A13C514,$771A8ABC,$57ABD504
	Data.l $28836027,$1B632AE7,$6F371275,$E1E850DC,$6871EE70,$AD7624CE,$1BCF9E44,$E0F2965C,$938E2F38,$DD3CBCB7,$42AA4B11,$81E35C99
	Data.l $BEF93F11,$B2100D7D,$2322276B,$6422EEF3,$DDEADEC6,$BCBC0FBB,$9371A1E7,$8E0B85A6,$83C1E409,$B08542FB,$FE70BE38,$4A19DC9C
	Data.l $56AB566E,$0D19182D,$3A7A7A45,$9E33E9C2,$C656C092,$80341B34,$F5378787,$64F24383,$71C0A54D,$688CB37B,$F59FA99F,$267932A0
	Data.l $CE3A6633,$5C287E39,$325114CB,$3DD71A1F,$56DB126B,$7749D3D6,$5C1DC856,$F8E08286,$BDDEEE26,$13499303,$51D8FC70,$961541A5
	Data.l $D7B26B31,$043CDD5C,$3DE6E66B,$53F1C185,$24767576,$58512DCF,$6B297D5E,$7847E2D1,$AE8F9DCD,$AAE7BADD,$F7061539,$0C04D5C7
	Data.l $BC28681E,$8D56D457,$CDCDD6D8,$478DC313,$C0A16E8A,$DA6F36E0,$4CDFB300,$515F35B2,$E993971A,$61616C33,$40624D65,$FCE0E0BD
	Data.l $8662FA57,$48BE558D,$5F584BE4,$F0F07E83,$A69346F4,$EF367C3F,$809FE924,$4C4F9BE3,$C437887C,$09E9C566,$3AE16D71,$06E379B6
	Data.l $535D5378,$9A9A7015,$78B3E00D,$37507A29,$13CC9ECF,$6750F71C,$1089C74E,$4CF67B4C,$8DF8EB8C,$EBF5FAFC,$535D45D7,$125C7015
	Data.l $313DDD5C,$28AFDC76,$497E415F,$E698E010,$8D7EBAFF,$F53CFE6E,$9271EB53,$86AB3E94,$A8A8990F,$8DC73219,$539A2853,$B943640B
	Data.l $B9150BC7,$BEA524D7,$DE881E90,$831B4D8F,$43FCE9A9,$55651028,$8B195147,$62924F6F,$92361A0D,$FD92779B,$3D48C7BF,$77115DDD
	Data.l $019BF62A,$EDB6B325,$15B2C17E,$29AE627E,$F9DCDC17,$8BC5D23E,$CD17447C,$17595043,$ABC5EDCC,$E8F12F57,$84A523D1,$5AB4D7F1
	Data.l $60236BB5,$E8E85AF5,$816DC9EA,$4E261324,$BADB6E96,$74745D19,$6753B1D1,$94B658AC,$8589983C,$07E2968B,$B6126D6D,$27B6114F
	Data.l $BA14D104,$5030DADC,$365F0CD9,$E32A2FD3,$25E2CC45,$68C431CB,$59CB4A18,$B75A4A62,$F07D236E,$F81601F0,$408B162C,$A853A98B
	Data.l $D0434E23,$EEF460DA,$7A2E2063,$9621919D,$7E87318C,$48A8BEC7,$3BED98C1,$42424074,$CAC21882,$DB5F5526,$377301F8,$2EE2E4EF
	Data.l $A4245497,$DBADA5D0,$8582C5B4,$9292918B,$BF49D30A,$72F79D8A,$1A8C7F5F,$86BB2E33,$92DE87B0,$F99D793A,$B1E3805A,$21DD9EDC
	Data.l $29EDE798,$65458CE6,$E13535F5,$1E86B01F,$F51CC776,$482F424E,$0E629B7F,$8BD4A26B,$9CC3CE17,$E3831624,$6830394E,$EB92CA3D
	Data.l $48F7673F,$DA393A67,$4F6C3C23,$B7119191,$5D9C7350,$966A6261,$A849DEA3,$50BA9775,$EC7A30FB,$0DAF0478,$04F25CC2,$AA3581AF
	Data.l $E8BEC355,$7EF1D483,$CE70DE5E,$5C4D52C5,$0E096CBE,$E3141CC7,$7D30A2F4,$EE58DEFD,$53044FE7,$957BA3E7,$48686868,$425C2C17
	Data.l $FD8C1A9E,$6D6122FB,$128F0D35,$6038C513,$7450CEFB,$6B93A2EA,$FAE1C4CF,$D263C9F4,$1F22969D,$BC83C28B,$71B0D86B,$EFB5DA2B
	Data.l $4A6B11F0,$F3A5F288,$5BA1167C,$C8C89EF7,$BF2AC748,$5DF5F015,$6969E78E,$EA747EA2,$0EF619DC,$4D56044E,$F7B307EE,$247E3C9E
	Data.l $EE4545C0,$9C70122D,$9CCF3C6B,$650D3662,$83659648,$847C3A1B,$51DECED4,$6E59316C,$C3A7A465,$222274CC,$8DC4C3C2,$5D98C1F2
	Data.l $D36811A1,$0FDC9DB6,$04FA7A4E,$D630F4FE,$26CB4852,$7163DCCE,$7525F46B,$CA1A4CA8,$EB74EC0E,$54FE03DE,$2B4B78F3,$E509348B
	Data.l $F67ED496,$1A8F181C,$47909D93,$266352C5,$165CAE12,$0B2E0EF3,$CA19FA7D,$FED721FD,$E5DF0ABC,$1B17114B,$9F024A2B,$05E5E04A
	Data.l $DB78DBEF,$3FFA25FA,$8A3E79BE,$70625EC5,$B9FDE03C,$CCD82B65,$7ABA83B4,$A3AEFF95,$5A5A9518,$2B34C74F,$270DEC9B,$237B3BB7
	Data.l $EFE010C2,$1E0F8787,$06DD6820,$23A921B4,$E738F72F,$E51E921E,$023BFF19,$03435557,$C2341A0D,$D83123D1,$471EBC18,$C3121F0E
	Data.l $CE34C2A4,$8D8341AB,$20603860,$F089126A,$0AD581CE,$088FE9D7,$A69349A5,$0E59DB52,$C07FD7E8,$4FCFB447,$9C4CFE3C,$0D1BBC58
	Data.l $954A811B,$72821EF2,$9C3EC9FE,$C6F378BD,$0EAD0475,$1DAEC840,$2E4E4948,$BF533554,$5AA626BE,$88D86158,$E4DEE291,$AB55CB6A
	Data.l $F47B4AD7,$AFEA27D0,$7602E39E,$EFEE1739,$73F28728,$3646444E,$D8119151,$989B63B9,$1E56159A,$E1319E72,$D5D13AB1,$D4528AED
	Data.l $F700E67B,$B4B9E938,$85F2F95C,$19E544F6,$4D6F30B3,$C0EC8777,$62D103C1,$1ECCA4C8,$2AC673EF,$43E5F789,$0E86B229,$41E1CE37
	Data.l $85D7CBC9,$CDCF13B7,$7CF92438,$E2D14F09,$8E8FDBA9,$174B87DE,$CA90082F,$343F660E,$DD3E3FCE,$017739E0,$FF31527A,$D5F61A70
	Data.l $0831B1C0,$D3D22AEE,$E7A0095F,$8EC59ECF,$EC715BED,$5E3161E8,$F640082F,$207F9FA0,$F66D349A,$F178295F,$0A7DC115,$3E395994
	Data.l $586634FE,$2AE2085B,$DE790788,$D367EBC3,$F3B2D329,$C9C0C8AF,$F8FA458C,$3B88C6D1,$64C0B275,$7AC19DC3,$6A356192,$2BDE12D6
	Data.l $484F7072,$D8B83297,$0C0BC793,$3B77F78E,$BED1C242,$8E7FA763,$B802AB19,$5046A371,$C0A27BD3,$6733B8E0,$773B1D70,$8F700D51
	Data.l $FC621F12,$12859198,$07485596,$9615DF6F,$CF24A6AD,$4A5C188B,$264C1272,$60FD138C,$7C510741,$811B6DF0,$A9CC496B,$FEB8E012
	Data.l $81EF8645,$18B39B87,$A244170C,$3B76D6F1,$7FF36585,$0E457D47,$E8758D8E,$E09BADF6,$8782E6E5,$BBE41F0F,$7081F024,$AD435CF6
	Data.l $CB82FFC6,$6C707A28,$E25B713C,$81810F33,$E0A978FE,$8D0FF041,$1773A409,$B0DBAC1D,$AAD07A95,$ED8E05AA,$B0BBFDC1,$E88D619B
	Data.l $F54A51FD,$7F840C81,$E19FA6C5,$9ACED800,$A8DDDD93,$B7CE3814,$1CEF5453,$498A67EC,$C9ECA29C,$E8D47A02,$663518B1,$DB49913C
	Data.l $4A9F11EC,$16E36381,$386F722B,$8BBB79E6,$C6228049,$8ED9FFA3,$ABD1E8CE,$9B45388F,$0D552DAD,$4E9F1B1C,$3CE0D2E2,$AFD71EC7
	Data.l $0F59F9FD,$B66A0832,$2A653261,$2A190D06,$B51FC856,$082A693C,$2E738D8E,$D801E0E6,$06099858,$224C6795,$BAA8D43A,$3347CF7B
	Data.l $963916ED,$4E0B2A21,$C1AEA400,$2B0ED1D9,$EF8B977D,$FF3730F9,$D94F02EE,$3E09FB64,$CED33603,$4C27E301,$B74DA7C6,$BB63834A
	Data.l $0C1CFE78,$4715757A,$E8E8BB84,$035F77A1,$140A0DAC,$E3C6CAE1,$57270774,$FA71E24C,$548A2727,$D4B3DC1E,$D41D0C14,$8C08D70F
	Data.l $2605B999,$BF814C9A,$060432EF,$90F514AC,$56ABFEC7,$0A1747AF,$990F4FCF,$44B83CAA,$AEFD37CA,$2F14C2D4,$4B3E7981,$018FABD0
	Data.l $EEE7538E,$7380ECE6,$81D1E367,$CB459BDA,$34EEE4FC,$55D2CF24,$4B95DC1B,$B75DD017,$B9FA7E03,$D602FC15,$135691A0,$1777BFDC
	Data.l $88B60E4E,$60C50B08,$717061A3,$B59A8B9F,$AF78E76A,$619B83CA,$75E08665,$70DFD06B,$F52E1620,$C7510223,$99DEEA63,$ECF7C268
	Data.l $29D364C6,$13B1B4B0,$029BEB92,$90D0EDC7,$79047D01,$0E9AB34C,$82CED9BB,$D95439FE,$F295BC73,$A3005EF2,$A650A311,$EF1CD94C
	Data.l $C7706957,$CC60C48E,$35F12348,$6EBD620B,$77D7C53D,$7022DCEF,$B1A76276,$FA083FC2,$3DCAFBBD,$E0B2AEB1,$B6CC9558,$8AFB12B5
	Data.l $E0EBB5DA,$3138B1D0,$793B6715,$E58528FC,$F9BCDC2C,$AC065617,$FA1EB743,$06380EDF,$DC6E9B76,$B140E878,$4BF76960,$19D96C7B
	Data.l $4AB53506,$0B0BD7A2,$D70F05DD,$7B4B4839,$75E9C026,$FCF721EB,$BB824A97,$E626FB73,$BDDE7093,$B4DA076B,$CA8C45FD,$438D478D
	Data.l $7CFF5249,$D515648C,$E68B25B9,$0C19E38B,$67CEB3AE,$1AA8A1CE,$B26F37B8,$88E2E1E0,$C5026B75,$7297C54C,$A583778A,$CE73FF4B
	Data.l $CB7939E4,$4109CDD3,$A9D6D4D4,$562B175B,$6763A106,$52E0F91D,$C25C0C55,$69184B95,$2FFC4034,$EDA7DC02,$4E87DB0A,$FFB3745D
	Data.l $1BADCEFD,$86F6DF22,$9D5E11EF,$47FD854B,$8EF281AA,$B81CAB03,$30C713D8,$A50DCBCF,$ED335808,$6A6898E6,$8CBD7E2E,$FEF2C58D
	Data.l $527808A8,$DCF8F1BE,$7842CCD4,$72F5F795,$06AA73F7,$BC29678E,$E3F665A9,$368B8CFE,$C9130593,$31B7BBBD,$8587809F,$DBAE8886
	Data.l $5C9DBA72,$E0B2A265,$AFD364D8,$9591BD0F,$90D08999,$6D9A701D,$6494948B,$DD9D31A1,$FCA685BD,$B3C9C0A6,$58A7A4E4,$65BA0C40
	Data.l $904A3053,$8E478D57,$74E5B981,$9BE6B071,$87A3C707,$8BCF174B,$F7A3E590,$ABA0245A,$F5CB5468,$2924B1B7,$0E3808DF,$B2EE2E55
	Data.l $FC8A2773,$0CDF3167,$2498FCB8,$C1FFD5E5,$3FF6937D,$63B07948,$9365C01D,$1B000000,$74584574,$74666F53,$65726177,$74724100
	Data.l $76616577,$46207265,$20656572,$B3302E35,$0010B96D,$49000000,$AE444E45
	Data.b $42,$60,$82
	;}
EndDataSection

; 
; Epb

Image
Dernière modification par Zorro le lun. 20/juin/2016 13:54, modifié 4 fois.
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Pure_Recherche

Message par Marc56 »

Moi je fais Alt+F7 dans Totalcommander :mrgreen:
(Rechercher *.pb contenant " xxx ")
D'autant plus rapide dans la V9 qu'il utilise SearchEverything pour repérer les fichiers.

Mais, remarquable production encore de la part de l'homme qui ne code pas ou plus avec acharnement 8)
Je garde au chaud et j'étudie, ne serait-ce que pour ratisser le disque quand mes utilisateurs font des installation normale ou portable de mon programme et peuvent se retrouver avec plusieurs ini

Merci :wink:
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Pure_Recherche

Message par Zorro »

Marc56 a écrit :Mais, remarquable production encore de la part de l'homme qui ne code pas ou plus avec acharnement 8)
ce code est du "réchauffé" , il existait deja dans mon EPB ...j'ai juste eu envie d'en faire un prg indépendant :)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Pure_Recherche

Message par Micoute »

Merci pour le partage !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Pure_Recherche

Message par Zorro »

Merci :)

Correction et modification du code !

ajout de la possibilité de modifier le type de fichier (txt,pb,pbi....etc ....)
on peut ainsi effectuer une recherche dans un fichier Txt :)

et correction de quelques bugs eparses Image
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pure_Recherche

Message par Kwai chang caine »

J'avais eu le même besoin, quand t'as beau classer une librairie de plusieurs centaines de fonctions, y'a toujours un moment ou tu te demande dans lequel des dizaines de PBI, t'as bien pu la foutre pour avoir la bonne syntaxe (Etant donné que j'ai la flemme de faire une liste, ou une doc :oops:)
Je m'était donc créé ce style d'outil trés utile qui me sert de temps en temps :wink:
D'autant que windows fait aussi une recherche dans le contenu, mais je l'aime pas du tout :?

En tout cas merci du partage 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Pure_Recherche

Message par Zorro »

disons, que l’intérêt que j'y trouvais c’était de l'avoir dans mon EPB, et il est present depuis
pratiquement le debut de mon editeur

comme ça la recherche pouvait avoir lieu a partir de mon éditeur, et le chargement aussi

mais en ayant ce prg en module séparé de EPB , tout a chacun peut en faire un outils
appelable a partir de l'editeur Officiel .... :)

[petit HS ON]
je ne promotionne plus EPB , car pour le moment, je ne peux plus le faire avancer ...
mais il reste plein de bug , et surtout ...... il reste un exemple a ne pas suivre !!
13800 lignes de code (sans compter les modules externes) et un problème majeur ! :

avoir utilisé une librairie dont je ne maîtrise pas tout le fonctionnement interne (Go-scintilla)
bien que j'ai ajouté des fonctionnalités a cette librairie , la gestion de certains trucs est bugué

-la recherche dans le code qui foire complètement sans raisons apparente (des fois ça marche des fois pas ..)

; l'immense lenteur de la complétion (tellement lente que j'ai du désactiver la reconnaissance des variables )
et surtout je crains le passage a l'Unicode exclusif ...... <-- encore que ça réglera peut être le problème lié a la recherche dans le code

je pense devoir reprendre une bonne partie en me séparant le plus possible de cette libraire (Go-scintilla )

les librairies sont souvent une facilité , mais malheureusement, quelques fois elles sont comme les sables mouvants
tu met le pied dedans, et tu t'enlises !!

EPB est un parfait exemple a ne pas suivre ! :)

[petit HS OFF]

donc je commence a le vendre en piece détachées .... d'ou ce Prg (Pure_recherche)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Pure_Recherche

Message par Ar-S »

Le recyclage ça a du bon :)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Bernie
Messages : 282
Inscription : mar. 22/mars/2016 10:12
Localisation : En France

Re: Pure_Recherche

Message par Bernie »

un merci de ce partage
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pure_Recherche

Message par Kwai chang caine »

Moi qui aime faire les bennes.... :mrgreen:

Oui les librairies c'est le mal du siecle. :?
Les librairies sont aux informaticiens ce que sont les placos aux platriers, le plat cuisiné aux restaurateurs :|

Dés que je vois un vrai programmeur (de metier) à part me donner des noms de librairies....
Et ce phénomene est encore plus accentué pour le WEB, maintenant je les critique pas..le WEB est tellement une m...à programmer, que lorsque ça marche en une ligne :lol:

Maintenant GoScintilla je l'ai essayé un peu et c'est vrai que c'est simple et performant.
Bizarre que tu sois le seul à avoir ce genre de bleme, peut être devrais tu séparer des portions de codes et les fonctions pour les tester une à une, ce qu'appellent les programmeurs les tests unitaires (passage obligé)
Bien souvent en decoupant le programme pour separer les fonctions, on s'aperçois d'une bourde qui interferent entre deux fonctions completement differentes.

Maintenant, je me méfie de ne plus faire de soft trop gros (même si fais pas partie de CROCRO :mrgreen:), je n'ai pas assez de niveau de structuration et de rigueur pour ça.
Souvent il vaut bien mieux faire une ribambelle de petits exe, et les appeller un à un quand c'est possible plutot qu'un boeing A420 avec une tapisserie de boutons sur lequel on ne sait plus ou appuyer

En fin de compte le DOS etait un tres bon exemple, chaque fonction etait un executable, et c'est peut être une des raisons de sa fiabilité...
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Pure_Recherche

Message par Zorro »

Kwai chang caine a écrit : Bizarre que tu sois le seul à avoir ce genre de bleme, peut être devrais tu séparer des portions de codes et les fonctions pour les tester une à une, ce qu'appellent les programmeurs les tests unitaires (passage obligé)
tu penses bien que je pratique cet exercice !
sa methode pour la completions des mots fait appel aux Map
ça marche tres bien pour des listes de mots qu'on envoi en Préalable (au lancement du logiciel )
mais est bien trop lent pour du temp reel !

j'aurai pu en parler avec l'auteur (j'ai deja contribué a améliorer sa lib )
mais pour pouvoir etablir un lien de cause a effet, il me faudrai refaire un exemple de toute piece

je ne peux pas lui envoyer le code de EPB (tros gros )

et en plus il y a d'autres trucs, de louche (liée a l'utilisation de UFT8 ,ASCII tout mélangé d'ou le cirque
sur certaines recherche "in the code" a l'interieur de l'editeur de EPB ....

bref .. lorsque je passerai sur la version stable de PB 5.50 si tout veux bien marcher je verrai
mais je pense que c'est deja mal barré .... a cause d'autres Lib qui ne passent pas au dela de PB 5.40 ....
pas grave , je pourrai sans doutes coder en Pb 5.5 avec EPB compillé en PB 5.40 (enfin j'espere ) :)
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pure_Recherche

Message par Kwai chang caine »

C'est vrai que des qu'on commence a faire un gros projet, on commence à comprendre pourquoi en C on peut seulement qu'une partie du projet.
Faudrait pouvoir compiler avec plusieurs compilo :D
Ou alors faudrait faire des DLL et les compiler avec divers compilateurs comme ça on serait pas obligé de mettre à jour tout le code à chaque montée de version
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Zorro
Messages : 2185
Inscription : mar. 31/mai/2016 9:06

Re: Pure_Recherche

Message par Zorro »

Fred nous avait mis en garde a propos des librairies (tailbite )
en nous disant que finalement c'etait pas une bonne idée

depuis il a créé les modules .... , et moi j'ai continué a croire au lib Tailbite

voila, c'est ben fait, il peut rigoler maintenant :mrgreen:
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Pure_Recherche

Message par Kwai chang caine »

Remarque, si y avait que ça qui le faisait rigoler quand il nous lit, ce serait pas grave. :lol:

Et dieu créa la femme. ...Fred plus modestement (comme à son habitude) ..les modules 8)

C'est pas tout à fait pareil, les modules sont par définition open source.
Une lib , tu peux la vendre, bien que y aurait pas un max de clients :mrgreen: mais c'est quand même une bonne différence. .et ça ne doit pas être la seule...
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre