N'abend,
ich bin grad an meinem neuen Projekt und bekomme es einfach nicht hin, das 1 Gui geschlossen wird und gleichzeitig eine andere öffnet (oder das die 1 GUI zur anderen wird.... (per Checkbox, was ich aber schon umgesetztz habe)
und wie bekomme ich es hin zb ein Textdokument auszulesen und in ein ListView (Tabelle [die Autoit Tabelle -> ListView]) eingetragen wird
MFG und DANKE
GUI Frage
-
- [ offen ]
-
Zattoo -
1. August 2011 um 21:54 -
Geschlossen -
Erledigt
-
-
Also so kann ich dir leider net helfen, poste doch bitte das Script, bzw. einen funktionierenden Schnipsel, das wäre ganz gut und sonst einfach so:
[autoit]GuiDelete()
[/autoit]
GuiCreate(...)mfg
hauke96 -
ich bin doch blöd!, löschen/neu machen xD, das is doch kla... xD
Ja ok danke, ist es auch möglich die Gui in zu verändern, das man das ListView nach unten verschiebt und und oben checkboxen erscheinen, schlecht erklärt.. aber es geht grad nicht besser
PS: das #cs/#ce'te ist das 2. guiSpoiler anzeigen
[autoit]#include <File.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <GUIListView.au3>
#include <StaticConstants.au3>
#include <String.au3>
#include <WindowsConstants.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit];====================================================================================================================================
[/autoit] [autoit][/autoit] [autoit]
;=======================================================| Account Manager Design |===================================================
;====================================================================================================================================$Account_Manager = GUICreate("Account Manager", 600, 340, -1, -1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0xC0C0C0)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Account_ManagerClose")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_Account_ManagerMinimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "_Account_ManagerMaximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "_Account_ManagerRestore")
$ID_Input = GUICtrlCreateInput("ID", 8, 8, 160, 21)
$Passwort_Input = GUICtrlCreateInput("Passwort", 176, 8, 140, 21)
$AddOptions = GUICtrlCreateCheckbox("", 322, 6, 17, 25)
GUICtrlSetOnEvent($AddOptions, "_Check_AddOptions")
$Add_Account = GUICtrlCreatePic(@DesktopDir & "\Account Manager\Add.jpg", 345, 8, 56, 21)
GUICtrlSetOnEvent($Add_Account, "_Add_Account")
$Einstellungen = GUICtrlCreatePic(@DesktopDir & "\Account Manager\Einstellungen.jpg", 567, 3, 30, 30)
GUICtrlSetOnEvent($Einstellungen, "_Einstellungen")
$AccountList = GUICtrlCreateListView("ID|Passwort|E-Mail|Geheimfrage|Geheimantwort", 0, 35, 600, 280, -1)
_GUICtrlListView_SetColumnWidth($AccountList, 0, 110)
_GUICtrlListView_SetColumnWidth($AccountList, 1, 110)
_GUICtrlListView_SetColumnWidth($AccountList, 2, 125)
_GUICtrlListView_SetColumnWidth($AccountList, 3, 125)
_GUICtrlListView_SetColumnWidth($AccountList, 4, 125)
_GUICtrlListView_RegisterSortCallBack(GUICtrlGetHandle($AccountList))
;$Head_Pic = GUICtrlCreatePic(@DesktopDir & "\Grau.jpg", 0, 0, 580, 35, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Wenn BK Colour aktiv = unnötig
GUICtrlCreateCheckbox("Passwörter anzeigen", 480, 317)
GUICtrlCreateCheckbox("Daten verschlüsseln", 360, 317)
GUISetState(@SW_SHOW, $Account_Manager)#cs
[/autoit] [autoit][/autoit] [autoit]
;====================================================================================================================================
;===================================================| Account Manager - 2 Design |===================================================
;====================================================================================================================================$Account_Manager2 = GUICreate("Account Manager", 600, 440, -1, -1)
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor(0xC0C0C0)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Account_ManagerClose")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "_Account_ManagerMinimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "_Account_ManagerMaximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "_Account_ManagerRestore")
$ID_Input = GUICtrlCreateInput("ID", 8, 8, 160, 21)
$Passwort_Input = GUICtrlCreateInput("Passwort", 176, 8, 140, 21)
$AddOptions = GUICtrlCreateCheckbox("", 322, 6, 17, 25)
GUICtrlSetOnEvent($AddOptions, "_Check_AddOptions")
$Add_Account = GUICtrlCreatePic(@DesktopDir & "\Account Manager\Add.jpg", 345, 8, 56, 21)
GUICtrlSetOnEvent($Add_Account, "_Add_Account")
$Einstellungen = GUICtrlCreatePic(@DesktopDir & "\Account Manager\Einstellungen.jpg", 567, 3, 30, 30)
GUICtrlSetOnEvent($Einstellungen, "_Einstellungen")
$AccountList = GUICtrlCreateListView("ID|Passwort|E-Mail|Geheimfrage|Geheimantwort", 0, 135, 600, 280, -1)
GUICtrlCreateListViewItem("testid|testpasswort|testemail|testgeheimfrage|testgeheimantwort", $AccountList)
_GUICtrlListView_SetColumnWidth($AccountList, 0, 110)
_GUICtrlListView_SetColumnWidth($AccountList, 1, 110)
_GUICtrlListView_SetColumnWidth($AccountList, 2, 125)
_GUICtrlListView_SetColumnWidth($AccountList, 3, 125)
_GUICtrlListView_SetColumnWidth($AccountList, 4, 125)
_GUICtrlListView_RegisterSortCallBack(GUICtrlGetHandle($AccountList))
;$Head_Pic = GUICtrlCreatePic(@DesktopDir & "\Grau.jpg", 0, 0, 580, 35, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) ;Wenn BK Colour aktiv = unnötigGUICtrlCreateCheckbox("", 16, 53, 17, 17) ;Add E-Mail
[/autoit] [autoit][/autoit] [autoit]
$EMail_Label = GUICtrlCreateLabel("E-Mail Adresse", 40, 55, 78, 17)
$EMail_Input = GUICtrlCreateInput("", 120, 53, 201, 21)
GUICtrlCreateCheckbox("", 16, 81, 17, 17) ;Add Geheimfrage
$Geheimfrage_Label = GUICtrlCreateLabel("Geheimfrage", 40, 83, 64, 17)
$Geheimfrage_Input = GUICtrlCreateInput("", 120, 80, 201, 21)
GUICtrlCreateCheckbox("", 16, 109, 17, 17) ;Add Geheimantwort
$Geheimantwort_Label = GUICtrlCreateLabel("Geheimantwort", 40, 109, 75, 17)
$Geheimantwort_Input = GUICtrlCreateInput("", 120, 107, 201, 21)
GUISetState(@SW_HIDE, $Account_Manager2)
#ce
While 1
Sleep(250)
WEndFunc _Account_ManagerClose()
[/autoit] [autoit][/autoit] [autoit]
ConsoleWrite("KeyGen Close" & @CRLF)
Exit
EndFuncFunc _Account_ManagerMinimize()
[/autoit] [autoit][/autoit] [autoit]
EndFuncFunc _Account_ManagerMaximize()
[/autoit] [autoit][/autoit] [autoit]
EndFuncFunc _Account_ManagerRestore()
[/autoit] [autoit][/autoit] [autoit]
EndFuncFunc _Add_Account()
[/autoit] [autoit][/autoit] [autoit]
$Datei = FileOpen("3hD29sWpOe9mNd7.kgj", 1)
$String = GUICtrlRead($ID_Input) & ":" & GUICtrlRead($Passwort_Input) ;& ":" & GUICtrlRead($EMail_Input) & ":" & GUICtrlRead($Geheimfrage_Input) & ":" & GUICtrlRead($Geheimantwort_Input)$Text = _StringEncrypt(1, $String, "y#h0O", 3)
[/autoit] [autoit][/autoit] [autoit]If $Datei = -1 Then
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Account Manager - Fehler", "Fehler: Account hinzufügung ist fehlgeschlagen")
EndIfFileWrite(@ScriptDir & "\3hD29sWpOe9mNd7.kgj", $Text & @CRLF)
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Account Manager - Erfolgreich", "Erfolgreich: Account wurde erfolgreich hinzugefügt")FileClose($Datei)
[/autoit] [autoit][/autoit] [autoit]
EndFuncFunc _Einstellungen()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(1, "Einstellungen", "Jetzt müssten sich die Einstellungen öffnen...")
EndFuncFunc _Check_AddOptions()
[/autoit]
If GUICtrlRead($AddOptions) = 1 Then
GUISetState(@SW_HIDE, $Account_Manager)
GUISetState(@SW_SHOW, $Account_Manager2)
msgbox(1,"Mit Optionen","anscheinend gings net")
ElseIf GUICtrlRead($AddOptions) = 4 Then
GUISetState(@SW_SHOW, $Account_Manager)
GUISetState(@SW_HIDE, $Account_Manager2)
msgbox(1,"Ohne Optionen","anscheinend gings net")
EndIf
EndFunc -
Schonmal die Suche hier benutzt? Was GUI Schliessen und öffnen angeht hab ich vorige Woche ein beispiel hier gepostet und die Hilfe die du dir in Deutsch auf der Linken Seite runterladen kannst hilft auch gut weiter.
Aber was du für deine Textdatei brauchst ist:
_FileReadToArray
Dann haste ein Array diesen kannste in einer Schleife mit _GUICtrlListView_AddArray dein Listview befüllen.Beispeiel dazu und mehr findest du in der Hilfe
Gruss DevFly
-
Ich empfehle dir alle GUIs am Anfang zu erstellen, und bei Bedarf per GUISetState sichtbar/unsichtbar zu schalten. Das ist wesentlich übersichtlicher und sauberer als Controls zu verschieben oder die GUIs während der Laufzeit zu löschen und neu zu erstellen.
-
Da könntest du auch wieder deine alte ListView löschen und die Checkboxen löschen und einfach eine neue ListView und eine neue Checkbox erstellen.
Entweder du löscht es oder du nimmst GUISetState(@SW_HIDE) und benutzt bei der nächsten GUI dann GUISetState(@SW_SHOW)
Naja, gibt bestimmt noch andere Wege, aber ich mache es immer so und hauptsache es funktioniert.
-
DevFly, das löschen/öffnen wollte ich umgehen, wollte entweder ändern oder öffnen/verstecken und zu dem filereadtoarray, schau ich mir gleich ma an, poste dann mein ergebnis
name22, Ja, mach ich auch sonst in scipts, aber wie setz ich das um? so wies bei mir ist, gehts nicht.. -
Zitat
name22, Ja, mach ich auch sonst in scipts, aber wie setz ich das um? so wies bei mir ist, gehts nicht..
Wie meinst du das? Gehen würde das schon. Wo liegt dabei dein Problem? -
oben hab ich mein script gepostet, und wies da ist, wie ichs als logisch sehe, gehts nicht, hab einfach hide das, show dies, aber so passiert nichts...
-
Vielt weil sich bei dir die zweite GUI sofort wieder schließt, weil du kein
[autoit]While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEndbei der zweiten GUI verwendet hast? Ansonsten stell mal dein Script rein.
-
Koda kennste oder? Darin deine GUI zusammen puzzeln bis es Final ist und dann das ganze mit funktionen versehen. Koda ist in Scite4AutoIt mit drin kannste in Scite mit ALT+M aufrufen.
@White er nutzt GuiOnEvent und eine endlos schleife hat er drin.
Gruss DevFly
-
Ich kenne Koda Form Designer? Was hat das nun damit zu tun?
Ich baue mir damit immer die Form, etc. und den Rest bearbeite ich ohne Koda Form Designer.
-
Zitat
@White er nutzt GuiOnEvent und eine endlos schleife hat er drin.
Abgesehen davon, sind 2 Endlosschlieifen ohne ExitLoop nacheinander angeordnet bei einem linearen Programmverlauf absolut hirnrissig.
Das sag ich jetzt bestimmt zum 20ten Mal... -
@White das mit Koda war für Zatto bestimmt.
Und der Fehler den er gemacht hat wenn er eine GUI öffnen und wieder schliessen will sollte es auch eine zweite GUI geben in sein beispiel gibt es nur eine aktive GUI.
Gruss DevFly
-
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$gui1 = GUICreate("GUI-1", 259, 46)
[/autoit] [autoit][/autoit] [autoit]
$Button1_1 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button2_1 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
$Button3_1 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)$gui2 = GUICreate("GUI-2", 259, 46)
[/autoit] [autoit][/autoit] [autoit]
$Button1_2 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
$Button2_2 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button3_2 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
GUISetState(@SW_HIDE)$gui3 = GUICreate("GUI-3", 259, 46)
[/autoit] [autoit][/autoit] [autoit]
$Button1_3 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
$Button2_3 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
$Button3_3 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetState(@SW_HIDE)While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button2_1
GUISetState(@SW_HIDE, $gui1)
GUISetState(@SW_SHOW, $gui2)
Case $Button3_1
GUISetState(@SW_HIDE, $gui1)
GUISetState(@SW_SHOW, $gui3)
Case $Button1_2
GUISetState(@SW_HIDE, $gui2)
GUISetState(@SW_SHOW, $gui1)
Case $Button3_2
GUISetState(@SW_HIDE, $gui2)
GUISetState(@SW_SHOW, $gui3)
Case $Button1_3
GUISetState(@SW_HIDE, $gui3)
GUISetState(@SW_SHOW, $gui1)
Case $Button2_3
GUISetState(@SW_HIDE, $gui3)
GUISetState(@SW_SHOW, $gui2)
EndSwitch
WEndSpoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]$gui1 = GUICreate("GUI-1", 259, 46)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
$Button1 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button2 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_show2")
$Button3 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_show3")
GUISetState(@SW_SHOW)$gui2 = GUICreate("GUI-2", 259, 46)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
$Button1 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_show1")
$Button2 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button3 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_show3")
GUISetState(@SW_HIDE)$gui3 = GUICreate("GUI-3", 259, 46)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
$Button1 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_show1")
$Button2 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_show2")
$Button3 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetState(@SW_HIDE)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _show1()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_HIDE, $gui2)
GUISetState(@SW_HIDE, $gui3)
GUISetState(@SW_SHOW, $gui1)
EndFunc ;==>_show1Func _show2()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_HIDE, $gui1)
GUISetState(@SW_HIDE, $gui3)
GUISetState(@SW_SHOW, $gui2)
EndFunc ;==>_show2Func _show3()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_HIDE, $gui1)
GUISetState(@SW_HIDE, $gui2)
GUISetState(@SW_SHOW, $gui3)
EndFunc ;==>_show3Func _exit()
[/autoit]
Exit
EndFunc ;==>_exit -
Ja, habe extra mit #cs/#ce gekennzeichnet was die 2. gui ist,
Koda kenne ich, damit ist auch das Script gesigned
das mit den 2 endlosschleifen, kansnte mir sagen wo das ist? verstehs net so ganzdanke soweit für die vielen antworten
-
Zitat
das mit den 2 endlosschleifen, kansnte mir sagen wo das ist? verstehs net so ganz
Das war auf Whites Beitrag bezogen. i2c hat dir schon die perfekte Lösung gepostet. -
Ja, das ist per Button, da ist ja kein IF drinne, ich hab das was er in der Button-Funktion hat, in einer Checkbox Funktion
BUTTONSpoiler anzeigen
[autoit]Func _show1() GUISetState(@SW_HIDE, $gui2) GUISetState(@SW_HIDE, $gui3) GUISetState(@SW_SHOW, $gui1) EndFunc ;==>_show1
[/autoit]
CHECKBOXSpoiler anzeigen
[autoit]Func _Check_AddOptions()
[/autoit]
If GUICtrlRead($AddOptions) = 1 Then
GUISetState(@SW_HIDE, $Account_Manager)
GUISetState(@SW_SHOW, $Account_Manager2)
msgbox(1,"Mit Optionen","anscheinend gings net")
ElseIf GUICtrlRead($AddOptions) = 4 Then
GUISetState(@SW_SHOW, $Account_Manager)
GUISetState(@SW_HIDE, $Account_Manager2)
msgbox(1,"Ohne Optionen","anscheinend gings net")
EndIf
EndFuncDas Versteh ich ja nicht...
MFG -
Probier mal den Code
[autoit]Func _Check_AddOptions()
[/autoit]
If GUICtrlRead($AddOptions) = 4 Then
GUISetState(@SW_HIDE, $Account_Manager)
GUISetState(@SW_SHOW, $Account_Manager2)
msgbox(1,"Mit Optionen","anscheinend gings net")
ElseIf GUICtrlRead($AddOptions) = 1 Then
GUISetState(@SW_SHOW, $Account_Manager)
GUISetState(@SW_HIDE, $Account_Manager2)
msgbox(1,"Ohne Optionen","anscheinend gings net")
EndIf
EndFunc -
ok, so gehts DANKE
jetzt ist noch das mit dem verschlüsseln, in eine Datei schreiben, auslesen und in ein ListView schreiben + auslesen und in ein ListView schreiben beim start,
gibt es beim Umsetzen noch andere/bessere möglichkeiten als _FileReadToArray -