Denk mal über Deine Includes nach.
Der Fehler steht doch auch in der Fehlermeldung drin...
...zu langsam... name22 war schneller
Denk mal über Deine Includes nach.
Der Fehler steht doch auch in der Fehlermeldung drin...
...zu langsam... name22 war schneller
Hallo zusammen,
ich seh den Wald vor Bäumen nicht...
Bei beiden Menü-Punkten kommt die gleiche MsgBox...
$WinSettings = GUICreate("Settings" & " (Version " & $version & ")", 900, 710, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX), Default, $WinMain)
GUISetBkColor(0x182424) ;~ set background color
$icon = GUISetIcon(@ScriptDir & '\Images\EB.ico')
; Create Help menu
$hMenu = _GUICtrlMenu_CreateMenu ()
_GUICtrlMenu_InsertMenuItem ($hMenu, 0, "&About", $hAbout)
_GUICtrlMenu_InsertMenuItem($hMenu, 1, "", 0)
_GUICtrlMenu_InsertMenuItem ($hMenu, 2, "&Help", $hHelp)
; Create Main menu
$hMain = _GUICtrlMenu_CreateMenu()
_GUICtrlMenu_InsertMenuItem($hMain, 0, "&Menue", 0, $hMenu)
_GUICtrlMenu_SetMenu($WinSettings, $hMain)
[/autoit] [autoit][/autoit] [autoit]GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
GUISetState() ; ====> show window
dann die Func noch dazu:
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
Switch _WinAPI_LoWord ($iwParam)
Case $hAbout
MsgBox(0,"Test", "About geklickt")
Case $hHelp
MsgBox(0,"Test", "Help geklickt")
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND
Kann mich da mal einer aufs Pferd setzen bitte???
Unter XP ist es der gleiche Pfad zu den Farben.
Da hat sich also nix geändert.
Gruß
Pitter
Moin moin...
Hab hier eine Func geschrieben, die im Vorfeld der eigentlichen GUI abläuft und den User 2 Entscheidungen abverlangen soll.
Bedingungen:
Es gibt 2 Textfiles, die Voreinstellungen enthält.
1. Preconditions.txt
2. Environments.txt
Die Reporter.txt wird in jedem Fall ausgelesen oder bei der nächsten Sicherung geschrieben. Diese bleibt daher aussen vor...
Wenn der User bestimmte Bedingungen nicht mehr hat - es geht hier um Software, die getestet wird - muss er die Datei(n) möglicherweise verwerfen und neue erstellen. Diese werden dann in einer 2. Func neu ausgewählt und natürlich dann auch in die o.g. Dateien gesichert, um beim nächsten Testlauf dann wieder verwendet werden zu können.
Das Script läuft fehlerfrei, ich finde diese Lösung aber nicht so ideal...
Habt Ihr vielleicht einen Gedankenanreger???
; #FUNCTION# ====================================================================================================================
; Name...........: Start
; Description ...: Prestart without GUI
; Author ........: ****************************
; Remarks .......:
; ===============================================================================================================================
Func Start()
;==========================================================
;====== call func ebiniread to readout ini ================
;==========================================================
;### Call func EbiniRead() to read out conditions to start the application
EbiniRead()
[/autoit] [autoit][/autoit] [autoit];### lookup for files to read out Preconditions and Environments
If FileExists(@ScriptDir & "\Settings\" & $box2 & ".txt") And FileExists(@ScriptDir & "\Settings\" & $box5 & ".txt") Then
;### If both files are stored in Settings folder, show Messagebox to ask for take or destroy Preconditions.
Local $pretest = MsgBox(36, "Preconditions", "To use saved preconditions from file " & @CRLF & "Press YES" & @CRLF & @CRLF & "To set new preconditions" & @CRLF & "press NO")
If $pretest = 7 Then
FileDelete(@ScriptDir & '\Settings\' & $box2 & '.txt')
Local $pretest1 = MsgBox(36, "Environments", "To use saved environments from file " & @CRLF & "Press YES" & @CRLF & @CRLF & "To set new environments" & @CRLF & "press NO")
If $pretest1 = 7 Then
FileDelete(@ScriptDir & '\Settings\' & $box5 & '.txt')
$environments = "0"
$read3 = FileRead(@ScriptDir & '\Settings\Reporter.txt')
FileClose($read3)
;### If Environments have been destroyed by user, call func settings()
Settings()
Else
;### If old environments have to be used, call func Recover() to read out the old >
;### > environments and put them line for line into the 2nd textbox in $EditText2 in Main()
Recover()
EndIf
;### Read out Reporter.txt... this textfile includes the name, phone number and mail of the reporter >
;### > These informations have to be placed into the buildt $filename
If FileExists(@ScriptDir & '\Settings\Reporter.txt') Then
$read3 = FileRead(@ScriptDir & '\Settings\Reporter.txt')
FileClose($read3)
EndIf
;### call Func Settings()
Settings()
EndIf
;### Call _Main() if both textfiles are given and user wishes to take old files.
Main()
Else
;### First read Reporter.txt. Then call _Settings() to set preconditions and Environments, >
;### > if no earlier files are saved. >
;### > This window is shown every time the precondition.txt and >
;### > environment.txt is missing.
If FileExists(@ScriptDir & '\Settings\Reporter.txt') Then
$read3 = FileRead(@ScriptDir & '\Settings\Reporter.txt')
FileClose($read3)
EndIf
Settings()
EndIf
EndFunc ;==>Start
Für Ideen bin ich immer offen...
Gruß
Pitter
Wie schon in der Shoutbox geschrieben...
Vorgaben:
SCiTE-Version:
Version 2.28
AutoIt-Version:
3.3.8.1
ContinuousComment.LFpos.*.au3=170
ContinuousComment.Chars.*.au3=;
ContinuousComment.BreakCharsLast.*.au3=˜ ˜ ›
ContinuousComment.BreakCharsNext.*.au3=›
# 36 Comment Continuous
command.name.36.*=Kommentarmodus aktivieren
command.36.*=CommentModeActivate
command.mode.36.*=subsystem:lua,savebefore:no
command.shortcut.36.*=Ctrl+Shift+K
Der Mauszeiger ist aktiv (Hand), die aktive Zeile wird als Komment richtig markiert.
Ein Wechsel der Zeile mittels Pfeil-down wird durchgeführt, aber in der Zeile wird dann kein Kommentar-Zeichen eingesetzt.
Bei weiteren Pfeildown Events wird auch nciht ans Ende der jeweiligen Zeile gesprungen.
Das sind meine Beobachtungen dazu.
Wie schon geschrieben... bin gerne bereit hier noch mehr Ursachenforschung zu betreiben...
Gruß
Pitter
Ja ok... mein Fehler mit dem Editieren vor der Endmarkierung...
Hab nur Deine Comments entfernt und ansonsten Deine Vorgaben übernommen.
Komischerweise hat das mit der Vorversion von Gestern so weit funktioniert, wobei ich den Zeilenumbruch nciht probiert hatte.
Jedenfalls kann ich den Kommentarmodus nicht per Shortcut ein/ausstellen.
Der Mauszeiger wird über das manuelle Aktivieren über den Reiter Tools geändert, die gerade markierte Zeile wird auch mit dem ";" als Edit gekennzeichnet, aber mit den Pfeiltasten kann ich nciht mehr die nchste Zeile als Kommentar markieren....
Hmmm... Hatte sehr gut funktioniert, bis ich die Änderungen eingearbeitet hatte.
Leider funktioniert jetzt Strg+Shift+K nicht mehr, in Tools ist zwar der eintrag, aber nicht die Tastenkombination.
Ausserdem kann ich jetzt immer nur eine einige Zeile kommentieren, wenn ich in Tools auf "Kommentarmodus aktivieren" klicke.
Hab auch die neue neue LUA(4) rüber kopiert...
Meine .properties sieht jetzt folgendermassen aus:
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# START: DO NOT CHANGE ANYTHING AFTER THIS LINE #-#-#-#-#
# Created by SciTEConfig
#------------------------------------------------------------
font.base=font:Verdana,size:10,$(font.override)
font.monospace=font:Courier New,size:10
proper.case=0
check.updates.scite4autoit3=0
use.tabs=1
indent.size=4
indent.size.*.au3=4
tabsize=4
#Background
style.au3.32=style.*.32=$(font.base)
#CaretLineBackground
caret.line.back=#FFFED8
#Selection Foreground/background and Alpha
selection.fore=#006000
selection.alpha=50
selection.back=#F0A0A8
# Brace highlight
style.au3.34=fore:#0000FF
# Brace incomplete highlight
style.au3.35=fore:#008000,italics
#White space
style.au3.0=fore:#000000,back:#FFFFFF
#Comment line
style.au3.1=fore:#008000,italics,back:#FFFFFF
#Comment block
style.au3.2=fore:#008000,italics,back:#FFFFFF
#Number
style.au3.3=fore:#0000FF,back:#FFFFFF
#Function
style.au3.4=fore:#000090,italics,bold,back:#FFFFFF
#Keyword
style.au3.5=fore:#0000FF,back:#FFFFFF
#Macro
style.au3.6=fore:#808000,back:#FFFFFF
#String
style.au3.7=fore:#FF0000,back:#FFFFFF
#Operator
style.au3.8=fore:#FF8000,back:#FFFFFF
#Variable
style.au3.9=fore:#00557D,bold,back:#FFFFFF
#Sent keys
style.au3.10=fore:#808080,back:#FFFFFF
#Pre-Processor
style.au3.11=fore:#808000,back:#FFFFFF
#Special
style.au3.12=fore:#DC143C,back:#FFFFFF
#Abbrev-Expand
style.au3.13=fore:#000000,back:#FFFFFF
#Com Objects
style.au3.14=fore:#993399,back:#FFFFFF
#Standard UDF's
style.au3.15=fore:#0080FF,back:#FFFFFF
ContinuousComment.LFpos.*.au3=170
ContinuousComment.Chars.*.au3=;
ContinuousComment.BreakCharsLast.*.au3=˜ ˜ ›
ContinuousComment.BreakCharsNext.*.au3=›
# 36 Comment Continuous
command.name.36.*=Kommentarmodus aktivieren
command.36.*=CommentModeActivate
command.mode.36.*=subsystem:lua,savebefore:no
command.shortcut.36.*=Ctrl+Shift+K
# END => DO NOT CHANGE ANYTHING BEFORE THIS LINE #-#-#-#-#-#
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
Hab ich was übersehen?
Gruß
Pitter
Hmmm...
Vielleicht hab ich das falsch erläutert...
Problem ist, dass wenn 2 bestimmte Dateien nicht da sind, wird erst das Child-Fenster geöffnet.
Sind da alle Einträge gesetzt, soll das Child geschlossen werden und das Main-Fenster geöffnet werden.
Zusätzlich kann ich aus dem Main-Fenster die Einstellungen löschen (...und die Dateien löschen, die im Child angelegt wurden). Mit diesem Lösch-Button soll dann das Child wieder aufgerufen werden, wo ich dann wieder neue Einstellungen abspeichern kann.
Wenn ich Dein Beispiel richtig interpretiere, dann kann ich nur das Childfenster schliessen. schliesse ich das Main, geht alles aus.... und genau da liegt mein Problem.
Gruß
Pitter
Danke!!!
Mal sehen, ob ich da einen Kopf dran kriege....
Gruß
Pitter
Kannst du das bitte einem DAU wie mir erklären?
Gruß
Pitter
Hallo zusammen,
folgendes Problem:
Ich starte mein Script mit:
_Start()
Func _Start()
_ebiniread()
If FileExists(@ScriptDir & "\Settings\" & $box2 & ".txt") And FileExists(@ScriptDir & "\Settings\" & $box5 & ".txt") Then
;===============================================================
;===============================================================
#cs
Call _Main() if both textfiles are given
#CE
_Main()
Else
;===============================================================
;===============================================================
#cs
First call _Settings() to set preconditions and Environments,
if no further files are saved.
This window is shown every time the precondition.txt and
environment.txt is missing.
#CE
_Settings()
EndIf
EndFunc ;==>_Start
Die Func _Main() erstellt dann ein Fenster:
Func _Main()
;==============================================================
;===== Settings Window ========================================
;==============================================================
$WinMain = GUICreate($progname, 1200, 800, -1, -1)
GUISetBkColor(0x182424) ;~ set background color
$icon = GUISetIcon(@ScriptDir & '\Images\EB.ico')
...und die Func _Settings() sieht dann so aus:
Func _Settings()
;===============================================================
;===============================================================
;===== Toolwindow to create Preconditions and Environments
;==============================================================
;===== Settings Window ========================================
;==============================================================
$WinSettings = GUICreate("Settings", 1200, 800, -1, -1)
GUISetBkColor(0x182424) ;~ set background color
$icon = GUISetIcon(@ScriptDir & '\Images\EB.ico')
Wie kann ich nun aus meiner _Settings() heraus das Fenster $WinSettings schliessen und dann zu meiner _Main() zurückkehren?
Mit folgendem Scriptteil:
[autoit]
Case $ExitButton1 ;=====> return to Main
WinClose("Settings", "")
_Main()
wird das Fenster $WinSettings nicht geschlossen, sondern bleibt unten stehen, bis ich die Anwendung schliesse.
Das gleiche Problem habe ich andersrum auch...
Wie kriege ich die einzelnen Fenster geschlossen, dass immer nur ein einziges Fenster offen ist?
Please help...
Gruß
Pitter
Hab den Fehler gefunden...
Problem war in der Func in der ich das PNG einlese.
Da fehlte mir der _redraw und _WinAPI_RedrawWindow($WinMain)
Jetzt nur noch eine Frage...
Wenn ich das Fenster aus dem Bildschirm raus schíebe, gehen alle Buttons, Editboxen usw "verloren".
Ich muss das Fenster dann erst minimieren und wieder hoch holen, dass alles neu gezeichnet wird.
Habt Ihr eine Idee, wie ich das noch hin bekommen könnte, dass das manuelle rausschieben des Fensters nicht zum Zerstören der Oberfläche führt?
Hmmm... also versuche ich das noch mal zu erklären:
Was passiert?
Meine GUI ist nicht mehr Anthrazit, sondern als Hintergrund meiner GUI habe ich nun einen Screenshot des Editors. :wacko:
Stimmt...
C&P-Fehler, sorry ... hat aber meines Erachtens jetzt nix mit dem Problem an sich zu tun, oder?
[autoit]
$WinMain = GUICreate($progname, 1200, 800, -1, -1)
GUISetBkColor(0x232A30) ;~ set background color
Der Fehler bleibt der Gleiche...
Gruß
Pitter
Moinsen...
Folgendes Problem:
Hab hier eine GUI erstellt mit:
Func _Main()
;==========================================================
;====== call func ebiniread to readout ini ================
;==========================================================
_ebiniread()
;==========================================================
;====== set gui ===========================================
;==========================================================
$WinMain = GUICreate($progname, 1200, 800, -1, -1)
GUICtrlSetColor($WinMain, 0xFAFFFF)
GUICtrlSetBkColor($WinMain, 0x000000)
Mit dem erstellten Button öffne ich eine Textdatei:
[autoit][/autoit][autoit][/autoit][autoit]Case $EditButton ;===== opens editor to work with saved Textfile
$edit = ShellExecuteWait($directory & $timestamp & '\' & $filename)
While ProcessExists($edit)
WEnd
_WinAPI_RedrawWindow($WinMain)
GUIRegisterMsg($WM_ERASEBKGND, "_redraw")
GUICtrlSetColor($WinMain, 0xFAFFFF)
GUICtrlSetBkColor($WinMain, 0x000000)
Problem ist nun, dass nach dem Schliessen des Editorfensters der Hintergrund der MAIN gegen eine Ansicht des Editors.
Wichtig ist noch, dass ich auf der GUI eine PNG anzeigen lasse, die nach dem Moinimieren der GUI das PNG wieder drauf malt:
;======= Redraw func to set PNG to WinMain if programm has been minimized
Func _redraw()
_GDIPlus_GraphicsClear($hGraphic1, 0xFF232A30)
_GDIPlus_GraphicsDrawImageRect($hGraphic1, $hImage, 615, 545, 400, 240)
Return 1
EndFunc ;==>_redraw
Was hab ich da für einen Denkfehler drin?!?
Gruß
PItter
Ach SCh*****...
Mann, was bin ich blond.
Das kann ja nicht gehen, wenn ich 2x die gleiche Func aufrufe.... Hab das gerade gemerkt, als ich die Cases und Funcs hier zeigen wollte...
Mann ist das peinlich!