Мне необходимо написать программу-поисковик.
1.Ищет по имени и размеру файла.
2.Ищет файлы формата MP3,WAV,AIF,AIFF,SD2.
3.Должна содержать плеер(конечно, музыкальный)
4.Должна копировать,вырезать,удалять и тд..
Это вообще возможно? Если да, то подкиньте идейку, ссылку, а лучше код
Можно ли написать прогу в PureBasic?
Сообщений 1 страница 22 из 22
Поделиться106.08.2011 11:06:53
Поделиться206.08.2011 12:21:13
4.Должна копировать,вырезать,удалять и тд..
Файлы или часть музыки из файла?
Поделиться306.08.2011 20:58:03
Ищет файлы формата MP3,WAV,AIF,AIFF,SD2
Global NewList MyFiles$() 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_Directory Direct(Directory.s+EntryName) ElseIf Type = #PB_DirectoryEntry_File ;------------------------------------------- FileName.s= Directory.s+EntryName Ext$ = LCase(Right(FileName.s,4)) If Ext$=".mp3" Or Ext$=".wav" Or Ext$=".aif" AddElement(MyFiles$()) MyFiles$()= FileName EndIf EndIf Wend FinishDirectory(z) EndIf EndProcedure put.s=PathRequester("Ищем музыку", "") Direct(put.s) ForEach MyFiles$() Debug MyFiles$() Next
Поделиться406.08.2011 21:39:22
резать mp3 и wav (и видео файлы) можно с помощью консольной утилиты ffmpeg так:
RunProgram("ffmpeg.exe"," -i sound.mp3 -acodec copy -ss 00:00:00 -t 00:01:00 trim_audio.mp3","",#PB_Program_Open|#PB_Program_Read )
Файл ffmpeg:
http://purebasic.ucoz.com/PB_rar/ffmpeg.rar
C помощью её можно и склеивать mp3, но не пробовал.
Может есть чистый код на PureBasic по редактированию аудио файлов, надо искать....
Кода Проигрывателе аудио очень много вариантов и в справке и на форумах.
Поделиться510.08.2011 14:42:28
Мне не нужно нарезать файлы....Просто удалять их целиком....
Пожалста, скиньте код....Препод будет требовать через 3 дня...
УМОЛЯЮ ЛЮДИ!!!!!!
Набросок 1ого окна:
Имя файла: [ввод]
Размер файла:[ввод]
Искать!
2е окно- тупо виндовс окно со списком файлов.....
Может быть вам покажется это борзостью.....
Отчасти вы правы...
Я пытался найти уроки- не нашёл....
Поэтому прошу: смилуйтесь, помогите нубу...
Отредактировано СкучныйПоц (10.08.2011 15:06:42)
Поделиться610.08.2011 14:45:14
Код не рабо
Global NewList MyFiles$()
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_Directory
Direct(Directory.s+EntryName)
ElseIf Type = #PB_DirectoryEntry_File
;-------------------------------------------
FileName.s= Directory.s+EntryName
Ext$ = LCase(Right(FileName.s,4))
If Ext$=".mp3" Or Ext$=".wav" Or Ext$=".aif"
AddElement(MyFiles$())
MyFiles$()= FileName
EndIf
EndIf
Wend
FinishDirectory(z)
EndIf
EndProcedureput.s=PathRequester("Ищем музыку", "")
Direct(put.s)ForEach MyFiles$()
Debug MyFiles$()
Next
Поделиться710.08.2011 16:33:34
Набросок 1ого окна:Имя файла: [ввод]Размер файла:[ввод] Искать!2е окно- тупо виндовс окно со списком файлов.....
И что из этого не получилось?
Поделиться810.08.2011 19:33:40
Всё цто я умею, это консолька+самый примитив с окном виндовс...Ну открыть закрыть свернуть развернутьюююКак людей прошу спасите мне жопу!!!!!
Поделиться910.08.2011 20:37:09
Набросок 1ого окна:Имя файла: [ввод]Размер файла:[ввод] Искать!2е окно- тупо виндовс окно со списком файлов.....
Не совсем понял зачем поле "Размер файла".
Включи поддержку потоков в программе.
; PureBasic Visual Designer v3.95 build 1485 (PB4Code) ;- Window Constants ; Enumeration #Window_0 #Window_1 EndEnumeration ;- Gadget Constants ; Enumeration #Text_0 #Text_1 #String_0 #String_1 #Button_0 #ListIcon_Files #Text_Files EndEnumeration Procedure Direct(Directory.s, SearchFileName.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_Directory Direct(Directory.s+EntryName, SearchFileName) ElseIf Type = #PB_DirectoryEntry_File ;------------------------------------------- FileName.s= Directory.s+EntryName If LCase(EntryName) = SearchFileName AddGadgetItem(#ListIcon_Files, -1, FileName) EndIf SetGadgetText(#Text_Files, FileName) EndIf Wend FinishDirectory(z) EndIf EndProcedure Procedure StartSearchFile(*x) Direct("C:\", LCase(GetGadgetText(#String_0))) EndProcedure Procedure Open_Window_0() If OpenWindow(#Window_0, 405, 361, 258, 67, "Поиск файлов", #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered ) If CreateGadgetList(WindowID(#Window_0)) TextGadget(#Text_0, 5, 15, 85, 15, "Имя файла:") TextGadget(#Text_1, 5, 40, 85, 15, "Размер файла:") StringGadget(#String_0, 95, 10, 155, 20, "") StringGadget(#String_1, 95, 35, 50, 20, "", #PB_String_Numeric) ButtonGadget(#Button_0, 165, 35, 85, 24, "Искать") EndIf EndIf EndProcedure Open_Window_0() Repeat Event = WaitWindowEvent() If Event = #PB_Event_Gadget If EventGadget() = #Button_0 If GetGadgetText(#String_0)<>"" OpenWindow(#Window_1, 0, 0, 500,400,"Найденные файлы", #PB_Window_SystemMenu|#PB_Window_ScreenCentered) ListIconGadget(#ListIcon_Files, 2, 2, 496, 350, "Файлы", 470, #PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect) TextGadget(#Text_Files, 2,360,496, 48, "") HideWindow(#Window_0, 1) CreateThread(@StartSearchFile(), 0) Else MessageRequester("", "Заполните поля") EndIf EndIf EndIf Until Event = #PB_Event_CloseWindow
Поделиться1010.08.2011 21:11:58
Пётр, Спасибо!!!!!!!!!
Пожайлуста, последний штрих: программа должна искать также ТОЛЬКО по размеру...
БоЛЬШОЕ СПАСиБО ЗАРАНЕЕ))))
Поделиться1110.08.2011 22:38:18
Пожайлуста, последний штрих: программа должна искать также ТОЛЬКО по размеру
Опиши подробней это?
Поделиться1215.08.2011 15:39:37
Пётр!
Спасибо огромное, но столкнулся с проблемой: программа запускается, начинает искать, но не находит..... Запускал от имени админа, но всё равно....
Также просьба: программа должна искать ТОЛЬКО по имени файла или ТОЛЬКО по размеру. Файлы ТОЛЬКО с расширением MP3,WAV,AIF,AIFF,SD2.
Пётр последняя просьба...Нужен встроенный плеер......
Пожалуйста, доделайте..
Заранее ОГРОМНОЕ СПАСИБО!!!!!!!!
Поделиться1315.08.2011 17:18:53
Здесь не решают задачи за кого-то, а только помогают.
В теме достаточно информации для создания фильтрации по расширению.
Размер файла возвращает функция DirectoryEntrySize. В справке написано как пользоваться
А код плеера можно найти на форуме.
Поделиться1415.08.2011 17:25:39
Я прошу помочь.....Жаль...
Конечно, вы правы........
Поделиться1515.08.2011 17:29:58
Я понимаю,но.....
Если кто захочет помочь вот код проги.....Былбы очень рад....)))
; PureBasic Visual Designer v3.95 build 1485 (PB4Code) ;- Window Constants ; Enumeration #Window_0 #Window_1 EndEnumeration ;- Gadget Constants ; Enumeration #Text_0 #Text_1 #String_0 #String_1 #Button_0 #ListIcon_Files #Text_Files EndEnumeration Procedure Direct(Directory.s, SearchFileName.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_Directory Direct(Directory.s+EntryName, SearchFileName) ElseIf Type = #PB_DirectoryEntry_File ;------------------------------------------- FileName.s= Directory.s+EntryName If LCase(EntryName) = SearchFileName AddGadgetItem(#ListIcon_Files, -1, FileName) EndIf SetGadgetText(#Text_Files, FileName) EndIf Wend FinishDirectory(z) EndIf EndProcedure Procedure StartSearchFile(*x) Direct("C:\", LCase(GetGadgetText(#String_0))) EndProcedure Procedure Open_Window_0() If OpenWindow(#Window_0, 405, 361, 258, 67, "Поиск файлов", #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered ) If CreateGadgetList(WindowID(#Window_0)) TextGadget(#Text_0, 5, 15, 85, 15, "Имя файла:") TextGadget(#Text_1, 5, 40, 85, 15, "Размер файла:") StringGadget(#String_0, 95, 10, 155, 20, "") StringGadget(#String_1, 95, 35, 50, 20, "", #PB_String_Numeric) ButtonGadget(#Button_0, 165, 35, 85, 24, "Искать") EndIf EndIf EndProcedure Open_Window_0() Repeat Event = WaitWindowEvent() If Event = #PB_Event_Gadget If EventGadget() = #Button_0 If GetGadgetText(#String_0)<>"" OpenWindow(#Window_1, 0, 0, 500,400,"Найденные файлы", #PB_Window_SystemMenu|#PB_Window_ScreenCentered) ListIconGadget(#ListIcon_Files, 2, 2, 496, 350, "Файлы", 470, #PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect) TextGadget(#Text_Files, 2,360,496, 48, "") HideWindow(#Window_0, 1) CreateThread(@StartSearchFile(), 0) Else MessageRequester("", "Заполните поля") EndIf EndIf EndIf Until Event = #PB_Event_CloseWindow
Очень нужен код плеера.....Не нашол.....
А ещё не понял насчёт размера файла - где искать функцию и спаравку........
Всё-таки помогите,а?
Отредактировано СкучныйПоц (15.08.2011 17:31:32)
Поделиться1615.08.2011 17:34:13
и еще вопрос: почему в конце, после обшарки компьютера пишет Их +-???????
(кстати, ничего почемуто не находит)
Отредактировано СкучныйПоц (15.08.2011 17:34:43)
Поделиться1715.08.2011 18:14:20
СкучныйПоц
Если нет желания учить PB, то для таких случаев существует специальный раздел (ССЫЛКА)
Поделиться1815.08.2011 20:48:27
Очень нужен код плеера.....Не нашол.....
Помогу с поиском.
Музыкальный плеер
Урок 13. Создание плеера
Мои программы
Видео и Аудио Плеер
http://purebasic.info/phpBB2/viewtopic.php?t=1571
http://purebasic.info/phpBB2/viewtopic.php?t=1077
http://purebasic.info/phpBB2/viewtopic.php?t=1085
http://www.mirashic.narod.ru/Playlist.htm
http://purebasic.ucoz.com/news/pleer_da … 1-02-18-57
А ещё не понял насчёт размера файла - где искать функцию и спаравку
Нужно поставить текстовый курсор на имя функции и нажать на кнопку F1 на клавиатуре.
Поделиться1915.08.2011 21:03:07
Спасибо, а вот вопрос: код плеера надо размещать где хочеш?
И ешё.....А где сам код плеера? Всё что мне нужно это штобы сверху висело меню(ПЛЕЕРА).
Отредактировано СкучныйПоц (15.08.2011 21:05:59)
Поделиться2015.08.2011 22:15:12
Всё что мне нужно это штобы сверху висело меню(ПЛЕЕРА).
Нужно только меню и все?
Обычно у простых плееров нет меню, а есть только пара кнопок, типа "Воспроизведение", "Пауза", "Стоп" и другие.
Поделиться2116.08.2011 11:57:09
Да да именно это....
Поделиться2216.08.2011 18:56:04
Почти готовый плеер LPlayer