Welche Musikrichtung wirst du gehen?
Alle oder nur hiphop,techno,dubstep,...
DruMBeatZ
PuReBaSS
PuReBeaTz (ja ich mag Pure ;D)
FreeBeatz
MuSicBeats
SpeedBeat
BeatBoy
Beatz4Free
Technobeats
Dubstepbeats
Listen2Beats
Welche Musikrichtung wirst du gehen?
Alle oder nur hiphop,techno,dubstep,...
DruMBeatZ
PuReBaSS
PuReBeaTz (ja ich mag Pure ;D)
FreeBeatz
MuSicBeats
SpeedBeat
BeatBoy
Beatz4Free
Technobeats
Dubstepbeats
Listen2Beats
Hallo und Willkommen im Forum!
Viele lesen sich ein Thema lieber durch bzw. Antworten / Helfen dann wenn das Script was gepostet wird
sich in "Autoit-Quellcode" gepostet wurde.
Das heißt am anfang des Scriptes kommt ein:
und am ende ein:
Beispiel:
Sieht folgend aus wenn man den Post abschickt:
Msgbox(0,"Test Titel","Test Text")
[/autoit]Bei sehr langen Scripten immer bitte das gleiche mit Spoiler machen ![]()
Msgbox(0,"Test Titel","Test Text")
[/autoit]Zum Thema:
Da Ich mit Automatisierung von Programmen nicht so gut auskenne und nichts falsches schreiben will.
Ps. Autoit ist ein guter Einstieg in dem Programmieren und kann ich dir nur empfehlen sich etwas mehr damit zu befassen.
Bei Fragen einfach fragen unser Forum beißt dich nicht, aber besser voher die Forum Suche benutzen und von ,,Bots" wegbleiben!
Auch wenn dein Script ein wenig drann kommt denk ich mal das es noch in der Sicheren-Grenze ist.
(Bot´s = Robots, Programme zum Automartisieren von Anwendungen und Spielen)
Statt dem Sleep(10) kannste auch ne 1 oder True hinschreiben. Das schreibt man eigentlich wenn nix in der Schleife drin ist, damit deine CPU keine 100% hat. Aber bei dir ist ja was drin. Und schau mal bei $ConnectedSocket, deine Variable heißt anders
Das Sleep brauch man nicht beachten das ist so ein ding von mir ;D
das mach ich in fast jeder schleife, aber diese Schleife kann man das Sleep auch weglassen, das stimmt ;S
Die Variable änder ich mal ;D
TCPStartup()
$IP = "127.0.0.1"
$Connection = TCPConnect($IP, 65432)
If $Connection < 0 Then
MsgBox(16, "Error", "Konnte keine Verbindung herstellen!")
_Exit()
EndIf
While Sleep(10) ;wartet drauf bis etwas gesendet wird.
$recv = TCPRecv($Connection, 1024*1024); 1 MB
;~ If @error Then ExitLoop
If $recv <> "" Then ExitLoop
WEnd
;---- Dein Script ----
Sleep(1000)
$teil = StringSplit($Recv, ';')
Switch $teil[1]
Case 1
$msg = $teil[2]
Case 2
$msg = "Datei starten"
ShellExecute($teil[2], @ScriptDir, "open")
Case 3
$msg = "Daten Emfangen"
ConsoleWrite(BinaryToString($teil[3]) & @LF)
$q = BinaryToString($teil[3])
FileWrite($teil[2], $q)
Case Else
$msg = "Error"
EndSwitch
MsgBox(0, "Emfänger", $msg)
[/autoit] [autoit][/autoit] [autoit]Func _Exit()
TCPShutdown()
Exit
EndFunc ;==>_Exit
So wartet das Script bis etwas empfangen wird.
Aber such mal hier im Forum du findest hier 1000 die das gleiche Problem hatten.
Versuch mal die Byte Zahl zu erhöhen:
[autoit]$Recv = TCPRecv($Connection, 1000000)
[/autoit]
Wenn deine Datei 1 MB groß ist, müssen mindestens 1048576 Byte übertragen werden,
denn 1 MB hat 1024 KB, und 1 KB hat 1024 Byte.
Ich kenn mich nicht gut mit TCP aus aber versuch die Maximale Datenmenge zu erhöhen oder ersätz mal das mit folgendes im 2. Script:
[autoit]$Recv = ""
While 1 ; ließt die Datenmege solange ein bis alles angekommen ist.
$Recv &= TCPRecv($Connection, 1024)
If @error Then ExitLoop
WEnd
Das ist nur theorie und ungetestet aber ich denke das müsste funktionieren.
Nette Idee und ganz gut umgesätzt.
Ist in dem Internet Verzeichnis "Index of" ?
Dann könnte man mir Inetread die Dateien auflisten lassen.
$i=InetRead("http://www.autoitscript.com/autoit3/files/archive/autoit/")
MsgBox(0,"test",BinaryToString($i))
Nachteil ist aber das man danach mit RegExp arbeiten muss um die URLs zu den Dateien zu bekommen, und dadrin hab ich nicht viel Erfahrung, da musst du ein anderen im Forum fragen.
Es kann gut sein das es auch andere möglichkeiten gibt, aber diese fallen mir grad nicht ein.
Aber wenn man den Ordner kennt wo die Dateien drinn sind die ein leichts Muster haben wie: "Name_'Zahl'.exe " kann man mit einer Schleife kontrollieren ob diese Datei existiert oder nicht.
Ich hoffe ich habe richtig verstanden was du wolltest ![]()
Hallo, gibt es eine Möglichkeit eine Sounddatei an einem bestimmten Wiesergabegerät zu senden?
Also bei mir gibt es:
Lautsprecher (als Standard, soll auch so bleiben)
Digitalaudio (hdmi)
Line 1
Line 2
Und ich würde gerne ein Soundfile an Line 1 Abspielen lassen via Autoit.
Wenn man normal die _SoundPlay Funktionen benutzt wird das Audio immer an dem Standard Gerät gesendet, also ich bräuchte eine Möglichkeit Sounddateien an einem bestimmten abspielen zu lassen.
z.B in TeamSpeak kann man die Widergabegeräte auch ändern und somit ändern.
Ich glaube das es mit der BassUDF geht aber ich habe nichts gefunden bzw. ich habe wenig Ahnung von der BassUDF.
Ich würde mich über Hilfe freuen ![]()
Vielen Dank funktioniert Super.
Tag auch ![]()
Ich würde gerne von einem Programm mit dem Titel: MorphVOX Pro
eine Combobox ansteuern, und ein bestimmten Text auswählen lassen.
Ich hab mich schon umgesehen und ein Beispiel gefunden welches aber nicht Funtktioniert.
Hier mal das was die Autoit Info sagt:
>>>> Window <<<<
Title: MorphVOX Pro
Class: WindowsForms10.Window.8.app.0.33c0d9d
Position: 924, 236
Size: 906, 777
Style: 0x16CF0000
ExStyle: 0x00050100
Handle: 0x00000000000103D6
>>>> Control <<<<
Class: WindowsForms10.COMBOBOX.app.0.33c0d9d
Instance: 2
ClassnameNN: WindowsForms10.COMBOBOX.app.0.33c0d9d2
Name: comboBoxBackground
Advanced (Class): [NAME:comboBoxBackground]
ID: 132172
Text:
Position: 365, 551
Size: 172, 21
ControlClick Coords: 22, 8
Style: 0x56010243
ExStyle: 0x00000000
Handle: 0x000000000002044C
>>>> Mouse <<<<
Position: 1319, 825
Cursor ID: 0
Color: 0x353584
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
Und hier mein Script:
[autoit]ControlCommand("MorphVOX Pro","","WindowsForms10.COMBOBOX.app.0.33c0d9d2","SetCurrentSelection","M4.mp3")
[/autoit]Ich sehe keinen Fehler, aber ich finde Komisch was mir als classnameNN ausgespuckt wird bei der Autoit-Info welches ich für den 3. Parameter brauche.
(WindowsForms10.COMBOBOX.app.0.33c0d9d2)
Gibt es andere Möglichkeiten oder erkennt jemand warum es nicht funktioniert?
Freue mich über Antworten ![]()
Nette Funktionen,
Noch ein kleiner Tipp zur _Datenabgleich() Funktion,
Man kann auch den Hashwert der Dateien überprüfen lassen, dadurch kann man schnell den Inhalt einer (großen) Datei überprüfen lassen.
#include <Crypt.au3>
_Crypt_HashFile($sFile, $iALG_ID)
Erstmal herzlich willkommen im Forum!
Ich habe mal was auf die Schnelle zusammen geschuhstert, wenn du ein paar AutoIt kenntnisse hast könntest du jetzt damit dein individuell Script schreiben, ansonsten einfach Tutorials angucken oder noch mal nachfragen.
#include <Clipboard.au3> ; Für erweiterten Zwischenablage funktionen
$file=fileopen("bild.bmp",16) ; Öffnet das Bild das in der Zwischenablage kopiert werden soll, die 16 bedeutet das die Datei als Binär code ausgelesen wird.
$vData = FileRead($file); liest die Datei ein
FileClose($file); schließt die Datei
$vData="0x"&stringtrimleft($vData,30) ; Entfernt "die Erkennungsmarke" würd ich jetzt so nennen ;D
_ClipBoard_SetData($vData ,8) ; Kopiert das Bild in die Zwischenablage, die 8 bedeutet das es eine Bilddaten-Strucktur ist
Leider geht dies nur mit BMP, d.h es kann keine Transparents mitgegeben werden, auser jemand im Forum kennt eine andere Möglichkeit.
ps. Was soll daran dreist sein? ![]()
Per Email?
das weis ich nicht aber ich weis das es dann ein paar nachteile geben würde,
z.B bei vielen Anbieter gibt es eine Email größen begrenzung.
Und http würd ich gern nehmen da es soweit ich weis auch möglich ist die Upload-Geschwindigkeit einzustellen.
Glaube so i-wie:
$File = FileOpen($Datei, 16)
$Filesize = FileGetSize($File)
$Start = 1024
While Sleep("...")
$Filedata = FileRead($File, 1024)
If @error = -1 Then
ExitLoop
EndIf
;_WinHttpWriteData ... $Filedata ;Upload
ToolTip($Start / $Filesize * 100 & "%")
$Start += 1024
WEnd
Wenn man dort dann das Sleep ändert würde dann laut meiner theorie die Durchschnittliche-Uploadgeschwindigkeit gedrosselt werden.
Aber Danke für dein Beitrag, also am liebsten würd ich schon Http benutzen.
Hallo leute ich bins mal wieder ![]()
Also ich versuche eine zeitlang die Youtube Video-Upload API zu verwenden.
Hier ein Artikel dazu wie man die Verwendet: https://developers.google.com/youtube/2.0/de…ploading_videos
Da ich mich aber wenig mit dem Http - Protokoll auskenne bräuchte ich etwas Hilfe.
Ich glaube das dies mit der WinHttp.au3 UDF machbar währ.
Ich hab schon etwas im Internet rumgesucht und mich versucht schlauer zu machen, unter anderem hab ich eine Youtube-Login möglichkeit gefunden welches man für den "ACCESS_TOKEN" bräuchte.
[autoit]
Func _Youtube_Login($sUser, $sPass, $sDescriptor)
Local $url, $Postdata, $Obj, $Received, $Array
$url = "https://www.google.com/youtube/accounts/ClientLogin"
$Postdata = "Email=" & $sUser & "&Passwd=" & $sPass & "&service=youtube&source=" & $sDescriptor
$Username = $sUser
$Obj = ObjCreate("WinHttp.WinHttpRequest.5.1")
$Obj.Open("POST", $Url, False)
$Obj.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
$Obj.Send($Postdata)
$RECEIVED = $Obj.ResponseText
$Obj.Abort
$Array = StringRegExp($Received, "(?i)=(.*?)\s", 3)
Return $Array[0]
EndFunc
Hier ist der Abschnitt der zum Server gesendet werden muss, aber ich weis nicht genau wie ich dies anstellen soll.
POST /feeds/api/users/default/uploads HTTP/1.1
Host: uploads.gdata.youtube.com
Authorization: Bearer ACCESS_TOKEN
GData-Version: 2
X-GData-Key: key=adf15ee97731bca89da876c...a8dc
Slug: summer_vacation.mp4
Content-Type: multipart/related; boundary="f93dcbA3"
Content-Length: 1941255
Connection: close
--f93dcbA3
Content-Type: application/atom+xml; charset=UTF-8
<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:media="http://search.yahoo.com/mrss/"
xmlns:yt="http://gdata.youtube.com/schemas/2007">
<media:group>
<yt:incomplete/>
<media:category
scheme="http://gdata.youtube.com/schemas/2007/categories.cat">Travel
</media:category>
</media:group>
</entry>
--f93dcbA3
Content-Type: video/mp4
Content-Transfer-Encoding: binary
<Binary File Data>
--f93dcbA3--
Alles anzeigen
Den "X-GData-Key" habe ich, und ich denke durch das Youtube-Login erhält man den ACCESS_TOKEN.
Also noch mal zusammen gefasst:
Ich würde gerne eine Video Upload Funktion in ein meiner Programme einbauen, da ich mich aber nicht gut mit dem Http-Protokoll auskenne und nicht genau weis wie ich das "Formular" mit dem Video-Daten verschicke
bräuchte ich etwas Hilfe, z.B ein kleines Beispiels-script.
Würde mich sehr über Hilfe freuen, bei Fragen oder Unklarheiten einfach Fragen.
Danke ![]()
Oh, das ist mir nicht aufgefallen xD na dann.
Immer wenn ich While`n ohne Sleep sehe bekomm ich ein Computerkrampf
Ich empfehle das True mit " Sleep(10) " zu ersätzen.
Also:
While sleep(10)
[/autoit]
(Weniger als 10 macht wenig Sinn, da 10 soweit ich weis das minimale ist, auser man verwendet hightprecisionsleep)
Also man macht das um die Computerauslastung zu schohnen,
um keine 100% auslastung zu bekommen ![]()
Mal zum direkt Testen:
[autoit]#include <string.au3>
#include <array.au3>
$String='</tr><tr>' &@CRLF
$String&=' <td><a href="/LaenderEANV_Web/postfach?leanv_postfach_action=openDoc&id=zksMID13044128891107017066178632747091" class="zks_cntlnk_downl">G088161010 ENT<br/></a></td>'&@CRLF
$String&=' <td>03.05.2011 10:54:49</td>'&@CRLF
$String&=' <td>BGS / 177635616223804 / RA-FS558</td>'&@CRLF
$String&=' </tr><tr>'&@CRLF
$String&=' <td><a href="/LaenderEANV_Web/postfach?leanv_postfach_action=openDoc&id=zksMID13237953322745012591947546631736" class="zks_cntlnk_downl">ASVCMOD019 PROV<br/></a></td>'&@CRLF
$String&=' <td>13.12.2011 17:55:32</td>'&@CRLF
$String&=' <td>RQT / 2537f0b4-5e43-4</td>'&@CRLF
$String&=' </tr><tr>'&@CRLF
$String&=' <td><a href="/LaenderEANV_Web/postfach?leanv_postfach_action=openDoc&id=zksMID13238466428934842004851035756157" class="zks_cntlnk_downl">ASVCMOD019 PROV<br/></a></td>'&@CRLF
$String&=' <td>14.12.2011 08:10:43</td>'&@CRLF
$String&=' <td>RQT / bdfa75e4-31ff-4</td>'&@CRLF
$String&=' </tr></table><br /><h2>KLINK-Entsorgung, M58REC0027 / Entsorger</h2>'&@CRLF
$String&='<table cellspacing="0" class="zks_cnt_tbl zks_cnt_epost">'&@CRLF
$String&='<tr>'
MsgBox(0,"test",$String)
$ID=_StringBetween($String,'id=','"')
_ArrayDisplay($ID)