1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. alpines

Beiträge von alpines

  • Im geöffneten Firefox eine neue Internetseite laden

    • alpines
    • 31. Mai 2017 um 21:33

    Hast du es denn schon mal mit BinaryToString(InetRead("website", 1)) probiert?
    Das Extrahieren kannst du anschließend mit StringRegExp lösen.

  • GUI Studie

    • alpines
    • 31. Mai 2017 um 21:26
    Zitat von oliver4friends

    Ich stecke da fest. Habt ihr ein Vorschlag wie man das richtig angeht? Ich möchte den richtigen Lösungsweg verstehen.

    Wo steckst du denn fest?

    Übrigens kannst du die Zuweisung von den Elementen in $sw_list in einer For-Schleife vornehmen und so rund 100 Zeilen sparen.

  • AutoIt und Chip-Installer... :-)

    • alpines
    • 31. Mai 2017 um 20:56

    Schön, dass es dir auffällt. Chip hat nur nachgezogen, dutzende andere Seiten hatten das Konzept schon vorher :)
    Mit den älteren Versionen konntest du sogar die Scripte decompilen und Schritt für Schritt verfolgen was das Script anstellt.

  • Im geöffneten Firefox eine neue Internetseite laden

    • alpines
    • 31. Mai 2017 um 20:54

    Entweder du verschweigst uns was oder du hast nicht den kompletten Code gepostet (was auch aufs erste zutrifft).

    $IE_Fenster ist nicht deklariert. Dein Script ist also nicht mal lauffähig.

    Wenn du den Firefox-Browser ansteuern willst, raten ich dir das Plugin Mozrepl runterzuladen und die FF.au3 zu verwenden.
    Dann hast du praktisch die selben Möglichkeiten wie mit der IE.au3. Du kannst im Hintergrund dann den Browser zum laden bewegen.

    Allerdings stellt sich mir hier direkt die Frage, warum nimmst du Firefox und nicht den IE? Was willst du überhaupt machen?
    Eventuell können wir das ganze viel besser anders lösen wenn du uns verrätst was du wo und wie vorhast.

  • YouNow Status Check

    • alpines
    • 31. Mai 2017 um 20:00
    Zitat von ChaosZerg

    Thread kann geclosed werden.

    Hier wird nichts geschlossen, es wird nur der grüne Haken für erledigt / gelöst gesetzt. Das kannst du beim nächsten mal auch machen.
    Einfach den 1. Beitrag editieren und Threadstatus anpassen.

  • Internetseite auslesen/kopieren

    • alpines
    • 31. Mai 2017 um 17:56
    Zitat von Faultier_1982

    Was ist ein UDF?

    Eine UDF ist eine User-Defined-Function. Meistens verwendet man den Begriff UDF für eine Sammlung von Konstanten und Funktionen.
    Ein Beispiel wäre die IE.au3 UDF. Sie liegt im include Ordner wenn du sie dir mal angucken willst.

    Sie ist spezialisiert auf ein Thema, bei der IE.au3 wäre es die Ansteuerung des Internet Explorers.

  • Eigene GUI an ein gestartetes Programm "anheften" ...

    • alpines
    • 31. Mai 2017 um 17:41

    Du kannst prüfen ob sich die Koordinaten verändert haben und dann verschieben, das ginge dann so:

    AutoIt
    $hGUI = GUICreate("", 100, 100)
    GUISetState()
    
    
    Local $aOldPos[2]
    
    
    While GUIGetMsg() <> -3
    	$aPos = WinGetPos("Dokument1")
    
    
    	If $aPos[0] <> $aOldPos[0] or $aPos[1] <> $aOldPos[1] Then
    		$aOldPos = $aPos
    
    
    		WinMove($hGUI, "", $aPos[0] - 100, $aPos[1])
    	EndIf
    WEnd
    Alles anzeigen

    Du könntest auch eine GUI drum legen (mit _WinAPI_SetParent) und diese zum verschieben nutzen,
    dann kannst du dort die WM_MOVE Nachricht registrieren und weißt immer Bescheid wenn das Fenster verschoben wurde.

    Events für fremde Fenster direkt kann man glaube ich nicht registrieren.

  • Benennung von Anhängen in Forumsbeiträgen

    • alpines
    • 31. Mai 2017 um 17:16
    Zitat von Musashi

    Ein Thread im Bereich 'Talk' muss ja offensichtlich nicht als 'erledigt' gekennzeichnet werden.
    So laufe ich keine Gefahr, @alpines durch das Fehlen des grünen Hakens unglücklich zu machen ;)

    Endlich denkt jemand an mich!

    Die Sektion die du ausgewählt hast ist schon gut so. Hättest es auch in Off-Topic posten können, da drehen wir hier niemandem einen Strick draus.

  • YouNow Status Check

    • alpines
    • 31. Mai 2017 um 16:22

    Eine IE Instanz dafür zu erstellen ist nicht notwendig, arbeite lieber mit InetRead (auch wenn das strenggenommen mit IE arbeitet).
    Mit ein bisschen Trickserei kann man daraus einen Einzeiler machen (ohne zu unterscheiden ob der Channel existiert, ich glaube das ist nicht notwendig, und wenn doch,
    dann fügst du halt noch eine Zeile hinzu.):

    AutoIt
    $sInput = InputBox("YouNow Channel", "Gib einen Channelnamen ein:")
    
    
    MsgBox(64, "YouNow", "Der Channel von """ & $sInput & """ ist " & (_IsOnline($sInput) ? "online" : "offline") & ".")
    
    
    Func _IsOnline($sChannelName)
    	Return Not StringRegExp(BinaryToString(InetRead("https://api.younow.com/php/api/broadcast/info/user=" & $sInput, 1)), _
    				"(Broadcaster is unable to receive gifts at this time|Invalid user Id|Invalid channel ID)")
    EndFunc
  • Internetseite auslesen/kopieren

    • alpines
    • 31. Mai 2017 um 13:57

    Dann versuchs doch mal mit BinaryToString(InetRead()) (vergiss nicht bei InetRead den Parameter Force_Reload zu nutzen).
    Die Informationen kannst du dir mit StringRegExp dann anschließend extrahieren.

    Schöner wäre es natürlich, wenn es dazu eine UDF gäbe aber ich glaube die gibts nicht.

  • YouNow Status Check

    • alpines
    • 31. Mai 2017 um 13:53

    YouNow bietet eine API an. Hier mal ein Beispiel wie jemand per Python das ganze ansteuert: https://github.com/jdleo/YouNow-P…aster/YouNow.py
    Wenn du jetzt fleißig googlest oder mal den Support von YouNow anschreibst, wirst du sicherlich eine passende Dokumentation dazu finden.

    Falls du kein Zugang dazu bekommen solltest, kannst du einfach die Websiten "herunterladen" und nach Keywords scannen die dir anzeigen, ob der User online ist.
    Dazu rufst du einfach seine Seite auf https://younow.com/benutzername und suchst nach den Keywords. Da wird sicherlich was sein.

  • Benennung von Anhängen in Forumsbeiträgen

    • alpines
    • 31. Mai 2017 um 13:14

    Liegt das aber nicht auf der Hand wenn du Forenanhänge lokal abspeicherst? Im Thread können die Dateien ja ruhig Example.au3 heißen, da sie ja nur in dem Thread vorkommen.
    Ist die Anregung jetzt nur für lokale Dateien oder möchtest du, dass die Anhänge hier im Forum einer gewissen Konvention folgen sollen?

    Bei dem Benennungsschema würde ich lieber auf eine Ordnerstruktur setzen, da du bei sonst zu vielen UDFs einen einzigen Ordner hast der mit zip-Dateien überquillt.

  • Internetseite auslesen/kopieren

    • alpines
    • 31. Mai 2017 um 10:58
    Zitat von Faultier_1982

    Leider sind im Quell-Code und im Body nicht die Informationen die ich benötig

    Wenn die Informationen nicht im Quellcode sind, wo sollen sie dann sonst sein?

  • Internetseite auslesen/kopieren

    • alpines
    • 30. Mai 2017 um 23:09
    Zitat von Faultier_1982

    Gibt es eine Funktion, mit der ich den Inhalt der Internetseite auslesen kopieren kann, so wie ich den Text des Browsers auslesen kann?

    Wie wäre es denn mit den IE Funktionen aus der UDF? Guck dir mal _IEDocReadHTML, _IEBodyReadText an.

    Zitat von Faultier_1982

    die Abfrage ohne Browser würde mich interessieren gibt es dafür ein gutes Beispiel?

    Hier mal ein Beispiel wie man sich seine aktuelle IP von myternalip.com/raw holt. Benötigt die WinHttp.au3.

    AutoIt
    #include <WinHttp.au3>
    
    
    $hSession = _WinHttpOpen()
    $hConnect = _WinHttpConnect($hSession, "myexternalip.com")
    
    
    $sHTML = _WinHttpSimpleRequest($hConnect, "GET", "raw")
    
    
    _WinHttpCloseHandle($hConnect)
    _WinHttpCloseHandle($hSession)
    
    
    MsgBox(64, "HTML", $sHTML)
    Alles anzeigen

    Mit TCP (nicht für Anfänger zu empfehlen) musst du das Paket selber bauen.

    AutoIt
    TCPStartup()
    $hServer = TCPConnect(TCPNameToIP("myexternalip.com"), 80)
    If $hServer = -1 Then Exit
    
    
    TCPSend($hServer, "GET /raw HTTP/1.1" & @CRLF & "Host: myexternalip.com" & @CRLF & @CRLF)
    
    
    $sRecv = ""
    
    
    Do
    	$sRecv &= TCPRecv($hServer, 2048)
    Until $sRecv <> ""
    
    
    TCPCloseSocket($hServer)
    TCPShutdown()
    
    
    MsgBox(64, "Packet", $sRecv)
    Alles anzeigen
  • Internetseite auslesen/kopieren

    • alpines
    • 30. Mai 2017 um 21:51

    Du zwingst den IE dazu zuverlässig zu starten.

    AutoIt
    #include <IE.au3>
    
    
    _IEErrorNotify(False)
    
    
    Do
    	$oIE = _IECreate()
    Until IsObj($oIE)


    Du könntest auch die Abfrage mit WinHttp anstellen aber das ist ein wenig komplizierter, benötigt aber keinen Browser.
    Wenn ihr eine ganz normale HTTP-Seite habt, kannst du sogar einfach nur das Packet per TCP schicken.

  • Teilstring einer Variable ab letztem Zeichen

    • alpines
    • 28. Mai 2017 um 18:59
    Zitat von horphi

    Kann man den Suchausdruck auch so anpassen, das er erst am dem 3. Punkt anfängt zu suchen und alles bis zum nächsten Punkt ausgibt?

    Natürlich geht das, du splittest das ganze und lässt den Index [3] ausgeben. Solltest vorher natürlich prüfen, ob er existiert.

  • Select...EndSelect: Case-Fälle aus *.ini-Datei auslesen

    • alpines
    • 27. Mai 2017 um 21:55
    Zitat von Crusoe

    Aber @alpines Lösungsvorschlag war wirklich eine super Idee

    Deshalb habe ich es ja auch vorgeschlagen ;)

    Zitat von Crusoe

    Ich war Mal so frei und habe einen Zehner in die Kaffeekasse geworfen... Ich hoffe das ist ok

    Das ist sogar schwer in Ordnung!

  • LanCom (gelöst)

    • alpines
    • 26. Mai 2017 um 14:54
    Zitat von Alina

    Techniker und IT.-Abteilung geben
    der Datenverbindung die Schuld

    Lass doch den Tag über mal einen Ping laufen und schau ob es tatsächlich an der Leitung liegt. Bricht die ganze Internetverbindung zusammen oder nur die Verbindung des Programmes?

  • Select...EndSelect: Case-Fälle aus *.ini-Datei auslesen

    • alpines
    • 26. Mai 2017 um 10:07
    Zitat von Crusoe

    3x ein anderer Wert

    Deshalb das ExitLoop. Wenn es gefunden wurde springt er direkt raus.

  • Select...EndSelect: Case-Fälle aus *.ini-Datei auslesen

    • alpines
    • 25. Mai 2017 um 23:41

    Du liest die Ini-Daten in ein 2D-Array. Beispiel:

    AutoIt
    Local $aTest[3][2] = [["AT0001", "Beispiel 1"], ["AT0002", "Beispiel 2"], ["AT0003", "Beispiel 3"]]


    Durch die Schleife kannst du dann so gehen:

    AutoIt
    For $i = 0 To UBound($aTest) - 1
    	If $InStr = $aTest[$i][0] Then
    		GUICtrlSetData($ArbTyp, $aTest[$i][1])
    		DllStructSetData($tBuffer, 1, "")
    		ExitLoop
    	EndIf
    Next

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™