Ok, dann ist das natürlich keine Option und das selbst geschriebene vorzuziehen.
Und das Einzige, was ich sehe bzgl. Optimierung wären teilweise fehlende Deklarationen (Local) der Variablen.
Ok, dann ist das natürlich keine Option und das selbst geschriebene vorzuziehen.
Und das Einzige, was ich sehe bzgl. Optimierung wären teilweise fehlende Deklarationen (Local) der Variablen.
Ansonsten schau dir mal Greenshot an, kann ich wärmstens empfehlen oder musst du das danach im Tool weiter verarbeiten (z.B. autom. in ein offenes Ticket hinterlegen etc.)?
Und das ist auch kein Problem, wir helfen hier alle gerne, besonders wenn man den Eindruck hat das am anderen Ende dies auch angenommen wird. ![]()
Das ist etwas, das wirst du nicht nur hier, sondern generell beim Programmieren und vielen anderen Dingen brauchen können -> das eigentliche Problem nochmal durchgehen und analysieren ob das, wonach man gerade sucht, wirklich das ist, was man braucht ![]()
Das ist auch oft der Grund warum viele bei der Internetsuche auf die Nase fallen und dann ggf. auch hier mal den Hinweis auf einen (vermeintlich) leicht zu findenen Eintrag in der Google-Suche bekommt. Der Unterschied liegt ganz oft nur bei anderen Suchbegriffen und der Hinweis ist in der Regel nicht böse gemeint, sondern zeigt genau auf das was ich oben geschrieben habe.
Und glaub mir, selbst erfahrenen Leuten passiert das immer mal wieder. Ganz besonders wenn man 100% davon überzaugt ist nach dem Richtigen zu suchen ![]()
Ich würde es nicht mal an die Zeit knüpfen, sondern die Daten (also deine Message) innerhalb der ausführenden Funktionen aktualisieren.
Dann richtet sich die Information etc. daran, wie die einzelnen Operationen ablaufen. ABER:
Man sollte jedoch dann im einzelnen sich anschauen ob es dabei Sinnvoll ist, jeden einzelnen Step z.B. beim kopieren in der GUI neu anzuzeigen oder nur den jeweiligen Step/Funktion mit Start-Zeitstempel. Das wären aber Sachen, die der TE nur beurteilen kann entsel und du könntest das dann dynamisch in die vorhandenen Funktionen einbauen.
Zudem könntest du auch Fehler/Probleme innerhalb deiner Funktion mit visualisieren. Siehe unten nur als grobes q&d Beispiel:
_Eine_deiner_Funktionen()
Func _Eine_deiner_Funktionen()
Local $iError = 0
Tooltip('Starting _Eine_deiner_Funktionen()')
; tut irgendwas
Tooltip('50% passed from' @CRLF & '_Eine_deiner_Funktionen()')
; tut irgendwas
If $iError = 0 then
Tooltip('_Eine_deiner_Funktionen() finished without an error.', '', '', '', $TIP_NOICON, '')
Else
Tooltip('_Eine_deiner_Funktionen() finished with ' & $iError & ' errors., '', '', 'Warning!', $TIP_WARNINGICON, $TIP_FORCEVISIBLE)
sleep(10000)
EndIf
Endfunc
Alles anzeigen
Diejenigen, die sich nicht mal "herablassen" den Arbeitsplatz zu ihrer eigenen Untergebenen zu betreten bzw. nur einige Augenblicke deren Arbeit zu machen sind in der Führungsebene sowieso fehl am Platz!
Leider wahr, nur selten schwer zu ändern, wenn es ganu die sind, die sich nach Oben gut verkaufen ![]()
Und DAS geht auch an die Programmierer! Denn die zwingen den Anwendern den Arbeitsablauf auf, den sie selbst nicht (langfristig) machen würden. Daher:
MACHT EUREN JOB RICHTIG!
Bekloppterweise habe ich dazu noch eine andere Erfahrung: Man merkt z.B. als Programmierer, das es optimaler wäre, den Arbeitsablauf zu ändern und weist darauf hin und das man das entsprechend ein-/umbauen könnte aber der Mensch ist ein Gewohnheitstier = das war shcon immer so, das soll so bleiben... was soll man da noch machen.
Aber wir schweifen ab ![]()
Wenn du das Anzeigefenster so weit verkleinerst, dass die Anzeige nur auf die Titelleiste beschränkst, kannst du das "Minifenster" als TopMost deklarieren und an eine Stellle des Bildschirms ziehen, an der es nicht stört.
Das war auch mein erster Gedanke bei der Anfrage aber ggf. brauchen wir nun erst mal Feedback vom TE
Und OT: Alina : man nutzt entweder als oder wie, niemals beides zusammen (nur um dein "(wie?)" zu beantworten) ![]()
Das ist richtig ![]()
Evtl. war sein Button ja auch nur der 1. Versuch es zum Laufen zu bringen.
Win10 Anmeldung/Smartphone: Nach der Eingabe der 4.Ziffer automatisches einloggen (ohne Enter/Bestätigungstaste)
Wer sagt denn, das eine Pin immer 4 Zeichen lang ist? Die Zeiten haben wir doch gehabt, man kann doch schon lange längere Pins verwenden.
Es gibt aber jede Menge Negativbeispiele, bei der eine definierte Eingabe extra bestätigt werden muss
Leider ja, wobei ja teilweise bereits während der Eingabe eine optische Meldung erscheint (z.B. beim Setzen eines neuen Passworts), das Bedingung x/Y nicht geben ist.
Keine Ursache, generell ein kleiner Tipp: Versuch mal nicht "in der GUI" zu denken, sondern "im Code".
Was das Bedeutet: Du suchst dadurch nach dem falschen Ansatz "ein Button muss unter Bedingung X gedrückt werden", wodurch du in deiner Suche zu keinem vernünftigen Ergebnis kommst. Was du aber eigentlich willst ist "der Code/die Funktion (vom Button) muss unter Bedingung X ausgeführt werden".
Das ist ein häufiger Denkfehler (keine Sorge: nicht nur von dir), wenn man versucht eine Lösung zu finden.
Würde so auch ohne "Enter" gehen:
Opt('MustDeclareVars', 1)
#include <GUIConstantsEx.au3>
Example()
Func Example()
; Create a GUI with various controls.
Local $hGUI = GUICreate("Example", 400, 400)
Local $idOK = GUICtrlCreateButton("OK", 310, 370, 85, 25)
Local $idIT = GUICtrlCreateInput('', 5, 5)
; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)
; Loop until the user exits.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $idOK
_ButtonFunc()
EndSwitch
if StringLen(GUICtrlRead($idIT)) = 4 then _ButtonFunc()
WEnd
; Delete the previous GUI and all controls.
GUIDelete($hGUI)
EndFunc ;==>Example
Func _ButtonFunc()
Exit
EndFunc
Alles anzeigen
Dein Button führt ja eine Funktion aus, wenn er gedrückt wird.
Genauso machst du das für ein Inputfeld (der Aufruf an sich) und dort prüfst du dann auf Zeichen länge und führst dann ggf. die Funktion des Buttons aus (Achtung: bei dem Beispiel wird ein "Enter" nach der Eingabe benötigt):
Opt('MustDeclareVars', 1)
#include <GUIConstantsEx.au3>
Example()
Func Example()
; Create a GUI with various controls.
Local $hGUI = GUICreate("Example", 400, 400)
Local $idOK = GUICtrlCreateButton("OK", 310, 370, 85, 25)
Local $idIT = GUICtrlCreateInput('', 5, 5)
; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)
; Loop until the user exits.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $idOK
_ButtonFunc()
Case $idIT
_InputFunc($idIT)
EndSwitch
WEnd
; Delete the previous GUI and all controls.
GUIDelete($hGUI)
EndFunc ;==>Example
Func _InputFunc($InputID)
If StringLen(GUICtrlRead($InputID)) = 4 then _ButtonFunc()
EndFunc
Func _ButtonFunc()
Exit
EndFunc
Alles anzeigen
Jepp, mein Fehler, ich war auf die 78 fixiert.
Ich meine deswegen:
ZitatBugFix ´s Script sieht das auch so...
Das stimmt ja nicht, da dein Script bei der 78, richtigerweise die 9 ausgibt.
Hmm auch eine Sichtweise BugFix , aber dann wäre dennocch 10 falsch, da die nächst höhere 9 ist.
Und ich weiß gerade nicht, wie Andy darauf kommt, das dein Script auch auf 10 kommt, bei meinem Test sagt es auch 9. Also es so funktioniert wie erwartet, wenn man das "nächst höhere" meint und nicht nur das "nächste".
Ich sehe das anders, Alina sucht die nächst mögliche Quadratzahl zur genannten Zahl, also wie bereits von ihr erwähnt: 9
Würde man das Gleiche für 31 machen, müsste 6 raus kommen, bei 30 jedoch 25.
Um mal das Beispiel von BugFix zu nehmen und ein bisschen überarbeitet:
BugFix : Wäre es nicht besser, anstatt es in autostart zu packen, man eine art "starting exe" für autoit baut, die...
...und in das Script von dir ggf. einbaut, das wenn die pid nicht mehr existiert, auch dessen Skript beendet wird?
Dann würde das alles auch nur laufen, wenn benötigt und würde auch ggf. den Hotkey nicht benötigen.
Aber ansonsten schöne Lösung, für die, die es brauchen ![]()
Peter S. Taler Bei Browseranmeldungen, müsste das ein Zertifikat mit Anmeldedaten für die entsprechende Webseite sein. Das kann man auch per MDM verteilen (und ggf. auch wieder löschen/aktualisieren) oder halt manuell per Datei. Aber wie diese aussehen müssen, bin ich raus.
Es gibt unglaublich viele Firmen (ich könnte hier dutzende mittelständische und Großkonzerne aufführen), bei denen der Einsatz von privaten Endgeräten verboten ist.
Aber lassen wir das jetzt und bleiben bitte beim Thema.
Nur kurz dazu: Das kommt sicher auf den Kontext an.
Beispiel 1: Generelles Handyverbot, um z.B. zu verhindern das Fotos von Betriebsgeheimnissen (ggf. nur in bestimmten Bereichen) gemacht werden und somit nach außen gelangen.
Beispiel 2: BYOD -> Es werden dem privaten Gerät manuell (oder besser per Verwaltungssoftware aka MDM) Unternehmensanwendungen (die nicht im AppStore/Playstore verfügbar ist oder Unternehmenssettings braucht) und ggf. Settings aufgespielt, so dass das Gerät auch auf der Arbeit zu gewissen Sachen genutzt werden kann (Nutzung eines Firmen-Wifi ohne die Zugangsdaten zu kennen oder sichtbar machen zu können). Ggf. in Verbindung mit Geofence, das dann zusätzlich die Zugriffe steuert.
Beispiel 3: Work device -> Wie Beispiel 2, nur das hier ein fester Bereich für die Arbeit und für Privat (gesteuert über ein MDM) geschaffen wird, damit das private Gerät zum Arbeiten genutzt werden kann. Auch hier kann zus. per Geofence der Arbeitsteil noch eingeschränkt werden.
Beispiel 4: Fully managed -> Es wird ein firmeneigenes Gerät zur Verfügung gestellt, komplett verwaltet vom Betrieb, darf aber (je nach interner Richtlinie) auch privat genutzt werden. Es können aber alle Daten jederzeit eingesehen werden (daher eigtl. für priv. Nutzung nicht geeignet und nicht vorgesehen, aber um es komplett zu haben, wollte ich es mit aufführen).
bazii : Ohne darüber wirklich diskutieren zu wollen: Es kann also alles Sinn machen und heutzutage gibt es Möglichkeiten alle Fälle per MDM Software abzubilden, ganz wie man es (im Unternehmen) braucht.
Moombas, Trennzeichn ist Semikolon. In den Anführungszeichen steht dann der entsprechende Wert.
Falls ich morgen nicht gleich Antworten sollte, habe kleine OP
Generell ist mir das klar aber wenn zwischen den "" ein ; vorkommt, haut das mit stringsplit nicht hin, daher empfehle ich in diesem Fall ";" als kompletten Trenner zu nehmen, um auf Nummer sicher zu gehen.
Ok, ich bin jetzt nur von den Screenshots ausgegangen und habe oben mal einen funktionierenden Beispielcode gepostet.
Bei TAB getrennter Liste, bin ich jedoch raus, da ich damit noch nicht gearbeitet habe, sorry.
Ist das Trennzeichen Semikolon UND die Anführungszeichen (wie im Screenshot) oder nur Semikolon?
Du müsstest das dann halt in meinem Code abändern.