Votes taken by Luigi96

CAT_IMG Posted: 9/7/2013, 12:12     +1yTube - Simple Youtube Player - Programmi

Sa5qvt0
yTube
Simple Youtube Player



Versione: 1.0
Descrizione: Un leggero e veloce youtube player da desktop.
Screenshoot:
Codice:
CODICE
#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.8.1
Author:         Luigi96

#ce ----------------------------------------------------------------------------

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
#include <Inet.au3>
#include <String.au3>

Global $id[100]

$oIE = ObjCreate("Shell.Explorer.2")
$yTube = GUICreate("yTube - Simple Youtube Player", 557, 488, 228, 231, $WS_MAXIMIZEBOX + $WS_SIZEBOX + $WS_SYSMENU)
GUISetBkColor(0x000000)
GUICtrlCreatePic(@ScriptDir&"\ico\yt_logo.jpg", 8, 8, 57, 57)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKTOP+$GUI_DOCKSIZE)
$search_t = GUICtrlCreateInput("", 73, 8, 409, 57)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKTOP+$GUI_DOCKRIGHT+$GUI_DOCKHEIGHT)
GUICtrlSetFont(-1, 34, 800, 0, "Bebas Neue")
GUICtrlSetColor(-1, 0x800000)
$search_b = GUICtrlCreateButton("Cerca video", 488, 8, 62, 57, $BS_ICON)
GUICtrlSetResizing(-1,$GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKSIZE)
GUICtrlSetImage(-1, @ScriptDir&"\ico\search.ico", "")

;LISTVIEW
$listview = GUICtrlCreateListView("ID|Titolo|Durata|Data Caricamento|Visualizzazioni", 8, 72, 540, 360)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKBOTTOM)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 25)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 185)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 60)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 110)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 80)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 100)


$watch = GUICtrlCreateButton("Guarda video", 7, 433, 542,24)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKbottom+$GUI_DOCKHEIGHT)

;ObJECT VIDEO
$video = GUICtrlCreateObj($oIE, 8, 72, 540, 382)
GUICtrlSetState(-1, $GUI_HIDE)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT+$GUI_DOCKRIGHT+$GUI_DOCKTOP+$GUI_DOCKBOTTOM)


GUISetState(@SW_SHOW)
cerca(0)

While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
               Case $GUI_EVENT_CLOSE
                       Exit
               Case $search_b
                       If GUICtrlRead($search_t) <> "" Then
                               $oIE.navigate("")
                               GUICtrlSetState($video, $GUI_HIDE)
                               GUICtrlSetState($listview, $GUI_SHOW)
                               GUICtrlSetState($watch, $GUI_SHOW)
                               cerca(GUICtrlRead($search_t))
                       EndIf
               Case $watch
                       $list = GUICtrlRead(GUICtrlRead($listview))
                       If StringInStr($list , "|") <> 0 Then
                               $stringa = GUICtrlRead(GUICtrlRead($listview))
                               $idn = StringLeft($stringa,StringInStr($stringa, "|")-1)
                               GUICtrlSetState($listview, $GUI_HIDE)
                               GUICtrlSetState($watch, $GUI_HIDE)
                               GUICtrlSetState($video, $GUI_SHOW)
                               $oIE.navigate("http://www.youtube.com/v/"&$id[StringFormat("%d", $idn)]&"?version=3&amp;hl=it_IT")
                       Else
                               MsgBox(64,"yTube - Info", "Devi selezionare un video dalla lista per poterlo guardare")
                       EndIf
       EndSwitch
WEnd

Func cerca($valore)
       If $valore == 0 Then
               $source = _InetGetSource("http://www.youtube.com/channel/HCDjU9URR35hw")
       Else
               $source = _InetGetSource("http://www.youtube.com/results?search_query="&$valore)
       EndIf
       Local $aArray = _StringBetween($source, 'data-context-item-title="', '"')
       Local $dArray = _StringBetween($source, 'data-context-item-time="', '"')
       If $valore == 0 Then
               Local $cArray = _StringBetween($source, 'content-item-time-created" title="', '"')
       Else
               Local $cArray = _StringBetween($source, '</a></li><li>', '</li><li>')
       EndIf
       Local $vArray = _StringBetween($source, 'data-context-item-views="', '"')
       Local $iArray = _StringBetween($source, 'data-context-item-id="', '"')
       
       Local $titolo[100]
       Local $durata[100]
       Local $carica[100]
       Local $upload[100]
       Local $views[100]
       
       If $aArray == 0  Then
               MsgBox(64,"yTube - Info","La ricerca di '"&$valore&"' non ha portato risultati")
               return 1
       EndIf
       _GUICtrlListView_DeleteAllItems($listview)
       
       $i = 0
       For $element In $aArray
               $i+=1
               $titolo[$i] = StringRegExpReplace($element, "[|]", "-")
       Next
       $i = 0
       If $dArray <> 0  Then
               For $element In $dArray
                       $i+=1
                       $durata[$i] = $element
               Next
       EndIf
       $i = 0
       If $cArray <> 0  Then
               For $element In $cArray
                       $i+=1
                       $carica[$i] = $element
               Next
       EndIf
       $i = 0
       If $vArray <> 0  Then
               For $element In $vArray
                       $i+=1
                       $views[$i] = $element
               Next
       EndIf
       $i = 0
       If $iArray <> 0  Then
               For $element In $iArray
                       $i+=1
                       $id[$i] = $element
               Next
       EndIf
       For $ix = 1 To $i Step 1
               GUICtrlCreateListViewItem($ix&"|"&$titolo[$ix]&"|"&$durata[$ix]&"|"&$carica[$ix]&"|"&$views[$ix], $listview)
       Next
       return 1
EndFunc


Edited by ×Luigi96× - 9/7/2013, 14:17
CAT_IMG Posted: 9/6/2013, 19:05     +2Progetto raccolta codici OpenSource - Off topic
Salve a tutti, è da moltissimo tempo che non mi diletto nella programmazione di qualsiasi linguaggio, qualche giorno fa pensai di riprendere a fare qualcosa in riguardo e mi è venuta la "brillante?" idea di creare un sito web per la raccolta di software opensource ovviamente postati dai visitatori.
L'idea è questa: I visitatori pubblicano dei loro programmi (qualsiasi linguaggio) sul sito con tanto di codice, dove possono a loro volta essere scaricati o commentati sul sito stesso, spero abbiate capito.

Ho appena iniziato a creare l'interfaccia:


Aspetto consigli, e opinioni sull'apertura.
CAT_IMG Posted: 15/11/2011, 20:24     +1domanda estetica su imputbox - Autoit
Ah scusami, avevo capito un normale campo per l'input, in questo caso puoi creare una piccola GUI con un input per il testo e utilizzare GUICtrlCreateInput

Ecco un esempio:

CODICE
$Form2 = GUICreate("Password Dialog", 251, 94, -1, -1)
$PasswordEdit = GUICtrlCreateInput("password", 8, 32, 233, 21, $GUI_SS_DEFAULT_INPUT)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$ButtonOk = GUICtrlCreateButton("&OK", 86, 64, 75, 25, $BS_NOTIFY)
$ButtonCancel = GUICtrlCreateButton("&Cancel", 167, 64, 75, 25, $BS_NOTIFY)
$EnterPassLabel = GUICtrlCreateLabel("Enter password", 8, 12, 77, 17, 0)
GUISetState(@SW_SHOW)
6 replies since 5/5/2009