Launcher Tips for your Valentine's Day Gift

Share your advanced PureBasic knowledge/code with the community.
User avatar
oryaaaaa
Addict
Addict
Posts: 825
Joined: Mon Jan 12, 2004 11:40 pm
Location: Okazaki, JAPAN

Launcher Tips for your Valentine's Day Gift

Post by oryaaaaa »

When presenting it to the lover in the foreign country, you have the problem of the font and the problem of software.

Include Font
Include Software
in 32GB USB Flash memory

Do you want to hear about me?
Unfortunately, I'm a bad loser.

Thanks

Code: Select all

Global ImageSearch.l, font.l, DataStr.s, GadgetStr.s, Pos1.l, Pos2.l, GadgetPath.s

Enumeration
  #Window_Run
  #Listview
  #ButtonImage
EndEnumeration

ImageSearch = CatchImage(0, ?Image0)

OpenLibrary(0,"gdi32.dll")
font =CallFunction(0,"AddFontMemResourceEx",?Catch1,?Endcatch1-?Catch1,0,@"1")
CloseLibrary(0)

LoadFont(1, "FontName", 12)
SetGadgetFont(#PB_Default, FontID(1))

DataSection
  Image0:
  IncludeBinary "image.bmp"
  Catch1:
  IncludeBinary "TanukiMagic.ttf"
  Endcatch1:
EndDataSection

DataSection
  Database:
  Data.s "----------------------------------------------------------",""
  Data.s "(Neko no shasin) / Folder 'CatPhotos' ","" 
  Data.s "(Hiroyuki no shasin) / Folder 'Photos' ","" 
  Data.s "----------------------------------------------------------",""
  Data.s "CD DVD Recorder / Run 'InfraRecorderPortable.exe' / Software","Application\CD DVD Recorder\"
  Data.s "Internet Browser / Run 'GoogleChromePortable.exe' / Software","Application\Internet Browser\"
  Data.s "Messenger / Run 'InstantbirdPortable.exe' / Software","Application\Messenger\"
  Data.s "Photo Editor / Run 'FotografixPortable.exe' / Software","Application\Photo Editor\"
  Data.s "SecurityTool / Run 'ClamWinPortable.exe' / Software","Application\SecurityTool\"
  Data.s "Wikipedia / Run 'GoldenDictPortable.exe' / Software","Application\Wikipedia\"
  Data.s "Skype / Run 'SkypePortable.exe' / Software","Application\Skype\"
  Data.s "PDF Reader / Run 'FoxitReaderPortable.exe' / Software", "Application\PDF Reader\"
  Data.s "----------------------------------------------------------",""
  Data.s "musika / AKB48 / AIMP 'AKB48 2006-2011.mp3' / Music", "Music\AKB48\"
  Data.s "musika / AKB48 / AIMP 'AKB48 SKE48 MIX.mp3' / Music", "Music\AKB48\"
  Data.s "musika / fripSide / AIMP 'infinite synthesis' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'AnimeSongs.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'AnimeBest.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'AnimeBest2.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'AnimeTechno.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'AnimeMix.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'AnimeTrance.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'AnimeTrance2.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'K-on.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'StudioGibri.mp3' / Music", "Music\Anime\"
  Data.s "musika / Anime Songs / AIMP 'MacrossFrontier.m4a' / Music", "Music\Anime\"
  Data.s "----------------------------------------------------------",""
  Data.s "musika / Dance Music / AIMP 'Step Up 2- The Streets' / Music", "Music\Dance\"
  Data.s "musika / AmuroNamie / AIMP 'AmuroNamie 181920.mp3' / Music", "Music\Dance\"
  Data.s "musika / AmuroNamie / AIMP 'AmuroNamie.mp3' / Music", "Music\Dance\"
  Data.s "musika / AmuroNamie / AIMP 'AmuroNamie Checkmate!.mp3' / Music", "Music\Dance\"
  Data.s "musika / Lady Gaga / AIMP 'LadygagaRemix.mp3' / Music", "Music\Dance\"
  Data.s "musika / I like this music. / AIMP 'EuroDanceTrack.mp3' / Music", "Music\Dance\"
  Data.s "musika / Jennifer Lopez / AIMP 'JenniferLopez.mp3' / Music", "Music\Dance\"
  Data.s "----------------------------------------------------------",""
  Data.s "musika / Game Music / AIMP 'FINAL FANTASY FF12 Original Soundtrack' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'FINAL FANTASY FF13-2 Original Soundtrack' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'Final Fantasy Vocal.mp3' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'Tales Vocal.mp3' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'Games OP ED.mp3' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'IdolMaster.mp3' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'IdolMaster2.mp3' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'IdolMaster Peferct 1.mp3' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'IdolMaster Peferct 2.mp3' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'Key Vocal.mp3' / Music", "Music\Game\"
  Data.s "musika / Game Music / AIMP 'TYPE-MOON.mp3' / Music", "Music\Game\"
  Data.s "musika / Ero Game Music / AIMP 'Ero Game Vocal.mp3' / Music", "Music\Game\"
  Data.s "musika / Ero Game Music / AIMP 'Ero Game Vocal2.mp3' / Music", "Music\Game\"
  Data.s "----------------------------------------------------------",""
  Data.s "musika / Party Music / AIMP 'POPSTAR.Vol.1.flac' / Music", "Music\PopStar\"
  Data.s "musika / Party Music / AIMP 'POPSTAR.Vol.2.flac' / Music", "Music\PopStar\"
  Data.s "musika / Party Music / AIMP 'POPSTAR.Vol.3.flac' / Music", "Music\PopStar\"
  Data.s "musika / Party Music / AIMP 'Best Of Popstar 2011.flac' / Music", "Music\PopStar\"
  Data.s "----------------------------------------------------------",""
  Data.s "musika / Reggae Music / AIMP 'AcuraMixCD_01.m4a' / Music", "Music\Reggae\"
  Data.s "musika / Reggae Music / AIMP 'AcuraMIX03.mp3' / Music", "Music\Reggae\"
  Data.s "musika / Reggae Music / AIMP 'AcuraMIX04.mp3' / Music", "Music\Reggae\"
  Data.s "musika / Reggae Music / AIMP 'AcuraMIX05.mp3' / Music", "Music\Reggae\"
  Data.s "musika / Reggae Music / AIMP 'EARTH LOVER MIXED by ACURA.mp3' / Music", "Music\Reggae\"
  Data.s "----------------------------------------------------------",""
  Data.s "musika / Vocaloid Music / AIMP 'Vocaloid Select.mp3' / Music", "Music\Vocaloid\"
  Data.s "----------------------------------------------------------",""
  Data.s "Video / Game PV / VLC 'FF13_2_PV.m4v' / FinalFantasy13-2", "Video\Other\"
  Data.s "Video / Playing Game / VLC 'Game_FF13-2' / FinalFantasy13-2", "Video\"
  Data.s "Video / Japan Anime / VLC 'Fate_movie.m4v' / Fate Unlimited bladeworks", "Video\Other\"
  Data.s "Video / Ang pagtatapos Speech / VLC 'SteaveJobs.mp4' / Apple", "Video\Other\"
  Data.s "Video / My Family dog / VLC 'JinbeiTalk.mov' / He is Jinbei.", "Video\Other\"
  Data.s "Video / My Family sister / VLC '20080919_Sister.AVI' / She is Kumiko.", "Video\Other\"
  Data.s "Video / My Family hiroyuki / VLC 'message_35age.mp4' / This is Hiroyuki", "Video\Other\"
  Data.s "----------------------------------------------------------",""
  Data.s "Video / Hiroyuki talk about novel. / VLC 'MyVideo' / This is Hiroyuki", "MyNovel\"
  Data.s "Novel / English / Run 'MyNovel.txt' / Text", "MyNovel\"
  Data.s "Audio / Voice / AIMP 'Voice_JP' / Japanese", "MyNovel\"
  Data.s "Audio / Voice / AIMP 'Voice_EN' / English", "MyNovel\"
  Data.s "----------------------------------------------------------",""
  Data.s "Audio / Making Out In Japanese / AIMP 'Voice' / Japanese", "Japanese\"
  Data.s "----------------------------------------------------------","" 
  Data.s "END"
EndDataSection

Procedure Open_Window_Run()
  If OpenWindow(#Window_Run, 216, 0, 784, 552, "May's Run",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
    If CreateGadgetList(WindowID(#Window_Run))
      ListViewGadget(#Listview, 0, 0, 780, 490)
      Restore Database
      Repeat
        Read.s DataStr
        Read.s GadgetPath
        If DataStr="END"
          Break
        EndIf
        AddGadgetItem(#Listview, -1, DataStr)
      ForEver
      TextGadget(100, 10, 500, 700, 50, "This software made by Hiroyuki Yokota for May. 2012 Valentine's Day Gift")
      ButtonImageGadget(#ButtonImage, 730, 500, 50, 50, ImageSearch)
    EndIf
  EndIf
EndProcedure

Open_Window_Run()

Repeat
  event = WaitWindowEvent() : WindowID = EventWindow() : GadgetID = EventGadget() : EventType = EventType() 
  
  Select event
    Case #PB_Event_CloseWindow
      If WindowID=#Window_Run
        Break
      EndIf
      
    Case #PB_Event_Gadget
      If GadgetID=#ButtonImage
        GadgetStr = GetGadgetText(#Listview)
        If FindString(GadgetStr, "/ Folder", 0)
          Pos1 = FindString(GadgetStr, "'", 0)
          Pos2 = FindString(GadgetStr, "'", Pos1+2)
          RunProgram(GetCurrentDirectory()+Mid(GadgetStr, Pos1+1, Pos2-Pos1-1)+"\")
        EndIf
        
        If FindString(GadgetStr, "/ Run",0)
          Restore Database
          Repeat
            Read.s DataStr
            Read.s GadgetPath
            If DataStr=GadgetStr
              Pos1 = FindString(GadgetStr, "'", 0)
              Pos2 = FindString(GadgetStr, "'", Pos1+2)
              RunProgram(GetCurrentDirectory()+GadgetPath+Mid(GadgetStr, Pos1+1, Pos2-Pos1-1))
            EndIf
            If DataStr="END"
              Break
            EndIf
          ForEver
        EndIf

        If FindString(GadgetStr, "/ AIMP",0)
          Restore Database
          Repeat
            Read.s DataStr
            Read.s GadgetPath
            If DataStr=GadgetStr
              Pos1 = FindString(GadgetStr, "'", 0)
              Pos2 = FindString(GadgetStr, "'", Pos1+2)
              RunProgram(GetCurrentDirectory()+"Application\Best Music Player\AIMP3.exe",GetCurrentDirectory()+GadgetPath+Mid(GadgetStr, Pos1+1, Pos2-Pos1-1),GetCurrentDirectory()+"Application\Best Music Player\")
            EndIf
            If DataStr="END"
              Break
            EndIf
          ForEver
        EndIf 
        
        If FindString(GadgetStr, "/ VLC",0)
          Restore Database
          Repeat
            Read.s DataStr
            Read.s GadgetPath
            If DataStr=GadgetStr
              Pos1 = FindString(GadgetStr, "'", 0)
              Pos2 = FindString(GadgetStr, "'", Pos1+2)
              RunProgram(GetCurrentDirectory()+"Application\Multi Video Music Player\VLCPortable.exe",GetCurrentDirectory()+GadgetPath+Mid(GadgetStr, Pos1+1, Pos2-Pos1-1),GetCurrentDirectory()+"Application\Multi Video Music Player\")
            EndIf
            If DataStr="END"
              Break
            EndIf
          ForEver
        EndIf 
        
        If FindString(GadgetStr, "/ PDF",0)
          Restore Database
          Repeat
            Read.s DataStr
            Read.s GadgetPath
            If DataStr=GadgetStr
              Pos1 = FindString(GadgetStr, "'", 0)
              Pos2 = FindString(GadgetStr, "'", Pos1+2)
              RunProgram(GetCurrentDirectory()+"Application\PDF Reader\FoxitReaderPortable.exe",GetCurrentDirectory()+GadgetPath+Mid(GadgetStr, Pos1+1, Pos2-Pos1-1),GetCurrentDirectory()+"Application\PDF Reader\")
            EndIf
            If DataStr="END"
              Break
            EndIf
          ForEver
        EndIf 
         
      EndIf
  EndSelect
ForEver
IdeasVacuum
Always Here
Always Here
Posts: 6426
Joined: Fri Oct 23, 2009 2:33 am
Location: Wales, UK
Contact:

Re: Launcher Tips for your Valentine's Day Gift

Post by IdeasVacuum »

Good launcher example, thanks for sharing oryaaaaa. Wishing you good luck on Valentines day! :mrgreen:
IdeasVacuum
If it sounds simple, you have not grasped the complexity.
Post Reply