Spoiler anzeigen
#include <IE.au3>
#include <Inet.au3>
#include <Math.au3>
#include <string.au3>
#include <array.au3>
#include <GUIConstants.au3>
$Anzahl = IniRead("config.ini", "Allgemein", "Anzahl", "0")
If $Anzahl = "0" Then
#Region --- CodeWizard generated code Start ---
;MsgBox features: Title=Yes, Text=Yes, Buttons=OK, Icon=Critical
MsgBox(16, "Fehler", "Keine Anzahl gefunden. Abbruch.")
#EndRegion --- CodeWizard generated code Start ---
Exit
EndIf
Global $Stein[$Anzahl], $Formel[$Anzahl], $Farbe[$Anzahl], $Strichfarbe[$Anzahl], $Glanz[$Anzahl], $Vorkommen[$Anzahl], $Bild[$Anzahl], $Haerte[$Anzahl], $Eigenschaften[$Anzahl]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]GUICreate("Infos sammeln", 276, 76, 193, 115)
GUISetBkColor(0)
Global $Progress = GUICtrlCreateProgress(8, 8, 262, 9)
GUISetState()
[/autoit] [autoit][/autoit] [autoit]Start()
Download()
Fertig()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func Start()
For $i = 0 To $Anzahl - 1 Step 1
$Name = IniRead("config.ini", "Steine", $i + 1, "0")
$Stein[$i] = $Name
If $Stein[$i] = "0" Then
#Region --- CodeWizard generated code Start ---
;MsgBox features: Title=Yes, Text=Yes, Buttons=OK, Icon=Critical
MsgBox(16, "Fehler", "Stein in Ini = 0")
#EndRegion --- CodeWizard generated code Start ---
Exit
EndIf
$html = _INetGetSource("http://www.mineralienatlas.de/lexikon/index.php/MineralData?mineral=" & $Stein[$i])
If @error = 1 Then $Stein[$i] = $Stein[$i] & " wurde nicht gefunden."
$Array = _StringBetween($html, '<td class="mineraldatakey"><p class="tightenable top bottom">Chemische Formel<a name="ChemischeFormel" id="ChemischeFormel"></a></p>', '<tr class="mineraldata">')
$String = _ArrayToString($Array, "")
$Array = _StringBetween($String, '<td class="mineraldata"><p class="tightenable top bottom">', '</p>')
$String = _ArrayToString($Array, "")
$Formel[$i] = $String
$Array = _StringBetween($html, '<td class="mineraldatakey"><p class="tightenable top bottom"><a href="Farbe" class="wiki">Farbe</a><a name="Farbe" id="Farbe"></a></p>', '<tr class="mineraldata">')
$String = _ArrayToString($Array, "")
$Array = _StringBetween($String, '<td class="mineraldata"><p class="tightenable top bottom">', '</p>')
$String = _ArrayToString($Array, "")
$Farbe[$i] = $String
$Array = _StringBetween($html, '<td class="mineraldatakey"><p class="tightenable top bottom"><a href="Strichfarbe" class="wiki">Strichfarbe</a><a name="Strichfarbe" id="Strichfarbe"></a></p>', '<tr class="mineraldata">')
$String = _ArrayToString($Array, "")
$Array = _StringBetween($String, '<td class="mineraldata"><p class="tightenable top bottom">', '</p>')
$String = _ArrayToString($Array, "")
$Strichfarbe[$i] = $String
$Array = _StringBetween($html, '<td class="mineraldatakey"><p class="tightenable top bottom"><a href="Glanz" class="wiki">Glanz</a><a name="Glanz" id="Glanz"></a></p>', '<tr class="mineraldata">')
$String = _ArrayToString($Array, "")
$Array = _StringBetween($String, '<td class="mineraldata"><p class="tightenable top bottom">', '</p>')
$String = _ArrayToString($Array, "")
$Glanz[$i] = $String
$Array = _StringBetween($html, '<td class="mineraldatakey"><p class="tightenable top bottom"><a href="Vorkommen" class="wiki">Vorkommen</a><a name="Vorkommen" id="Vorkommen"></a></p>', '<tr class="mineraldata">')
$String = _ArrayToString($Array, "")
$Array = _StringBetween($String, '<td class="mineraldata"><p class="tightenable top bottom">', '</p>')
$String = _ArrayToString($Array, "")
$Vorkommen[$i] = $String
$Array = _StringBetween($html, '<td width="20" style="vertical-align: top; text-align: right;"><p class="tightenable top bottom"><a href="/VIEW.php?param=', '" class="named-interwiki"><img src="/VIEW')
$String = _ArrayToString($Array, "")
$html2 = _INetGetSource("http://www.mineralienatlas.de/VIEW.php?param=" & $String)
$Array = _StringBetween($html2, '<td style="text-align: left;" colspan="2"><a href="javascript:history.go(-1)" style="text-decoraton:none"><img border="0" src="/', '" alt="Analcim" title="Analcim"></a></td>')
$String = _ArrayToString($Array, "")
$Bild[$i] = "http://www.mineralienatlas.de/" & $String
$Array = _StringBetween($html, '<td class="mineraldatakey"><p class="tightenable top bottom"><a href="Mohsh%E4rte" class="wiki">Mohshärte</a><a name="Mohshrte" id="Mohshrte"></a></p>', '</tr>')
$String = _ArrayToString($Array, "")
$Array = _StringBetween($String, '<td class="mineraldata"><p class="tightenable top bottom">', '</p>')
$String = _ArrayToString($Array, "")
$Haerte[$i] = $String
$Array = _StringBetween($html, '<td class="mineraldatakey"><p class="tightenable top bottom">Chem. Eigenschaften u. Tests<a name="ChemEigenschaftenuTests" id="ChemEigenschaftenuTests"></a></p>', '</tr>')
$String = _ArrayToString($Array, "")
$Array = _StringBetween($String, '<td class="mineraldata"><p class="tightenable top bottom">', '</p>')
$String = _ArrayToString($Array, "")
$Eigenschaften[$i] = $String
$Rechnung = $Anzahl + 1
$Rechnung = 100 / $Rechnung
$Rechnung = $Rechnung * $i
GUICtrlSetData($Progress, $Rechnung)
Next
EndFunc ;==>Start
Func Download()
Global $Verzeichniss
GUICtrlSetData($Progress, 0)
For $i = 0 To $Anzahl - 1 Step 1
$Verzeichniss = @ScriptDir & "\Bilder\"&$Stein[$i]&".jpg"
InetGet($Bild[$i], $Verzeichniss)
$Rechnung = $Anzahl + 1
$Rechnung = 100 / $Rechnung
$Rechnung = $Rechnung * $i
GUICtrlSetData($Progress, $Rechnung)
Next
EndFunc
Func Fertig()
$Text = ""
For $i = 0 To $Anzahl - 1
;Machen der fertigen Seite
$Text = $Text & '<table border = "1"><tr><td>Name:</td><td>' & $Stein[$i] & '</td><td>Nummer:</td><td>' & $i & '/' & $i + 1 & '-' & $Anzahl + 1 & '</td></tr><tr><td colspan = "4"><img src =' & $Verzeichniss & ' border="0"></tr><tr>'
$Text = $Text & '<td>Formel:</td><td>' & $Formel[$i] & '</td><td>Farbe:</td><td>' & $Farbe[$i] & '</td></tr><tr><td>Strichfarbe:</td><td>' & $Strichfarbe[$i] & '</td><td>Glanz:</td><td>' & $Glanz[$i] & '</td></tr><tr><td>Vorkommen</td><td colspan="3">' & $Vorkommen[$i] & '</td></tr>'
$Text = $Text & '<tr><td>Eigenschaften:</td><td colspan="3">' & $Eigenschaften[$i] & '</td></tr><tr><td>Härte:</td><td>' & $Haerte[$i] & '</td><td> </td><td> </td></tr><tr><td colspan="4"> </td></tr>'
Next
$oIE = _IECreate()
_IEBodyWriteHTML($oIE, $Text)
EndFunc ;==>Fertig
So, das ist mein neuer Code. Doch irgendwie funktioniert das mit InetGet nicht. Was tun
Außerdem hab ich noch ein Programm zum Ertsellen der Ini gemacht, eher Simpel. Trotzdem funktioniert es nicht. Wie kann ich dafür sorgen, dass es automatisch immer die Eingabe animmt und dann zum Schluss die Anzahl speichert??