Herzlich Willkommen! ![]()
(Ich heiße auch Christoph
)
Herzlich Willkommen! ![]()
(Ich heiße auch Christoph
)
Happy Birthday ![]()
[Blockierte Grafik: http://www.powerstriker-ostfriesland.de/inc/tinymce_files/geburttstag/geburtstag%2019.jpg]
Alles Gute ![]()
Alles anzeigenHey Leute,
ich habe nochmal eine Verständnisfrage.
In meinem Programm laufen ja mittlerweie zwei Abfragen die in regelmäßigen Abständen, die einen Zugriff auf das Internet benötigen. Dabei kommt es aber ab und an zu Verzögerungen während derer das Programm nicht reagiert. Speziell wenn es zu einem Verbindungsproblem kommt kann das bis zu 7 Sekunden dauern.
Meine Idee ist nun diese Abfragen in ein zweites Programm auszugliedern, das mit dem Hauptprogramm gestartet wird aber nicht zu sehen ist, also im HIDE-Modus Dieses Programm macht dann in regelmäigen Abständen die Überprüfungen und gibt sie an das Hauptprogramm weiter.
Die Frage nun ob das eine machbre Lösung ist? Aktuell würde ich die Daten vom Zweitprogramm in eine Datei schreiben lassen und dort mit dem Hauptprogram immer wieder auslesen lassen.
Gruß
Anna
Machbar ist das auf jedenfall.
Du könntest es über Named Pipes machen oder über eukalyptus' Exchange Variables UDF ![]()
Du kannst ja mal diese UDF hier ausprobieren: ID3 UDF ID3v1 & ID3v2 MP3 Tags
Hab die mit Google gefunden, 1. Ergebnis bei "autoit3 id3 v3 tags udf".
Edit: Es gab hier auch schon mehrere Thema zu ID3, soweit ich mich erinnern kann, einfach mal die Forensuche oder Google mit dem Such-Parameter "site:autoit.de" quälen ![]()
Vielleicht liegst es daran, das du als Workingdir "" angibst.
Ersetz das mal mit @ScriptDir (o.Ä.)
Und das gleiche am besten auch mit dem 1. Parameter, sprich so:
RunWait(@ScriptDir & "\batch.bat", @ScriptDir, @SW_MINIMIZE)
[/autoit]Benutze diese ja auch und habe es soeben überprüft, die ist in Ordnung.
In der .zip-Datei sind 3 Dateien, hast du auch alle kopiert?
Haha ![]()
Sowas nach 10 Stunden Schule zu lesen heitert einen doch sehr auf ![]()
@Pain: Wow ... Danke.
Die Sache mit der COM-Geschichte kapier ich noch nicht so ganz, da muß ich mich noch weiter mit beschäftigen.
Aber Dein Beispiel hat mir in ein paar Punkten die Augen geöffnet ...
Danke
@Alpine: Da blicke ich leider garnicht durch
Ich schätzte mal dass mir dazu noch das Verständnis für die COM-Geschichte fehlt?
Lies dir zum COM-Objekt evtl. mal diesen Wikipedia-Artikel durch, und ansonsten kannst ja immer noch Google nach genaueren Informationen fragen ![]()
Probier mal das hier:
[autoit]#include <String.au3>
[/autoit][autoit][/autoit][autoit]$sAdress = "http://81.169.150.50:9898/index.html"
[/autoit][autoit][/autoit][autoit]$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", $sAdress, False)
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
$oHTTP.Send("")
$sHTML = $oHTTP.ResponseText
$sTitel = _StringBetween($sHTML, "Current Song: </font></td><td><font class=default><b>", "</b>")
$sStreamStatus = _StringBetween($sHTML, "Stream Status: </font></td><td><font class=default><b>", "</b>")
ConsoleWrite("> $sTitel = " & $sTitel[0] & @CRLF & "> $sStreamStatus = " & $sStreamStatus[0] & @CRLF)
[/autoit]Aus $sTitel kannst du dann eben Titel + Interpreten auslesen, und aus $sStreamStatus die Zuhörerzahlen.
Und bei $sTitel und $sStreamStatus darfst du nicht vergessen, das es Arrays sind und du das 1. Element, also [0], verwenden musst ![]()
So, mehr als ein halbes Jahr später hab ich das Problem endlich gelöst
![]()
:wacko:
Danke an alle Beteiligten!Thread kann geschlossen werden (Oder muss ich das machen???)
Gruß
stevie
Threads werden hier nur in speziellen Fällen geschlossen.
Thread-Präfix auf "gelöst" zu setzen genügt.
Geheimes Gepacke hin oder her, irgendwann steht der Code (und wenn auch nur in Fragmenten) im Speicher und wird von dort IM KLARTEXT ausgelesen...
^this
Somit kannst noch so viel crypten/packen/etc. und einer, der sich damit auskennt, trotzdem an den Sourcecode kommen wird.
Gibt ja inzwischen Methoden dafür, welche sogar DAUs anwenden können, da man nur 1en Klick machen muss.
Hier mal um eine Exe binär auszulesen:
[autoit]$hFile_Read = FileOpen("test.exe", 16)
$bFileRead = FileRead($hFile_Read)
$hFile_Write = FileOpen("test.txt", 18)
FileWrite($hFile_Write, $bFileRead)
Beachte den Flag bei FileOpen!
Und das MZ am Anfang einer .exe-Datei steht für Mark Zbikowski
Und P.S: Die AutoIt-Befehle funktionieren und machen das, was sie sollen. Man muss nur wissen, wie man sie einsetzt. Also am besten die Hilfe lesen und nicht immer AutoIt beschuldigen, wenn etwas nicht funktioniert ![]()
Edit2: "readed" ist nicht die Vergangenheit von "read" - Ist ein irr. Verb - somit "read" - "read" - "read" ![]()
Herzlich Willkommen und viel Spaß hier ![]()
Hoi,
[autoit]$rechnung3 = 0,1 * $v3
[/autoit]wird statt "," nicht "." verwendet?
[autoit]$rechnung3 = 0.1 * $v3
[/autoit]Gruß,
x0r
Hat er doch bereits rausgefunden... (hatte ich übersehen :pinch: )
Lies doch mal die Antworten ![]()
Skript sieht interessant aus, werd ich testen, sobald ich heute von der Schule heimkomme. ![]()
Ok danke Leute ich habe eine Methode gefunden
Macht zwar einen 2. Thread und braucht die Aut2Exe aber macht ja auch nichts.
Danke Leute
EDIT:Die Methode von Krabat funzt perfekt!!
Danke
Dann setze bitte den Thread-Präfix auf "gelöst".
[autoit]#RequireAdmin
[/autoit] [autoit][/autoit] [autoit]Run()
[/autoit]Du startest das Script einmal und es startet die Bats automatisch mit Admin-Rechten. Einmal UAC bestätigen, danach nicht mehr.
Das hatte ich ihm auch schon vorgeschlagen.
Er will aber, das seine Batch-Datei dann nach Admin-Rechten fragt, ohne das das Skript welche besitzt
Du hast wohl nicht kapiert was ich machen will oder?Ich will das die UAC nicht immer bei jedem start erscheint.Deshalb erfrage ich wie man eine Batch Datei mit Adminrechten MIT UAC starten kann.Ich will das die UAC nur dann auftritt wenn es umbedingt nötig ist da nur eine Handvoll Funktionen Adminrechte benötigen.Das wollte ich erfragen.
geht auch nicht kommt auch 6 raus
Wie wäre es denn mit Debuggen?
Tutorial: Wie man Script-Fehler erfolgreich sucht/findet bzw. richtig debuggt
Wie werden dir sicher nicht 'den Arm aus der Sonne legen', wie es so schön heißt ![]()
Ist dir klar das du Strings mit Integers vergleichst ![]()
$v1= 6
$v2 = 0
$v3 = 60
$rechnung1 = $v1 - $v2
$rechnung2 = $v1 + $v2
$rechnung3 = 0,1 * $v3
$rechnung4 = 0,2166666666666667 * $v3
$rechnung5 = 0,3833333333333333 * $v3
$rechnung6 = 0,7166666666666667 * $v3
$v5 = $rechnung1
[/autoit][autoit][/autoit][autoit]If $rechnung2 <= 5 Then
$v4 = 1
ElseIf $v5 <= $rechnung3 Then
$v4 = 2
ElseIf $v5 <= $rechnung4 Then
$v4 = 3
ElseIf $v5 <= $rechnung5 Then
$v4 = 4
ElseIf $v5 <= $rechnung6 Then
$v4 = 5
Else
$v4 = 6
EndIf
MsgBox(0,"r",$v4)
[/autoit]^So wäre es richtig.
AutoIt macht es einem sowieso schon sehr leicht, das es nur den Datentyp Variant gibt.
Ich würde dir empfehlen, mal peethebee's Buch zu lesen und dir in der http://translation.autoit.de/onlinehilfe/index.htm das Kapitel "Sprachrefernz" durchzulesen.