1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | Enumeration #Window_0 : #Frame3D : #String : #But :#ru:#en:#ge:#fr:#in EndEnumeration OpenWindow ( #Window_0 , 0 , 0 , 380 , 160 , "www.purebasic.info" , #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered ) Frame3DGadget ( #Frame3D , 5 , 5 , 370 , 115 , "Поиск на форумах" ) StringGadget ( #String , 15 , 30 , 350 , 20 , "" ) ButtonGadget ( #But , 270 , 130 , 80 , 20 , "Поиск" ) OptionGadget (#ru, 25 , 130 , 180 , 15 , "Перейти на русский форум" ) OptionGadget (#en, 25 , 65 , 120 , 15 , "Английский форум" ): SetGadgetState (#en, 1 ) OptionGadget (#ge, 25 , 85 , 120 , 15 , "Немецкий форум" ) OptionGadget (#fr, 200 , 65 , 130 , 15 , "Французский форум" ) OptionGadget (#in, 200 , 85 , 120 , 15 , "Google" ) Repeat Event = WaitWindowEvent () Gadget = EventGadget () Select Event Case #PB_Event_Gadget Select EventGadget () Case #But zapros.s= GetGadgetText ( #String ) If GetGadgetState (#ru) ElseIf GetGadgetState (#en) ElseIf GetGadgetState (#ge) ElseIf GetGadgetState (#fr) ElseIf GetGadgetState (#in) EndIf EndSelect EndSelect If Event = #PB_Event_CloseWindow Break EndIf ForEver ; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | Enumeration #Window_0 : #Frame3D : #String : #But :#ru:#en:#ge:#fr:#in:#ca: #List : #file EndEnumeration Procedure POISK(FileName.s) If ReadFile ( #file , FileName.s) ;------------------------------------- Size= Lof ( #file ) string$= Space (Size+ 2 ) ReadData ( #file ,@string$,Size) CloseFile ( #file ) ;------------------------------------- If FindString (LCase(string$), LCase( GetGadgetText ( #String )), 1 ) ; поиск бе зучёта регистра Name.s= RemoveString (FileName.s, GetPathPart ( ProgramFilename ())) AddGadgetItem ( #List ,- 1 , Name.s) EndIf EndIf EndProcedure Procedure Direct(Directory.s) If Right (Directory.s, 1 )<> "\":Directory.s + " \": EndIf z= ExamineDirectory ( #PB_Any , Directory.s, "*.*" ) If z While NextDirectoryEntry (z) EntryName.s= DirectoryEntryName (z) ;------------------------------------------ If EntryName = "." Or EntryName = ".." Continue EndIf ;------------------------------------------ Type= DirectoryEntryType (z) If Type = #PB_DirectoryEntry_Directo ry Direct(Directory.s+EntryName ) ; Процедура вызывает саму себя ElseIf Type = #PB_DirectoryEntry_File ;------------------------------------------- FileName.s= Directory.s+EntryName Ext$ = LCase( Right (FileName.s, 3 )) Ext4$ = LCase( Right (FileName.s, 4 )) If Ext$ = ".pb" Or Ext4$ = ".pbi" POISK(FileName.s) EndIf EndIf Wend FinishDirectory (z) EndIf EndProcedure OpenWindow ( #Window_0 , 0 , 0 , 380 , 180 , "www.purebasic.info" , #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered ) Frame3DGadget ( #Frame3D , 5 , 5 , 370 , 135 , "Поиск на форумах" ) StringGadget ( #String , 15 , 30 , 350 , 20 , "CreateRegularExpression" ) ButtonGadget ( #But , 280 , 150 , 80 , 20 , "Поиск" ) ListIconGadget ( #List , 5 , 185 , 370 , 310 , "" , 500 , #LVS_NOCOLUMNHEADER ) OptionGadget (#en, 25 , 65 , 120 , 15 , "Английский форум" ): SetGadgetState (#en, 1 ) OptionGadget (#ge, 25 , 85 , 120 , 15 , "Немецкий форум" ) OptionGadget (#ru, 25 , 105 , 170 , 15 , "Перейти на русский форум" ) OptionGadget (#fr, 200 , 65 , 130 , 15 , "Французский форум" ) OptionGadget (#in, 200 , 85 , 120 , 15 , "Google" ) OptionGadget (#ca, 200 , 105 , 120 , 15 , "Code Archiv" ) Repeat Event = WaitWindowEvent () Gadget = EventGadget () Select Event Case #PB_Event_Gadget Select EventGadget () Case #List If EventType ()= #PB_EventType_LeftDoubleCl ick nom = GetGadgetState ( #List ) name.s= GetGadgetItemText ( #List ,nom) RunProgram( GetPathPart ( ProgramFilename ())+name) EndIf Case #But zapros.s= GetGadgetText ( #String ) If GetGadgetState (#ru) ResizeWindow ( #Window_0 , #PB_Ignore , #PB_Ignore , #PB_Ignore , 180 ) ElseIf GetGadgetState (#en) ResizeWindow ( #Window_0 , #PB_Ignore , #PB_Ignore , #PB_Ignore , 180 ) ElseIf GetGadgetState (#ge) ResizeWindow ( #Window_0 , #PB_Ignore , #PB_Ignore , #PB_Ignore , 180 ) ElseIf GetGadgetState (#fr) ResizeWindow ( #Window_0 , #PB_Ignore , #PB_Ignore , #PB_Ignore , 180 ) ElseIf GetGadgetState (#in) ResizeWindow ( #Window_0 , #PB_Ignore , #PB_Ignore , #PB_Ignore , 180 ) ElseIf GetGadgetState (#ca) Directory.s= GetPathPart ( ProgramFilename ())+"CodeArchiv\" ClearGadgetItems ( #List ) Direct(Directory) ResizeWindow ( #Window_0 , #PB_Ignore , #PB_Ignore , #PB_Ignore , 500 ) EndIf EndSelect EndSelect If Event = #PB_Event_CloseWindow Break EndIf ForEver ; |