Bitte Bitte
MfG
Der_Doc
Bitte Bitte
MfG
Der_Doc
Naja er will ja nur seine eigene Eingabe vergleichen, das sollte ja erlaubt sein.
MfG
Der_Doc
Wenn dann heist das
While 1
Wend
[/autoit]
So läuft dein Programm:
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>
#include <ButtonConstants.au3>
Dim $Engword
Dim $GERword
Dim $fertig
Dim $selectWordKind
Dim $selectWordKind
while 1 ;1 offen
GUICreate("Vokabeltrainer",800,500)
GuiCtrlCreateLabel("Wählen Sie die Sprache der neuen Vokabeln aus", 10,10)
$Language = GUICtrlCreateCombo("Englisch", 10, 30,100,-1, $ES_READONLY & $CBS_DROPDOWNLIST )
GUICtrlSetData(-1,"Latein|Andere")
$check = GUICtrlCreateButton("Ok",120,30,40,20)
GUISetState()
while 1 ;2offen
$msg=GUIGetMsg()
Select ;1offen
Case $msg = $GUI_EVENT_CLOSE
$Exit = MsgBox(52, "Setup", "Wollen Sie den Vokabeltrainer wirklich beenden?")
if $Exit = 6 Then
Exit
EndIf
Case $msg = $check
ExitLoop
EndSelect ;0 offen
WEnd ;1 offen
$selectLang = GUICtrlRead($language)
$selectLang = GUICtrlRead($language)
Select ;1 offen
Case $selectlang = "englisch"
GUIDelete()
;GUI für die Eingabe Englischer Wörter wird erstellt
[/autoit] [autoit][/autoit] [autoit]GUICreate("Vokabeltrainer", 800, 500)
GUICtrlCreateLabel("Wählen sie die aktuelle Unit aus", 10, 10)
$defaultunit = IniRead("C:\Dokumente und Einstellungen\toka\Desktop\Voktrainer\programme\User_Edit.ini", "Englisch", "Unit", "1")
$Unit = GUICtrlCreateInput($defaultunit, 10, 30, 40, 20)
GUICtrlCreateUpdown($unit)
$check = GUICtrlCreateButton("Bestätigen", 320, 240, 120, 30)
GUISetState()
while 1 ;2 offen
$msg = GUIGetMsg()
Select ;2 offen
case $msg = $GUI_EVENT_CLOSE
$Exit = MsgBox(52, "Vokabeltrainer", "Wollen Sie den Vokabeltrainer wirklich beenden?")
if $Exit = 6 Then
Exit
EndIf
case $msg = $check
$unit = GUICtrlRead($Unit)
$iniunit = $unit + 1
$inidir = @ScriptDir & "\User_Edit.ini"
IniWrite($inidir, "Englisch", "unit", $iniunit)
ExitLoop
EndSelect ;1 offen
WEnd ;1 offen
while 1;2 offen
GUIDelete()
GUICreate("Vokabeltrainer", 800,500)
GUICtrlCreateLabel("Wählen Sie die Wortart aus", 10, 10)
$WordKind = GUICtrlCreateCombo("Nomen", 10,30,100,20,$ES_READONLY & $CBS_DROPDOWNLIST )
GUICtrlSetData(-1,"Verben|Adjektive|Andere")
$check = GUICtrlCreateButton("Ok", 120, 30, 40, 20)
GUISetState()
while 1 ; 3 offen
$msg = GUIGetMsg()
Select ;2 offen
case $msg = $GUI_EVENT_CLOSE
$Exit = MsgBox(52, "Vokabeltrainer", "Wollen Sie den Vokabeltrainer wirklich beenden?")
if $Exit = 6 Then
Exit
EndIf
Case $msg = $check
ExitLoop
EndSelect ;1 offen
WEnd ;2 offen
while 1 ;3 offen
$msg = GUIGetMsg()
Select ;2 offen
case $msg = $GUI_EVENT_CLOSE
$Exit = MsgBox(52, "Setup", "Wollen Sie den Vokabeltrainer wirklich beenden?")
if $Exit = 6 Then
Exit
EndIf
Case $msg = $check
$EngWord = GUICtrlRead($Engword)
$GerWord = GUICtrlRead($GERword)
IniWrite(@ScriptDir & "\englisch\nomen.ini","unit" & $unit,$engword, $gerword)
ContinueLoop(2)
Case $msg = $fertig
ContinueLoop(3)
EndSelect ;1 offen
WEnd ;2 offen
;nomeneingabe zu ende
while 1 ;3 offen
GUIDelete()
Select ;2 offen
Case $selectWordKind = "verben" ;Wenn verben ausgewählt wurde
GUICreate("vokabeltrainer", 800, 500)
GUICtrlCreateLabel("Füllen sie die Felder den Vorgaben entsprechend aus.", 10, 10)
GUICtrlCreateLabel("Wort/Bedeutung auf Englisch:" ,50, 40, 150, 20)
GUICtrlCreateLabel("Wort/Bedeutung auf Deutsch:" ,550, 40, 150, 20)
GUICtrlCreateLabel("Gramatik:", 50, 120, 50, 20)
GUICtrlCreateLabel("Simple past form:", 50, 150, 150,20)
GUICtrlCreateLabel("Past participle:", 550, 150, 150,20)
$EngWord = GUICtrlCreateInput("", 50, 70, 150, 20)
$GerWord = GUICtrlCreateInput("", 550, 70, 150, 20)
$simplepast = GUICtrlCreateInput("regular",50,180,150,20)
$pastparticiple = GUICtrlCreateInput("regular", 550, 180, 150, 20)
$check = GUICtrlCreateButton("Bestätigen", 320, 300, 120, 30)
$fertig = GUICtrlCreateButton("fertig", 320, 340,120,30)
GUISetState()
while 1 ; 4 offen
$msg = GUIGetMsg()
Select ;3 offen
Case $msg = $GUI_EVENT_CLOSE
$Exit = MsgBox(52, "Vokabeltrainer", "Wollen Sie den Vokabeltrainer wirklich beenden?")
if $Exit = 6 Then
Exit
EndIf
Case $msg = $check
$EngWord = GUICtrlRead($EngWord)
$GerWord = GUICtrlRead($GerWord)
$simplepast = GUICtrlRead($simplepast)
$pastparticiple = GUICtrlRead($pastparticiple)
IniWrite(@scriptdir & "\englisch\verben\infinitive.ini", "unit" & $unit,$engword,$gerword)
IniWrite(@scriptdir & "\englisch\verben\simplepast.ini", "unit" & $Unit,$engword,$simplepast)
IniWrite(@scriptdir & "\englisch\verben\pastparticiple.ini","unit" & $unit,$engword,$pastparticiple)
ContinueLoop(2)
EndSelect ; 2 offen
WEnd ;3 offen
EndSelect ;1 offen
WEnd ;2 offen
WEnd ; 1 offen
Case $selectlang = "latein"
MsgBox(0, "test", "Latein1")
Case $selectlang = "andere"
MsgBox(0, "test", "andere1")
EndSelect ; 0 offen
WEnd
Achso Variablen werden eigentlich auch deklariert.
MfG
Der_Doc
Dieser Auszug aus der Hilfe sollte dir die Lösung bringen.
_ArrayDisplay($avArray, "$avArray VOR _ArraySort()")
_ArraySort($avArray, 0, 0, 0, 0)
_ArrayDisplay($avArray, "$avArray NACHDEM _ArraySort() Spalte 0 aufsteigend sortiert hat")
_ArraySort($avArray, 0, 0, 0, 1)
_ArrayDisplay($avArray, "$avArray NACHDEM _ArraySort() Spalte 1 aufsteigend sortiert hat")
_ArraySort($avArray, 0, 0, 0, 2)
_ArrayDisplay($avArray, "$avArray NACHDEM _ArraySort() Spalte 2 aufsteigend sortiert hat")
MfG
Der_Doc
Nen Auszug der While-Schleife würde das Raten ersparen.
MfG
Der_Doc
Ja aber jede Checkbox kannst du doch abfragen ob sie CHECKED ist oder nicht.
Und dann los geht es.
Das Zauberwort ist Schleife, sonst hast du später 4000 Zeilen Quelltext.
Die klickst würde ich in eine INI-Datei packen. Sonst ist der Umbau später extrem aufwändig.
Dann erstmal für die ersten 2 Programme testen und dann nur noch erweitern.
Mache ich immer so. So hast du den Aufwand nur einmal und es wird später net unübersichtlich.
MfG
Der_Doc
Moin,
könnte das das sein was du suchst?
; SERVER!! Vor dem Client starten!!!!!!!!!!!
$IP = "127.0.0.1" ; IP
; Startet den TCP Service
;==============================================
TCPStartUp()
; Erstellt einen lauschenden "SOCKET"
;==============================================
$MainSocket = TCPListen($IP, 12000, 100 )
If $MainSocket = -1 Then Exit
; Warten auf eine Client-Verbindung
;--------------------
While 1
$ConnectedSocket = TCPAccept( $MainSocket)
If $ConnectedSocket >= 1 Then
; echo '<img src="images/serv_online.gif" >';}
msgbox(0,"","Port offen")
exit
Else
;echo '<img src="images/serv_offline.gif" >';}
EndIf
Wend
MfG
Der_Doc
Naja arbeit ist das alles hier.
Ich mache solche Sachen immer mit deaktivieren der Button.
Und die Funktion installieren kannst du über ein Array mache. Einfach alle Werte die du brauchst einschreiben und dann über eine Schleife abarbeiten.
MfG
Der_Doc
Poste doch mal den Quelltext.
So ist das raten wo das ) hingehören könnte.
MfG
Der_Doc
Dann deaktiviere doch einfach den Button "Installieren" bevor das Programm net auf der Festplatte ist.
[autoit]
;Button deaktivieren
$start = GUICtrlCreateButton("starten", 104, 199, 89, 25, 0)
GUICtrlSetState($start,$GUI_DISABLE)
und dann suchst du einfach mit FileExists nach der Datei und wenn diese vorhanden ist, dann
;Button aktivieren
GUICtrlSetState($start,$GUI_ENABLE)
MfG
Der_Doc
Also wenn du dir den neusten Koda runterlädst und ihn installierst, dann bekommst du unter Datei die Möglichkeit ein au3 Skript zu importieren und somit wird alles gut.
Das mit der Hilfe habe ich in deinem Post geschrieben.
Dann noch viel Glück.
MfG
Der_Doc
Die 3 Dateien im Autoit Ordner solltest du gegen die die du gezogen hast tauschen und alles sollte gut sein.
EDIT:
Also ich habe es nachgestellt und es hat bei mir einwandfrei funktioniert. Einfach nur die Dateien ersetzen und los.
Autoit sollte aber auf der lokalen Platte liegen. Bei UNC Pfaden gab es mal mit CHM Dateien Probleme.
MfG
Der_Doc
Na dann fang doch einfach mal an zu programmieren.
Oder meinst du das du hier einfach deine Wünsche angibst, und alle legen los?
MfG
Der_Doc
Wie denn das Input übernimmt?
Schreibe das Inputfeld einfach in eine Variable.
$value = InputBox("Test", "CSS.")
msgbox (0,"Ausgabe",$value)
MfG
Der_Doc
Schau mal in der Hilfe unter
[autoit]
IniDelete ;Löscht einen Wert aus einer standardkonformen .ini-Datei.
IniRead ;Liest einen Wert aus einer standardkonformen .ini-Datei.
IniReadSection ;Liest alle Schlüssel-/Wert-Paare aus einer Sektion einer standardkonformen .ini-Datei.
IniReadSectionNames ;Liest alle Sektionen aus einer standardkonformen .ini-Datei.
IniRenameSection ;Benennt eine Sektion in einer standardkonformen .ini-Datei um.
IniWrite ;Schreibt einen Wert in eine standardkonforme .ini-Datei.
IniWriteSection ;Schreibt eine Sektion in eine standardkonforme .ini-Datei.
Da sind genug Beispiele dabei die bestimmt weiterhelfen.
MfG
Der_Doc
Hi,
also bei mir funktioniert das alles wunderbar. Ich habe alles auf Standard stehen gelassen und damit ging es wunderbar.
Ich benutze auch Windows Vista.
MfG
Der_Doc
Na dann benutze doch mal einen Dummy Benutzer, der Die nötigen Rechte hat.
MfG
Der_Doc
Ja von mir auch alles Gute. Und denke mal darüber nach ob du dein Autoit-Buch net doch auf den Markt bringen kannst.
Wenn Hilfe gebraucht wird denke an mich und dann natürlich einfach fragen.
MfG
Der_Doc
Hi,
ich verstehe dein Skript leider net ganz, aber ich würde Sachen die gespeichert werden müssen immer in eine Ini-Datei schreiben.
Das kannst du von jedem Fenster aus machen. Einfach das Fenster öffnen und dann den Inhalt deine Input einfach in die INI-Datei schreiben.
MfG
Der_Doc
Hi,
ist denn @exitCode richtig?
Versuche es mal mit @ error und schau mal was da rauskommt.
msgbox(0,"Ausgabe",@error)
[/autoit]MfG
Der_Doc