PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Можно ли написать прогу в PureBasic?


Можно ли написать прогу в PureBasic?

Сообщений 1 страница 22 из 22

1

Мне необходимо написать программу-поисковик.
1.Ищет по имени и размеру файла.
2.Ищет файлы формата MP3,WAV,AIF,AIFF,SD2.
3.Должна содержать плеер(конечно, музыкальный)
4.Должна копировать,вырезать,удалять и тд..
Это вообще возможно? Если да, то подкиньте идейку, ссылку, а лучше код :playful:

0

2

СкучныйПоц написал(а):

4.Должна копировать,вырезать,удалять и тд..

Файлы или часть музыки из файла?

0

3

СкучныйПоц написал(а):

Ищет файлы формата 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

0

4

резать 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 )

http://ffmpeg.org.ua/&mdash

Файл ffmpeg:
http://purebasic.ucoz.com/PB_rar/ffmpeg.rar
C помощью её можно и склеивать mp3, но не пробовал.

Может есть чистый код на PureBasic по редактированию аудио  файлов, надо искать....
Кода Проигрывателе аудио очень много вариантов и в справке и на форумах.

0

5

Мне не нужно нарезать файлы....Просто удалять их целиком....
Пожалста, скиньте код....Препод будет требовать через 3 дня...
УМОЛЯЮ ЛЮДИ!!!!!!

Набросок 1ого окна:
Имя файла: [ввод]
Размер файла:[ввод]
                                 Искать!
2е окно- тупо виндовс окно со списком файлов.....

Может быть вам покажется это борзостью.....
Отчасти вы правы...
Я пытался найти уроки- не нашёл....
Поэтому прошу: смилуйтесь, помогите нубу...

Отредактировано СкучныйПоц (10.08.2011 15:06:42)

0

6

Код не рабо

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

0

7

СкучныйПоц написал(а):

Набросок 1ого окна:Имя файла: [ввод]Размер файла:[ввод]                                 Искать!2е окно- тупо виндовс окно со списком файлов.....

И что из этого не получилось?

0

8

Всё цто я умею, это консолька+самый примитив с окном виндовс...Ну открыть закрыть свернуть развернутьюююКак людей прошу спасите мне жопу!!!!!

0

9

СкучныйПоц написал(а):

Набросок 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

0

10

Пётр, Спасибо!!!!!!!!!
Пожайлуста, последний штрих: программа должна искать также ТОЛЬКО по размеру...
БоЛЬШОЕ СПАСиБО ЗАРАНЕЕ))))

0

11

СкучныйПоц написал(а):

Пожайлуста, последний штрих: программа должна искать также ТОЛЬКО по размеру

Опиши подробней это?

0

12

Пётр!
Спасибо огромное, но столкнулся с проблемой: программа запускается, начинает искать, но не находит..... Запускал от имени админа, но всё равно....
Также просьба: программа должна искать ТОЛЬКО по имени файла или ТОЛЬКО по размеру. Файлы ТОЛЬКО с расширением MP3,WAV,AIF,AIFF,SD2.
Пётр последняя просьба...Нужен встроенный плеер......
Пожалуйста, доделайте..
Заранее ОГРОМНОЕ СПАСИБО!!!!!!!!

0

13

Здесь не решают задачи за кого-то, а только помогают.
В теме достаточно информации для создания фильтрации по расширению.
Размер файла возвращает функция DirectoryEntrySize. В справке написано как пользоваться
А код плеера можно найти на форуме.

0

14

Я прошу помочь.....Жаль...
Конечно, вы правы........

0

15

Я понимаю,но.....
Если кто захочет помочь вот код проги.....Былбы очень рад....)))

Код:
; 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)

0

16

и еще вопрос: почему в конце, после обшарки компьютера пишет Их +-???????
(кстати, ничего почемуто не находит)

Отредактировано СкучныйПоц (15.08.2011 17:34:43)

0

17

СкучныйПоц
Если нет желания учить PB, то для таких случаев существует специальный раздел (ССЫЛКА)

0

18

СкучныйПоц написал(а):

Очень нужен код плеера.....Не нашол.....

Помогу с поиском.
Музыкальный плеер
Урок 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 на клавиатуре.

0

19

Спасибо, а вот вопрос: код плеера надо размещать где хочеш?
И ешё.....А где сам код плеера? Всё что мне нужно это штобы сверху висело меню(ПЛЕЕРА).

Отредактировано СкучныйПоц (15.08.2011 21:05:59)

0

20

СкучныйПоц написал(а):

Всё что мне нужно это штобы сверху висело меню(ПЛЕЕРА).

Нужно только меню и все?
Обычно у простых плееров нет меню, а есть только пара кнопок, типа "Воспроизведение", "Пауза", "Стоп" и другие.

0

21

Да да именно это....

0

22

Почти готовый плеер LPlayer

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Можно ли написать прогу в PureBasic?