also irgendwie klappt das aber nicht
habe
#AutoIt3Wrapper_Icon=Z:\BackUps\AutoIt - Scripts\##Fertig\Background\Background.ico
[/autoit]
angegeben und es bleibt trotzdem da autoit-icon ![]()
also irgendwie klappt das aber nicht
habe
#AutoIt3Wrapper_Icon=Z:\BackUps\AutoIt - Scripts\##Fertig\Background\Background.ico
[/autoit]
angegeben und es bleibt trotzdem da autoit-icon ![]()
ok danke ![]()
und dann einfach statt "icon.ico" den pfad zur icon-datei oder? ![]()
hey leute...gibt es eine möglichkeit das icon der späteren exe datei bereits im script anzugeben??
wenn man den converter nimmt kann man dort ja ein icon angeben
allerdings ist mir das zu umständlich und wollte wissen ob das irendwie mit
#AutoIt3Wrapper_Icon
[/autoit]geht oder so ![]()
Ich würde AdlibRegister nehmen.
bei adlipregister wird die funktion doch immer in einem bestimmten intervall aufgerufen, oder etwa nicht?
und ich habe ihn jetzt so verstanden das diese funktion nur an bestimmten stellen aufgerufen werden soll und das hauptprogramm trotzdem sofort weiter laufen soll ![]()
wenn du natürlich alle for schleifen richtig gesetzt hast und trotzdem solche fehlermeldung kommt, würde ich mal gucken ob du z.b. bei allen if-abfragen auch ein endif gesetzt hast ![]()
ich hatte auch mal das problem das ich so eine fehlermeldung bekommen habe, obwohl ich alle for schleifen richtig hatte
da wurde dann nur aus irgendeinem grund das next am ende übersprungen weil ich ein endif vergessen hatte
ka wieso dann so eine fehlermeldung bei mir gekommen ist ![]()
also die einfachste idee die mir jetzt so auf die schnelle eingefallen ist wäre, wenn du den teil in "lade_etwas()" einfach zu einer exe datei machst und die dann einfach startest. so wird der teil nur einmal kurz aufgerufen und läuft parallel zum hauptscript
ist jetzt natürlich nur so eine idee....keine ahnung ob das bei deinem programm gehen würde ![]()
ich weiß zwar nicht genau ob ich dir weiter helfen kann, aber ich habe auch mal einen timer geschrieben
vielleicht hiflt dir der code ja weiter ![]()
danke leute ![]()
jetzt habe ich aber ein anderes problem
in einer funktion wird ein "options"fenster erstellt (hier wird immernoch mit
Opt("GUIOnEventMode", 1)
[/autoit]geabeitet
). sobald ich nun auf den vorhandenen button klicke, damit der inhalt der combobox auslesen werden soll, wird mir eine fehlermeldung angezeigt, da die handle der comboboxen nicht an die funktion für den okbutton übergeben werden
weiß einer wie ich das machen soll? ![]()
Func _Option()
GUISetState(@SW_HIDE, $h_GUI_main)
Local $h_GUI_option = GUICreate("TicTacToe - Option", 190, 140)
GUICtrlCreateLabel("Spieler 1", 10, 10)
Local $h_combo_spieler1 = GUICtrlCreateCombo("", 10, 30, 70, 20)
GUICtrlSetData($h_combo_spieler1, "Kreis|Kreuz|Dreieck")
GUICtrlCreateLabel("Spieler 2", 100, 10)
Local $h_combo_spieler2 = GUICtrlCreateCombo("", 100, 30, 70, 20)
GUICtrlSetData($h_combo_spieler2, "Kreis|Kreuz|Dreieck")
Local $h_ok = GUICtrlCreateButton("OK", 10, 60, 170, 30)
GUICtrlSetOnEvent($h_ok, "Button_OK")
Local $h_abbruch = GUICtrlCreateButton("Abbruch", 10, 100, 170, 30)
GUICtrlSetOnEvent($h_abbruch, "Button_Abbruch")
GUISetState(@SW_SHOW, $h_GUI_option)
EndFunc
Func Button_OK()
$spieler1_symbol_read = GUICtrlRead($h_combo_spieler1)
$spieler2_symbol_read = GUICtrlRead($h_combo_spieler2)
If $spieler1_symbol_read == "" Or $spieler2_symbol_read == "" Then
MsgBox(64, "Info", "Bitte ein Symbol wählen!")
ElseIf $spieler1_symbol_read == $spieler2_symbol_read Then
MsgBox(64, "Info", "Bitte 2 verschiedene Symbole wählen!")
Else
GUISetState(@SW_SHOW, $h_GUI_main)
GUIDelete($h_GUI_option)
_Neues_Spiel()
EndIf
EndFunc
probiers mal mit
[autoit]PixelGetColor ( x , y [, hwnd] )
[/autoit]und
[autoit]PixelSearch ( left, top, right, bottom, color [, shade-variation [, step [, hwnd]]] )
[/autoit]![]()
Alles anzeigen
Hi,also ich hätte es per "for next" gelöst, statt mit Rekursion
MsgBox(0,"",fakultaet(20))func fakultaet($x)
local $i, $res
$res = 1
for $i = 1 to $x
$res = $res * $i
Next
return $res
EndFunc
Gruß
x0r
auf diese möglichkeit bin ich auch schon gekommen
aber wenn ich eine zahl einsetzte die größer ist als 65 wird auch hier wieder ein 0 zurück gegeben ![]()
hi leute...
ich bin gerade dabei mir aus langeweile ein tictactoe prgramm zu schreiben und habe ein problem.
bei mir stellen 9 button, die ich mit einer for-schleife und einem array dargestellt habe, das spielfeld dar.
For $i = 0 To UBound($h_submenu_info, 1) - 1
$h_submenu_info[$i] = GUICtrlCreateMenuItem($h_submenu_info[$i], $h_mainmenu_info)
Next
For $i = 0 To 2
$h_button[$i] = GUICtrlCreateButton($h_button[$i], $i * 50 + 20, 20, 50, 50, 0x0040)
GUICtrlSetOnEvent($h_button[$i], "Button_Klick")
Next
For $i = 3 To 5
$h_button[$i] = GUICtrlCreateButton($h_button[$i], ($i - 3) * 50 + 20, 70, 50, 50, 0x0040)
GUICtrlSetOnEvent($h_button[$i], "Button_Klick")
Next
For $i = 6 To 8
$h_button[$i] = GUICtrlCreateButton($h_button[$i], ($i - 6) * 50 + 20, 120, 50, 50, 0x0040)
GUICtrlSetOnEvent($h_button[$i], "Button_Klick")
Next
da ich mit
[autoit]Opt("GUIOnEventMode", 1)
[/autoit]arbeite und jeder button fast das selbe macht, habe ich jedem button die selbe funktion zugewiesen. mein problem ist nun das ich nicht weiß wie ich abfragen soll welcher button genau geklickt wurde.
kann mir jemand helfen? ![]()
Das ist ein gutes Beispiel, an dem du ein bisschen was lesen kannst :).Links für dich:
http://de.wikipedia.org/wiki/Rekursion#P…mit_Rekursionen, auch http://de.wikipedia.org/wiki/Rekursive_Programmierung
http://de.wikipedia.org/wiki/Integer_overflowJohannes
danke
die links helfen mit weiter ![]()
hi leute....
ich habe mir hier im forum mehrere beiträge zum thema fakultät gelesen und viele programme waren "recht komplex"...dabei ist es doch "eigentlich ganz einfach" ![]()
ich habe mir ein script geschrieben das ebenfalls die fakultät berechnet
Func fakultaet($i_zahl)
If $i_zahl > 1 Then
Return $i_zahl * fakultaet($i_zahl - 1)
Else
Return 1
EndIf
EndFunc
MsgBox(0, "", fakultaet(20))
[/autoit]allerdings wird aber eine bestimmten zahl am ende eine negative zahl ausgegeben und aber 65 wird nur noch null zurück gegeben...weiß einer vielleicht warum?
ich komme nicht drauf ![]()
freut mich das ich dir helfen konnte ![]()
wollte eigentlich gerade eine möglichkeit posten dir mir eben eingefallen ist
[autoit]#include <file.au3>
#Include <Array.au3>
dim $a_inhalt_von_txt_partner, $a_inhalt_von_txt_kunden
$a_kunden_position_in_txt[1] = [""] ; ein leerer array wird erzeugt
_FileReadToArray("Input_Partner.txt",$a_inhalt_von_txt_partner)
_FileReadToArray("Input_Kunden.txt",$a_inhalt_von_txt_kunden)
$h_output = FileOpen("Output_KP.txt",2)
[/autoit][autoit][/autoit][autoit]For $i = 0 To UBound($a_inhalt_von_txt_partner) - 1
$i_counter = 0
For $m = 0 To UBound($a_inhalt_von_txt_kunden) - 1
$string = String($a_inhalt_von_txt_kunden[$m])
$s_kennnummer = StringLeft($string, StringInStr($string, ";"))
If StringInStr($a_inhalt_von_txt_partner[$i], $s_kennnummer) Then
FileWriteLine($h_output, $a_inhalt_von_txt_partner[$i] & ";EOP;SOA;" & $a_inhalt_von_txt_kunden[$m])
_FileWriteToLine("Input_Kunden.txt", $i_counter, $string, 1)
_ArrayAdd($a_kunden_position_in_txt, $m); $m = position des kunden im array
; die position des kunden in der txt datei wir in einem array gespeichert damit der kunde später aus $a_inhalt_von_txt_kunden gelöscht werden können ![]()
$i_counter += 1
ElseIf $i_counter >= 4 Then
ExitLoop
EndIf
Next
For $k = 1 To UBound($a_kunden_position_in_txt, 1) - 1
_ArrayDelete($a_inhalt_von_txt_kunden, $a_kunden_position_in_txt[$k])
Next
Next
FileClose($h_output)
[/autoit][autoit][/autoit][autoit][/autoit]weiß natürlich nicht ob die überhaupt funktioniert ![]()
allerdings fügt er mir nun mehr als 4 partner mit entsprechenden kunden ein
wie viele mehr sinds denn?? ![]()
und das andere problem ist, ich müsste zuerst die kunden mit weniger nummern dran nehmen, denn die werden sonst gar nicht mehr gezählt und fallen weg
meinst du damit kunden die eine geringere anzahl an kundenziffern haben oder deren kundennummer vom wert her einfach nur kleiner ist??
wenn du meinst das sie einfach nur kleiner sind kannst du ja am anfang erst mal die 4 kleinsten nummer raus suchen
das geht mit
_ArrayMin(Const ByRef $avArray [, $iCompNumeric = 0 [, $iStart = 0 [, $iEnd = 0]]])
[/autoit]ich habe bei deinem scribt mal ein paar sachen hinzu gefühgt und ein paar kommentare geschrieben da ich nicht ganz genau weiß was du damit bezwecken willst ....
[autoit]#include <file.au3>
[/autoit][autoit][/autoit][autoit]dim $a_inhalt_von_txt_partner, $a_inhalt_von_txt_kunden
[/autoit][autoit][/autoit][autoit]_FileReadToArray("Input_Partner.txt",$a_inhalt_von_txt_partner)
_FileReadToArray("Input_Kunden.txt",$a_inhalt_von_txt_kunden)
$h_output = FileOpen("Output_KP.txt",2)
[/autoit][autoit][/autoit][autoit]$i_counter = 1
For $i = 0 To UBound($a_inhalt_von_txt_partner) - 1
For $m = 0 To UBound($a_inhalt_von_txt_kunden) - 1
$string = String($a_inhalt_von_txt_kunden[$m])
$s_kennnummer = StringLeft($string, StringInStr($string, ";")) ;stringinstr ist sicherer da, sobald ausversehen ein leerzeichen auftaucht eine fehlermeldung kommen wird ![]()
If StringInStr($a_inhalt_von_txt_partner[$i], $s_kennnummer) Then
FileWriteLine($h_output, $a_inhalt_von_txt_partner[$i] & ";EOP;SOA;" & $a_inhalt_von_txt_kunden[$m])
_FileWriteToLine("Input_Kunden.txt", $i_counter, $string, 1)
; du schreibst hier aber in eine input txt datei!!! wolltest du nicht in eine output datei schreiben???
$i_counter += 1
ElseIf $i_counter = 5 Then
ExitLoop
EndIf
Next
If $i_counter = 5 Then ExitLoop
Next
FileClose($h_output)
[/autoit]danke leute
ihr habt mir sehr geholfen ![]()
hey leute....
ich habe schon öfters udfs gesehen die sahen ungefähr so aus
Func _ComputerGetDesktops(ByRef $aDesktopInfo)
Local $colItems, $objWMIService, $objItem
Dim $aDesktopInfo[1][20], $i = 1
$objWMIService = ObjGet("winmgmts:\\" & $cI_Compname & "\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Desktop", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
If IsObj($colItems) Then
For $objItem In $colItems
ReDim $aDesktopInfo[UBound($aDesktopInfo) + 1][20]
$aDesktopInfo[$i][0] = $objItem.Name
$aDesktopInfo[$i][1] = $objItem.BorderWidth
$aDesktopInfo[$i][2] = $objItem.CoolSwitch
$aDesktopInfo[$i][3] = $objItem.CursorBlinkRate
$aDesktopInfo[$i][4] = $objItem.Description
$aDesktopInfo[$i][5] = $objItem.DragFullWindows
$aDesktopInfo[$i][6] = $objItem.GridGranularity
$aDesktopInfo[$i][7] = $objItem.IconSpacing
$aDesktopInfo[$i][8] = $objItem.IconTitleFaceName
$aDesktopInfo[$i][9] = $objItem.IconTitleSize
$aDesktopInfo[$i][10] = $objItem.IconTitleWrap
$aDesktopInfo[$i][11] = $objItem.Pattern
$aDesktopInfo[$i][12] = $objItem.ScreenSaverActive
$aDesktopInfo[$i][13] = $objItem.ScreenSaverExecutable
$aDesktopInfo[$i][14] = $objItem.ScreenSaverSecure
$aDesktopInfo[$i][15] = $objItem.ScreenSaverTimeout
$aDesktopInfo[$i][16] = $objItem.SettingID
$aDesktopInfo[$i][17] = $objItem.Wallpaper
$aDesktopInfo[$i][18] = $objItem.WallpaperStretched
$aDesktopInfo[$i][19] = $objItem.WallpaperTiled
$i += 1
Next
$aDesktopInfo[0][0] = UBound($aDesktopInfo) - 1
If $aDesktopInfo[0][0] < 1 Then
SetError(1, 1, 0)
EndIf
Else
SetError(1, 2, 0)
EndIf
EndFunc ;_ComputerGetDesktops
(DIESE UDF IST NICHT VON MIR)
und meine frage ich jetzt wie das so ist mit befehlen wie
[autoit]$objItem.ScreenSaverActive
[/autoit]...wie genau soll man solchen befehl verstehen und woher weiß ich was für ein befehl ich alles hinter dem punkt schreiben kann?? gibt es irgendwo eine liste wo all diese befehle aufgelistet sind und wie genau wirken sie??? ![]()
ich würde den inhalt der txt - dateien erstmal komplett mit
[autoit]_FileReadToArray($sFilePath, ByRef $aArray)
[/autoit]einlesen und dann den inhalt der ersten txt - datei mit einer for schleife durchgehen...ungefähr so...
[autoit]$i_counter = 0
For $i = 1 To UBound($a_inhalt_von_txt_partner) - 1
For $m = 1 To UBound($a_inhalt_von_txt_kunden) - 1
$string = String($a_inhalt_von_txt_kunden[$m])
$s_kennnummer = StringTrimLeft($string, StringLen($string) - ![]()
If StringInStr($a_inhalt_von_txt_partner[$i], $s_kennnummer) Then
FileWrite("KDPT.txt", $string) ; die datei muss vorher mit mode = 2 geöffnet werden, damit der inhalt gelöscht wird
$i_counter += 1
ElseIf $i_counter = 4 Then
ExitLoop
EndIf
Next
If $i_counter = 4 Then ExitLoop
Next
natürlich ist der lösungsvorschlag ungetestet und nicht perfekt, aber ich hoffe ich konnte dir helfen ![]()
hey leute...
in den letzten paar tagen habe ich, wenn ich ein bisschen zeit hatte, an diesem multiple choice program geschrieben. dies ist soweit auch "fertig", allerdings bekomme ich es nicht mit der zufall wiedergabe der fragen hin. es kommen immer ein paar fragen doppelt bzw. werden ausgelassen. kann mir einer dabei helfen? ![]()
ansonsten wäre es nett wenn ich von euch ein feedback zu meinem bisherigem werk bekomme ![]()
; =====================================================================
; Include-Dateien einbinden
; =====================================================================
#Include <Array.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
; =====================================================================
; Variablen defnieren
; =====================================================================
Global Const $s_title = "Multiple - Choice"
Global $a_menue_option[4] = ["Datenbank laden", "Datenbank editieren", "", "Beenden"]
Global $a_menue_hilfe[3] = ["Google aufrufen", "Anleitung", "Über..."]
Global $a_label[3] = ["Richtig:", "Bisher:", "Gesamt:"]
Global $a_stand[3] = ["0", "0", "0"]
Global $a_erledigte_fragen[1] = [1]
Global $s_file = Default, $s_errortext = Default
Global $h_GUI, $h_label_frage, $i_falsch = 0
Global $h_checkbox_antwort_1, $h_checkbox_antwort_2, $h_checkbox_antwort_3, $h_checkbox_antwort_4
Global $s_anleitungstext = "Die ist ein einfaches Frage - Antwort Spiel im Sinne von" & @CRLF & "Multiple - Choice!" & @CRLF & "Um ein Quiz zu starten einfach eine Datenbank laden." & @CRLF & "Dies muss allerdings ein Textdokument sein!"
$s_anleitungstext &= @CRLF & "Die Fragen müssen eine spezielle Form haben." & @CRLF & @CRLF & "Zum Beispiel:" & @CRLF & "F:Was ist keine Jahreszeit?" & @CRLF
$s_anleitungstext &= "B:bild.jpg" & @CRLF & "R1:Ostern" & @CRLF & "F2:Herbst" & @CRLF & "F3:Frühling" & @CRLF & "F4:Sommer" & @CRLF & @CRLF & "Die Atribute 'F' und 'R' gegen an ob die Frage richtig oder falsch ist!" & @CRLF
$s_anleitungstext &= "Die Fragen müssen durchnummeriert werden!"
Global $a_erledigte_fragen[1] = [""]
Global $hex_rot = 0xDB0007, $hex_gruen = 0x00ff00
Global $s_attribut = Default, $a_fragen_backup, $h_status
; =====================================================================
; =====================================================================
; Hauptprogramm
; =====================================================================
; =====================================================================
$h_GUI = GUICreate($s_title, 300, 330, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_SIZEBOX))
GUISetFont(10, 400, 0, "Comic Sans MS")
$h_menue_option = GUICtrlCreateMenu("Option")
For $i = 0 To UBound($a_menue_option) - 1
$a_menue_option[$i] = GUICtrlCreateMenuItem($a_menue_option[$i], $h_menue_option)
Next
$h_menue_hilfe = GUICtrlCreateMenu("Hilfe")
For $i = 0 To UBound($a_menue_hilfe) - 1
$a_menue_hilfe[$i] = GUICtrlCreateMenuItem($a_menue_hilfe[$i], $h_menue_hilfe)
Next
$h_group = GUICtrlCreateGroup("Status", 5, 5, 290, 45)
GUICtrlSetResizing($h_group, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKRIGHT)
For $i = 0 To UBound($a_label) - 1
$a_label[$i] = GUICtrlCreateLabel($a_label[$i], $i * 90 + 20, 25, 70, 20)
$a_stand[$i] = GUICtrlCreateLabel($a_stand[$i], $i * 90 + 80, 25, 20, 20)
Next
GUICtrlSetResizing($a_label[0], $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlSetResizing($a_label[1], $GUI_DOCKTOP)
GUICtrlSetResizing($a_label[2], $GUI_DOCKRIGHT + $GUI_DOCKTOP)
GUICtrlSetResizing($a_stand[0], $GUI_DOCKLEFT + $GUI_DOCKTOP)
GUICtrlSetResizing($a_stand[1], $GUI_DOCKTOP)
GUICtrlSetResizing($a_stand[2], $GUI_DOCKRIGHT + $GUI_DOCKTOP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$h_button = GUICtrlCreateButton("Überprüfen", 50, 250, 200, 30)
GUICtrlSetResizing($h_button, $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM)
GUISetState(@SW_SHOW, $h_GUI)
While 1
Switch GUIGetMsg()
Case $a_menue_hilfe[1]
MsgBox(64, "Anleitung", $s_anleitungstext)
Case -4
GUISetState(@SW_MINIMIZE, $h_GUI)
Case -3
Exit
Case $a_menue_option[0]
$s_file = FileOpenDialog($s_title, @ScriptDir & "\", "Text (*.txt)", 3)
$a_inhalt = einlesen($s_file)
If @error Then
If @error = 1 Then $s_errortext = "Die Datei konnte nicht geöffnet werden!"
If @error = 2 Then $s_errortext = "Der Inhalt konnte nicht gelesen werden!"
If @error = 3 Then $s_errortext = "Fragen konnten nicht geordnet werden!"
MsgBox(16, "Error", $s_errortext)
Else
$a_inhalt = sortieren($a_inhalt)
GUICtrlSetData($a_stand[2], UBound($a_inhalt, 1))
$h_label_frage = GUICtrlCreateLabel($a_inhalt[0][0], 50, 70)
$a_fragen = StringSplit($a_inhalt[0][2], "|", 2)
$a_fragen_backup = $a_fragen
For $i = 0 To UBound($a_fragen, 1) - 1
$a_fragen[$i] = GUICtrlCreateCheckbox(StringTrimLeft(String($a_fragen[$i]), StringInStr($a_fragen[$i], ":")), 70, $i * 30 + 105)
Next
EndIf
Case $h_button
If GUICtrlRead($h_button) = "Weiter" Then
For $i = 0 To 3
GUICtrlDelete($a_fragen[$i])
Next
GUICtrlDelete($h_label_frage)
If GUICtrlRead($a_stand[1]) = GUICtrlRead($a_stand[2]) Then
MsgBox(64, "Fertig", "Sie haben " & GUICtrlRead($a_stand[0]) & " von " & GUICtrlRead($a_stand[2]) & " Fragen richtig beantwortet!")
Else
;~ Do
;~ $ausstehend = True
;~ $i_zufall = Random(2, UBound($a_inhalt, 1) - 1, 1)
;~ For $i = 0 To UBound($a_erledigte_fragen, 1) - 1
;~ If $a_erledigte_fragen[$i] = $i_zufall Then
;~ $ausstehend = False
;~ EndIf
;~ Next
;~ Until $ausstehend = True
;~ wic($a_erledigte_fragen)
;~ $i_ubound = UBound($a_erledigte_fragen, 1)
;~ ReDim $a_erledigte_fragen[$i_ubound + 1]
;~ $a_erledigte_fragen[$i_ubound] = $i_zufall
$a_erledigte_fragen[0] += 1
$i_zufall = $a_erledigte_fragen[0]
$h_label_frage = GUICtrlCreateLabel($a_inhalt[$i_zufall][0], 50, 70)
$a_fragen = StringSplit($a_inhalt[$i_zufall][2], "|", 2)
$a_fragen_backup = $a_fragen
For $i = 0 To UBound($a_fragen, 1) - 1
$a_fragen[$i] = GUICtrlCreateCheckbox(StringTrimLeft(String($a_fragen[$i]), StringInStr($a_fragen[$i], ":")), 70, $i * 30 + 105)
Next
GUICtrlSetData($h_button, "Überprüfen")
EndIf
ElseIf GUICtrlRead($h_button) = "Überprüfen" And $s_file <> Default Then
$i_falsch = 0
For $i = 0 To 3
$s_attribut = StringLeft(String($a_fragen_backup[$i]), 1)
$h_status = GUICtrlRead($a_fragen[$i])
If $h_status = 1 And $s_attribut = "R" Then
GUICtrlSetBkColor($a_fragen[$i], $hex_gruen)
ElseIf $h_status = 4 And $s_attribut = "R" Then
GUICtrlSetBkColor($a_fragen[$i], $hex_rot)
$i_falsch += 1
ElseIf $h_status = 4 And $s_attribut = "F" Then
GUICtrlSetBkColor($a_fragen[$i], $hex_gruen)
ElseIf $h_status = 1 And $s_attribut = "F" Then
GUICtrlSetBkColor($a_fragen[$i], $hex_rot)
$i_falsch += 1
EndIf
Next
If $i_falsch == 0 Then
GUICtrlSetData($a_stand[0], GUICtrlRead($a_stand[0]) + 1)
EndIf
GUICtrlSetData($a_stand[1], GUICtrlRead($a_stand[1]) + 1)
GUICtrlSetData($h_button, "Weiter")
EndIf
Case $a_menue_option[1]
$s_file = FileOpenDialog($s_title, @ScriptDir & "\", "Text (*.txt)", 3)
ShellExecute($s_file)
Case $a_menue_option[3]
Exit
Case $a_menue_hilfe[0]
_IECreate("www.google.de")
Case $a_menue_hilfe[2]
MsgBox(64, "Über...", "Erstellt von Redhead!")
EndSwitch
WEnd
Func einlesen($s_file)
Local $a_inhalt[1] = [""]
Local $s_line = Default
Local $i_ubound = Default
Local $h_fileopen = FileOpen($s_file, 0)
If $h_fileopen = -1 Then Return SetError(1, 0, 0)
Local $s_inhalt = FileRead($h_fileopen, FileGetSize($s_file))
If $s_inhalt = -1 Then Return SetError(2, 0, 0)
FileClose($h_fileopen)
If StringRight($s_inhalt, 1) = @LF Then $s_inhalt = StringTrimRight($s_inhalt, 1)
If StringRight($s_inhalt, 1) = @CR Then $s_inhalt = StringTrimRight($s_inhalt, 1)
If StringInStr($s_inhalt, @LF) Then
Local $a_inhalt_ex = StringSplit(StringStripCR($s_inhalt), @LF, 2)
Else
Return SetError(3, 0, 0)
EndIf
For $i_counter = 0 To UBound($a_inhalt_ex) - 1
$s_line = String($a_inhalt_ex[$i_counter])
If StringLeft($s_line, 1) <> "#" And StringLeft($s_line, 1) <> ";" And StringStripWS($s_line,
<> "" Then
$i_ubound = UBound($a_inhalt)
ReDim $a_inhalt[$i_ubound + 1]
$a_inhalt[$i_ubound] = $a_inhalt_ex[$i_counter]
EndIf
Next
For $i_counter = 0 To UBound($a_inhalt) - 2
$a_inhalt[$i_counter] = $a_inhalt[$i_counter + 1]
Next
ReDim $a_inhalt[UBound($a_inhalt) - 1]
If UBound($a_inhalt) < 5 Then Return SetError(3, 0, 0)
Return $a_inhalt
EndFunc
Func sortieren($a_array)
Local $a_inhalt[1][3] = [["", "", ""]]
Local $s_antworten = Default
Local $i_ubound_1 = Default
Local $i_ubound_2 = Default
For $i = 0 To UBound($a_array) - 1 Step 6
$s_antworten = $a_array[$i + 2] & "|" & _
$a_array[$i + 3] & "|" & _
$a_array[$i + 4] & "|" & _
$a_array[$i + 5]
$i_ubound_1 = UBound($a_inhalt, 1)
$i_ubound_2 = UBound($a_inhalt, 2)
ReDim $a_inhalt[$i_ubound_1 + 1][$i_ubound_2 + 1]
$a_inhalt[$i_ubound_1][1] = StringTrimLeft(String($a_array[$i]), StringInStr($a_array[$i], ":"))
$a_inhalt[$i_ubound_1][2] = StringTrimLeft(String($a_array[$i + 1]), StringInStr($a_array[$i + 1], ":"))
$a_inhalt[$i_ubound_1][3] = $s_antworten
Next
For $i_counter = 0 To $i_ubound_1 - 1
For $i = 0 To $i_ubound_2 - 2
$a_inhalt[$i_counter][$i] = $a_inhalt[$i_counter + 1][$i + 1]
Next
Next
ReDim $a_inhalt[UBound($a_inhalt, 1) - 1][UBound($a_inhalt, 2) - UBound($a_inhalt, 1) + 1]
Return $a_inhalt
EndFunc
Func wic($text)
If IsArray($text) Then
Switch UBound($text, 0)
Case 1
For $i = 0 To UBound($text, 1) - 1
ConsoleWrite($text[$i] & @CRLF)
Next
Case 2
For $i = 0 To UBound($text, 1) - 1
For $m = 0 To UBound($text, 2) - 1
ConsoleWrite($text[$i][$m] & @CRLF)
Next
Next
Case 3
For $i = 0 To UBound($text, 1) - 1
For $m = 0 To UBound($text, 2) - 1
For $k = 0 To UBound($text, 3) - 1
ConsoleWrite($text[$i][$m][$k] & @CRLF)
Next
Next
Next
EndSwitch
Else
ConsoleWrite($text & @CRLF)
EndIf
EndFunc