Beiträge von Bitnugger

    _WM_COMMAND

    Bei jedem Case fragst du mit _WinAPI_HiWord($wParam) = 0x200... ($iCode) warum nicht vorher einmalig abfragen und den Switch nur ausführen, wenn $iCode = 0x200?

    Wenn du beim Erstellen der hier zu überprüfenden Inputs noch den Style $ES_NUMBER hinzufügst, kannst du dir das ganze Gedöns mit Number und RegEx sparen.


    Entferne doch bitte noch den Filter für den Port, denn letztlich sollte der User entscheiden dürfen, welche Ports er verwenden will - ich will z.B. welche aus dem Bereich 50000-65000 nehmen, möglich sollten aber alle sein, also Port 0-65535.


    Wenn ich das bei jedem User individuell mache, dann muss ich die Checkbox für das Anzeigen der User im Kontextmenü entfernen, weil das ja keinen Sinn macht.

    Ja, genau, das war der Plan...



    Ab jetzt wird richtig versioniert (gibts das Wort überhaupt?), das Schema das ich nutze ist: x.y.z

    Ja, gibt es... und hey... gib's zu... x.y.z... du hast bei mir abgekupfert... denn ich mache es genau so! 8o


    Das "u" ist schon da, es wird nur abgeschnitten (Feldlänge zu kurz !?)

    GUICtrlCreateCheckbox("Enable Active Transfer Mode in context menu", 184, 136, 225, 17), _

    ( Bitnugger : wahrscheinlich meintest Du das auch so )

    Ja, habe mir den Quellcode noch nicht angeschaut, es aber so vermutet.


    Ich habe das Hauptprogramm spaßeshalber mal auf einem alten Zweitmonitor laufen lassen (1280 x 1024) - da wird dann noch einiges mehr abgeschnitten (auch in anderen Fenstern). Stellt sich allerdings die Frage, ob Monitore mit dieser geringen Auflösung berücksichtigt werden sollten.

    Ich arbeite seit 07.2017 an einem Projekt, bei dem ich mit verschiedenen Auflösungen (1280 x 720 bis 1920 × 1200) hantiere, bei kleineren Auflösungen wird die Anwendung mit einer Fehlermeldung beendet, weil es sonst zu Anzeigeproblemen kommt, bzw. die Schrift so klein wäre, dass sie nicht mal ein Adler lesen könnte. Welche Auflösungen unterstützt werden sollten, ist aber wohl hauptsächlich abhängig von der Anwendung bzw. liegt im Ermessen des Programmierers.

    Habe soeben die neue Version getestet und hier sind mir auch wieder ein paar Dinge aufgefallen...


    Connection/Port:

    - Lösche ich den Inhalt des Inputfeldes mit der Backspace-Taste, wird automatisch wieder der vorherige, gespeicherte Wert eingetragen. Das ist definitiv falsch/unerwünscht, denn ich will ja einen anderen Port eintragen!

    - Für die Angabe des Ports werden in dem Inputfeld nur 4 Ziffern akzeptiert - es müssen aber 5 Ziffern sein (0-65535)! (Bei mir hatte ich in der Beta 60201 als Port eingestellt)


    Linke Seite bei PassIt2 -Settings:

    - Hier würde ich die Reihenfolge ändern: General (macht man immer zuerst!), dann Connection, User, Storage, Apperance, Help und About & Updates.


    Firewall:

    Es erscheint eine Meldung, dass die Firewallregeln geändert werden müssen und der User den nächsten Prompt mit Ja bestätigen soll, damit diese geändert werden können... dieser Promt erscheint allerdings nur, wenn die UAC aktiviert ist - ist dies nicht der Fall, ist die Meldung sehr verwirrend, da der Prompt dann nicht erscheint.


    General:

    - Add users to context menu entry "Send to" - das würde ich noch bei Users als zusätzliche Spalte einbauen, denn dann kann man für jeden User separat entscheiden, ob er im Send to Menu angezeigt werden soll.

    - Enable Active Transfer Mode in context men - hier fehlt das u hinter men


    Nicht gestestet, aber ich vermute mal stark, das du beim Empfang von Dateien die Länge des Zielpfades nicht überprüfst, denn der darf normalerweise ja nicht länger als 259 Zeichen sein. ;-)


    Für deine nächsten Projekte... du solltest die Versionsnummer der Beta nicht gleich der finalen Version machen.

    Die Funktionen ts_start() / ts_stop() ergeben für mich keinen Sinn - du erzeugst dort eine GUI, sendest "{f9}" bzw. "{f8}" an diese, und killst sie dann aber sofort... was soll das Send bewirken?


    GUICreate liefert bei Erfolg übrigens ein Handle und keine ID, richtig wäre also:

    Local $h2 = GUICreate("", 298, 91)


    Und das WinActivate($id2) / WinActivate($id1) kannst du dir auch sparen, denn nach dem Erstellen sind die eh aktiv.


    Habe auch mal eben ein dirty Testscript geschrieben... und das funktioniert.

    Local $CopySuccess
    $CopySuccess = DirCopy(($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE)
    $CopySuccess = $CopySuccess + DirCopy(($source & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), ($dest & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), $FC_OVERWRITE)

    Das kannst du auch so schreiben:

    Code
    1. Local $CopySuccess = DirCopy(($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE)
    2. $CopySuccess += DirCopy(($source & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), ($dest & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), $FC_OVERWRITE)

    Oder so:

    Code
    1. Local $CopySuccess _
    2.     = DirCopy(($source & $jjjjdown & "\" & $prodown & "\Berechnungen"), ($dest & $jjjjdown & "\" & $prodown & "\Berechnungen"), $FC_OVERWRITE) _
    3.     + DirCopy(($source & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), ($dest & $jjjjdown & "\" & $prodown & "\Katasterunterlagen\Risse"), $FC_OVERWRITE)

    Wenn der Teil ab www als Inline-Code eingefügt wird, fügt der Foreneditor kein http:// hinzu... etwa so:

    Um einen Benutzernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. [tt]http://myuser:mypassword@www.somesite.com[/tt]


    Das sieht dann so aus:

    Um einen Benutzernamen und Passwort zum Verbinden zu benutzen, schreibt man einfach "Username:Passwort@" vor den Servernamen, z.B. http://myuser:mypassword@www.somesite.com

    Hier mal eine Liste im Steno-Format an Dingen, die mir aufgefallen sind...

    weil irgendwann ist es ja total langsam wegen über 10.000 Zeilen

    Die Anzahl der Zeilen spielt natürlich auch eine Rolle... aber viel wichtiger ist die Anzahl der Zeichen im Script!


    Mein aktuelles Projekt hat etwa 450000 Zeichen in 8100 Zeilen... und es läuft immer noch sehr schnell/gut. Im Editor (SciTE) macht sich das allerdings schon negativ bemerkbar. Um dem entgegen zu wirken, können geprüfte Funktionen in Gruppen zusammengefasst und dann als Include geladen werden, z.B. alle WM_*-Funktionen --> #include <_WM.au3>.

    Es gibt einen Bug bei folgendem Szenario, bei dem eine Funktion von einer anderen umschlossen werden soll.

    Ich würde das jetzt nicht unbedingt als Bug bezeichnen... und das kannst du wie folgt umgehen...


    Du hast dies hier stehen...

    Local $sString2 = Int($sString) + 5

    ...und schreibst nun vor dem Int Str... dann wird dir in der Dropdownliste das String angeboten, welches du dann mit Enter übernehmen kannst. Dann drückst du die Tasten Shift+Ende, um den Text hinter String zu markieren, und kannst die Selektion dann mit ( in Klammern setzen, denn die schließende Klammer wird dann automatisch an das Ende der Selektion eingefügt.

    Inspiriert durch das SciTE_Interface von BugFix , dass ich um einige Funktionen erweitert und auch an vielen Stellen geändert habe, bin ich auf die Idee gekommen, mir ein Tool zu schreiben, dass mir in allen Scite-Instanzen den Funktionsnamen (mit oder ohne Parameter) in der SciTE-Toolbar anzeigt, wenn sich das Caret in einer Func/EndFunc-Zeile oder dazwischen befindet, denn mich hat es schon immer sehr genervt, dass ich bei sehr langen Funktionen nirgends sehen konnte, in welcher Funktion ich mich gerade befinde und welche Parameter sie hat.


    In der erstes Version habe ich es mit einem Label (Alpha, einfach zu händeln, aber der Text ist nur einfarbig) gemacht, in der zweiten mit RichEdit (Beta), wo jedes Zeichen eine beliebige Farbe und auch Schriftart/-stil haben kann, die aber schwerer zu händlen ist. Ich habe euch beide Versionen (mit dem RexEx-Pattern von chesstiger , dass schon sehr gut funktioniert) inkl. nötiger Includes in den Anhang gelegt, damit ihr euch ein Bild davon machen könnt.


    Da ich in der SciTE-Toolbar nur den Funktionsnamen inkl. Parameter sehen will, brauche ich ein RegEx-Pattern, dass mir den nachfolgenden Teil ausfiltert, der nicht mehr zur Funktion gehört.


    Nimm doch direkt \s* das matcht 0...unendlich und catcht nicht.

    Ja, hatte ich in meiner ersten Version auch so gemacht... jetzt würde ich natürlich \h* nehmen... aber du kennst das sicher auch, wenn du dich stundenlang im Kreis drehst, siehst du nachher den Wald vor lauter Bäumen nicht...


    Oha, sieht ja echt mega aus... aber wärst du bitte so lieb und würdest mir das nach AutoIt portieren... bekomme es einfach nicht hin, dass es dann auch funktioniert. 8|


    Hallo liebe Leute,


    ich reiße mir nun schon seit Stunden ein Bein aus, bekomme es aber nicht hin, einen Funktionsname inkl. Parameter mit RegEx so zu filtern, dass es in allen Fällen passt.


    Hier das Ergebnis meiner bisherigen Versuche...

    Das Ergebnis sollte aber so aussehen...

    Wer noch einen drauf legen will, fügt anstelle Opt('MustDeclareVars', 1) folgende Zeile ein:

    #AutoIt3Wrapper_AU3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w- 7