wenn man auf speichern klickt, wird die geöffnete youtube seite gespeichert.. diese steht immer aktuell in der inputbox unten..
so wenn man speichert, wird das zum einem oben in der liste angeziegt und gleichzeitig in einer ini gespeichert..
diese ini soll beim start des programms immer wieder eingelesen werden und die gespeicherten in die liste schreibn... jetzt ist mein problem..^^ ich weis net genau wie, weil des ja mehrere einlesen soll..
bei fragen ,was variablen oder so bedeuten ruhig fragen
mein (falscher) ansatz:
$bla=IniRead("Seiten","Anzahl","zahlnamen","0")
$i2=0
$i=0
$dll = DllOpen("user32.dll")
$anzahl=0
if FileExists("Seiten.ini") Then
$savedsites=IniRead("Seiten","Anzahl","zahlseiten","0")
$bla=IniRead("Seiten","Anzahl","zahlnamen","0")
Else
$savedsites=1
$bla=0
EndIf
if FileExists("Seiten.ini") Then
$savednames=IniRead("Seiten","Anzahl","zahlnamen","0")
Else
$savednames=1
EndIf
if FileExists("Seiten.ini") Then
For $i2=IniRead("Seiten","Anzahl","zahlseiten","0")-1 to 0 Step -1
$bla=$bla-1
GUICtrlCreateListViewItem(IniRead("Seiten","YouTube-Seiten",$bla,"0")&IniRead("Seiten","YouTube-Namen",$bla,"0"),$List1)
Next
EndIf
While(1)
settime()
setedit()
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Bsave
save()
Case $Bplay
play()
EndSwitch
$wiederholungen=GUICtrlRead($Iwh)
WEnd
Func setedit()
If GUICtrlRead($Checkbox1)=$GUI_CHECKED Then
joa ne freundin hört immer musik von youtube.. sie lädt sich keine runter oder so.. dann hab ich mal vor langer zeit einen bot gemacht, der des video X mal (konnte nam eingebn) wiederholt..
jetzt hab ich mri gedacht mach ich des mal größer und noch mit ner speicher option.. und nem netten gui
funzt nur wenn internet explorer mit einem youtube vid geöffnet ist also dann zeigts was an^^ und speichern geht aber laden net
muss das ganze deinn im offenen internet explorer laufen?
wenn es nur für musik ist, würde ich dir ja empfehlen, das ganze unsichtbar im hintergrund laufen zu lassen. bzw falls video auch sichtbar sein soll, halt das video mit in dem fenster anzeigen lassen.
für das auflisten der videos, würde ich dir empfehlen nur immer die youtube titel anzeigen zu lassen.
das ganze kannst du denn immernoch schön in einer ini bzw einem beliebigen anderen dokument speichern.
also.. der internet explorer ist bisher offen.. ja also der user benutzt den "bot" und hat gleichzeitig den internet explorer offen^^ aber den gui könnte ich verstecken^^.. wie des anzeigen im autoit geht weis ich net^^ aber ist auch net das problem weis wie gesagt net, wie ich das laden machen soll....^^
das andere gui würde ich seperat bauen. wobei das ja nun wirklich einfach ist.
du erstellst dir ne einfache list, und fügst 3 buttons ein zum hinzufügen, löschen, abspielen.
in der liste stehn nur die video namen.
in der ini speicherst du denn immer name=id
wenn auf play gedrückt wird, einfach IniReadSection und gucken, welche id der name hat, und ihn dann abspielen =)
Edit:
hier nochmal wie ich das wohl aufbauen würde:
Code:
#include <ie.au3>
Dim $size[2] = [600, 500]
;gui erstellen
$main = GUICreate('YoutubeTool', 271, 230)
$list = GUICtrlCreateList('', 10, 10, 250, 200)
$add = GUICtrlCreateButton('Add', 10, 200, 55, 20)
$del = GUICtrlCreateButton('Delete', 75, 200, 55, 20)
$go = GUICtrlCreateButton('Play', 140, 200, 55, 20)
$state = GUICtrlCreateButton('Show', 205, 200, 55, 20)
GUISetState()
;ini einlesen und liste füllen
$section = IniReadSection('youtube.ini', 'sites')
For $i=1 To $section[0][0]
GUICtrlSetData($list, $section[$i][0])
Next
;gui für videos erstellen
$ie = _IECreateEmbedded()
$video = GUICreate('Video', $size[0], $size[1], -1, -1, -1, -1, $main)
GUICtrlCreateObj($ie, -12, -17, @DesktopWidth, @DesktopHeight)
_IENavigate ($ie, 'about:blank')
While 1
$msg = GUIGetMsg(1)
Switch $msg[0]
Case -3
If $msg[1] = $video Then
GUISetState(@SW_HIDE, $video)
Else
Exit
EndIf
Case $add
$input = InputBox('Info', 'Enter the Youtube URL here:', 'http://www.youtube.com/watch?v=JVPu-BX0bo4')
;eingegebene url parsen lassen... track-name/id speichern
$data = StringRegExp(BinaryToString(InetRead($input)), '<title>(?s).*?- (.*?)</title>(?s).*?<link rel="canonical" href="/watch\?v=(.*?)">', 1)
If Not IsArray($data) Then
MsgBox(0, 'Error', 'This is not a valid Youtube page')
Else
;in ini und liste aufnehmen
IniWrite('youtube.ini', 'sites', StringReplace(StringTrimRight($data[0],3), '&', '&'), $data[1])
GUICtrlSetData($list, StringReplace(StringTrimRight($data[0],3), '&', '&'))
EndIf
Case $del
;markiertes aus ini löschen und liste mithilfe von ini updaten
IniDelete('youtube.ini', 'sites', GUICtrlRead($list))
GUICtrlSetData($list, '')
$section = IniReadSection('youtube.ini', 'sites')
For $i=1 To $section[0][0]
GUICtrlSetData($list, $section[$i][0])
Next
Case $go
If GUICtrlRead($go) = 'Play' Then
$section = IniReadSection('youtube.ini', 'sites')
For $i=1 To $section[0][0]
If $section[$i][0] = GUICtrlRead($list) Then
_IEBodyWriteHTML($ie, BuildBody($section[$i][1], $size[0], $size[1]))
GUICtrlSetData($go, 'Stop')
ExitLoop
EndIf
Next
Else
GUISetState(@SW_HIDE, $video)
_IENavigate($ie, 'about:blank')
GUICtrlSetData($go, 'Play')
EndIf
Case $state
If GUICtrlRead($state) = 'Show' Then
GUISetState(@SW_SHOW, $video)
GUICtrlSetData($state, 'Hide')
Else
GUISetState(@SW_HIDE, $video)
GUICtrlSetData($state, 'Show')
EndIf
Case Else
If GUICtrlRead($state)='Hide' And Not BitAND(WinGetState($video),2) Then GUICtrlSetData($state, 'Show')
EndSwitch
WEnd
Func BuildBody($video, $width, $height, $loop=1)
Return '<embed src="http://www.youtube.com/v/'&$video&'&autoplay=1&rel=0&fs=1&color1=0x3a3a3a&color2=0x999999&border=0&loop='&$loop&'" type="application/x-shockwave-flash" allowfullscreen="true" width="'&$width&'" height="'&$height&'"></embed>'
EndFunc
ahh okay jetzt weis ich^^ und sry.. aber werde deinen script net verwenden...^^
habe aber den teil, den ich brauch kopiert und geändert:
Quote:
;ini einlesen und liste füllen
$section = IniReadSection('youtube.ini', 'sites')
For $i=1 To $section[0][0]
GUICtrlSetData($list, $section[$i][0])
Next
und meins ist:
PHP Code:
if FileExists("Seiten.ini") Then
$section = IniReadSection('Seiten.ini', 'YouTube-Seiten')
For $i=1 To $section[0][0]
GUICtrlSetData($List1, $section[$i][0])
Next
aber es passiert nix.. wird nix angezeigt... kp why werde jetzt mal grad alles durchgucken genau aber pls vllt seht ihr ja en fehler
du hast da dir ein extrem komisches umständliches system für deine ini arbeiten ausgedacht. wenn du das so verwenden willst, wird das wohl recht kompliziert...
deswegen wollte ich dir mal vorstellen, wie ich das ganze aufbaun würde.
du hast da dir ein extrem komisches umständliches system für deine ini arbeiten ausgedacht. wenn du das so verwenden willst, wird das wohl recht kompliziert...
deswegen wollte ich dir mal vorstellen, wie ich das ganze aufbaun würde.
Ich hab das ganze in nem anderen Script über ne Checkbox gelöst...
Code:
Func _search($page,$key)
$split = StringReplace($key," ","+")
$read = InetRead("http://m.youtube.com/results?gl=DE&client=mv-google&hl=de&search=by_search&uploaded=&q="&$split&"&p="&$page)
$get = BinaryToString($read)
$string = StringRegExp($get,'<a accesskey="(.+)" href="/watch[?]gl=DE&client=mv-google&hl=de&(.+)">(.+)</a>',3)
;$string2 = StringRegExp($get,'<a href="/watch[?]gl=DE&client=mv-google&hl=de&(.+)">(.+)</a>',3)
Local $array[10]
Local $tstring[9]
For $i = 2 to UBound($string) Step 3
$tstring[($i-2)/3] = $string[$i]
Next
;_ArrayDisplay($string)
For $i = 1 To UBound($string)-1 Step 3
If $i <> 1 Then
$zop = ($i - 1) / 3
Else
$zop = $i - 1
EndIf
$array[$zop] = $string[$i]
Next
For $i = 0 To 8
GUICtrlSetData($hListBox,$tstring[$i])
Next
$array[9] = $split
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
For $i = 0 To 8
IniWrite("Search.ini","Last - Link",$i,$array[$i])
IniWrite("Search.ini","Last - Vid",$i,$tstring[$i])
Next
IniWrite("Search.ini","Last - Keyword","Keyword",$array[9])
;ElseIf GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
; For $i = 0 To 8
; IniWrite("Search.ini","All - Link",$i,$array[$i])
; IniWrite("Search.ini","All - Vid",$i,$tstring[$i])
; Next
; IniWrite("Search.ini","All - Keywords",$array[9],$array[9])
EndIf
;GUICtrlSetData($List1,$string2[3])
;_ArrayDisplay($string)
;_ArrayDisplay($string2)
;_ArrayDisplay($array)
Return $array
EndFunc
Ist noch nich fertig... $page steht für die Ergebnisseite der YT-Suche, $key für die Suchwörter zB. "hallo welt"
Die Ini sähe dann so aus:
Code:
[Last - Link]
0=v=jZPiPyTeJ3g
1=v=-dqIdxmUkVU
2=v=sKQDDa7YFnA
3=v=Vz64E2y0_UI
4=v=mxEnrpxtiFQ
5=v=ROSdj4Ee-Sw
6=v=xJkaKAIl_Fc
7=v=_YCacWRglEk
8=v=nUip7j99x-Q
[Last - Vid]
0=Warren Suicide- Signal
1=Ciara vs Culcha Candela - Gimmie Dat BASS (DJCK vs Tocadisco's Move It Mix ...
2=Chinese Guy DRIVING FAIL!
3=Chris Tomlin - Jesus Messiah - LIVE @ SPIRIT 105.3 FM
4=Minecraft: zOmg its Minecraft! Ep.1 (MC Gameplay/Commentary)
5=The Beatles Rock Band Video Review
6=MEET KATIE
7=Modern Warfare 2 Multiplayer Gameplay Uncut: Flag Runner (Official HD)
8=[Eng] Hi baby ep 12 (1/5)
[Last]
Keyword=hello+world
uff naja .. leude ich bin (noch) ein ziemlicher autoit bob also biite sagt mir mehr^^ und weil ich lernen will bitte eher keine codes oder nur kleine... wills selbst lernen^^ und kein zusammengewürfeltes script aus euren machen ^^
sry dafür
aber trotzdem großen respekt und dank wieviel zeit ihr euch nehmt , werde jetzt erstmal thx raushaun
und denn alles über eine for-schleife von 1 bis nummer einlesen...
Code:
[video]
name=id
ist aber meiner meinung nach halt deutlich einfacher...
und kann auch einfach per inireadsektion komplett ohne irgendwelche schleifen eingelesen werden.
[Release]List of RuneScape Private Servers - Add your p-serv to the list ASAP! 05/17/2010 - Runescape Private Server - 2 Replies BTW IM HOPING THIS GETS STICKY, BECAUSE ITS REALLY USEFUL!
Hello, I'v noticed that there is no proper way of advertising a RuneScape Private Server on ElitePvPers.
Im hoping this will fix the problem...
If you have a runescape Private Server write a bit about your p-server under.
Plz read and reply dont just view and leave! 01/17/2010 - Dekaron - 8 Replies ok so for the last 3 days now i have not been able to log in my accnt i keep getting message saying "Cannot connect to server" now ive deleted the game and reinstalled it about 5 times already and i just dont think i got IP banned cause if that were true why was i still able to play for 5 days after my old accnt got banned if i were ip banned then i shouldnt have been able to play at all after my old accnt got banned... so im wondering if any other ppl who got banned and made another accnt if...