#cs ----------------------------------------------------------------------------
 AutoIt Version:     3.3.14.2
 Author:
 Quelle:
 Dateiname:          Web-test_12_10_16.au3
 Script Function:    Webseite auslesen
 Beschreibung:       Öffnet den Internet Explorer, ....
#ce ----------------------------------------------------------------------------

#include <IE.au3>                                                           ; Funkzionen für den Internet Explorer laden

OnAutoItExitRegister("onExit")                                              ; keine Ahnung

$oIE = _IECreate()                                                          ; Öffnet den Internet Explorer

 _IENavigate($oIE, "http://www.autoit.de/")                                  ; Öffnet im Browser die Webseite

; MsgBox(0, "", "Surfe eine beliebige Seite an und drücke Strg + Leertaste.") ; Gibt eine Info Box aus

HotKeySet("^{SPACE}", "hotkeyPressed")                                      ; Tastendruck "STRG + Leertaste" => Func hotkeyPressed()

While True                                                                  ; Endlosschleife
    Sleep(1000)                                                             ;    Warten für 1.000 Sekunden
    If Not ProcessExists("iexplore.exe") Then ExitLoop                      ;    Prüfen ob die Datei "iexplore.exe" noch ausgefürt wird wenn nicht AutoIT Script beenden
WEnd                                                                        ; Endlosschleife Ende

Func hotkeyPressed()                                                        ; Funktion Start

$sSource = _IEDocReadHTML($oIE)                                             ; Aktuellen Quelltext aus dem Internet Explorer Lesen

Datei_Speichern (@DesktopDir & "/", "Quellcode.txt", 2, $sSource)           ; Daten in Daten in Datei Speichern

;$aTitel = StringRegExp($sSource, "<title>(.+)</title>", 3)                  ; Titel der Seite auslesen
;Datei_Array_Speichern(@DesktopDir & "/", "aTitel.txt", 2, $aTitel)

$aDIV = StringRegExp($sSource, "<head>(.+)</head>", 3)
Datei_Array_Speichern(@DesktopDir & "/", "aHead.txt", 2, $aDIV)

EndFunc   ; ==> hotkeyPressed                                                ; Funktion Ende


Func Datei_Array_Speichern ($das_Pfad, $das_Datei, $das_Modus, $das_Array)

$das_Text = ""

; Datei Öffnen
  $das_File = FileOpen($das_Pfad & $das_Datei, $das_Modus)                      ; Datei Öffnen
  If $das_File = -1 Then                                                        ; Überprüft ob die Datei richtig geöffnet wurde
    MsgBox(0, "Fehler", "Datei '"&$das_Datei&"' kann nicht geöffnet werden.")   ;    Wenn Fehler, Felder ausgeben
	Exit                                                                        ;    Programm abbrechen
  EndIf

; Array bearbeiten (Zeilenumbrüche)
  $das_Array_Groesse = UBound ($das_Array)
  MsgBox (0,"Info","das Array ist Groß = "&$das_Array_Groesse)
  For $das_i = 0 To $das_Array_Groesse - 1 Step 1
    $das_Text = $das_Text & @CRLF & "Array [" & $das_i & "] = " & $das_Array[$das_i]
  Next

; Text in Datei Speichern
  FileWrite($das_File, $das_Text)                                                ; Quelltext in Datei Exportiren

; Datei Schlißen
  FileClose($das_File)                                                          ;     Datei wider schlißen
EndFunc   ; ==> Datei_Array_Speichern

Func Datei_Speichern ($ds_Pfad, $ds_Datei, $ds_Modus, $ds_Text)
; Datei Öffnen
  $ds_File = FileOpen($ds_Pfad & $ds_Datei, $ds_Modus)                         ; Datei Öffnen
  If $ds_File = -1 Then                                                        ; Überprüft ob die Datei richtig geöffnet wurde
    MsgBox(0, "Fehler", "Datei '"&$ds_Datei&"' kann nicht geöffnet werden.")   ;    Wenn Fehler, Felder ausgeben
	Exit                                                                       ;    Programm abbrechen
  EndIf

; Text bearbeiten (Zeilenumbrüche)
  if NOT StringInStr($ds_Text,@CRLF) then                                      ; Wenn keine Zeilenumbrüche in Windows sichtbar
    $ds_Text=StringReplace($ds_Text,@LF,@CR)                                   ;   Ersetze Linux/Mac Zeilenumbrüche durch die von Windows
    $ds_Text=StringReplace($ds_Text,@CR,@CRLF)                                 ;   Keine Ahnung, warum jemand cr nutzen sollte, aber man weiß ja nie^^
  endif

; Text in Datei Speichern
  FileWrite($ds_File, $ds_Text)                                                ; Quelltext in Datei Exportiren

; Datei Schlißen
  FileClose($ds_File)                                                          ;     Datei wider schlißen
EndFunc	; ==> Datei_Speichern

Func onExit()                                                               ; Funktion Start
    _IEQuit($oIE)                                                           ;     Internet Explorer Schlißen
    MsgBox (0,"onExit", "Danke, AutoIT-Script ist beendet!")                ;     Info Box, als Debug damit cih weis wann die Func ausgefürt wird
    Exit                                                                    ;     AutoIt programm beenden
EndFunc   ; ==> onExit                                                      ; Funktion Ende
























