1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. entsel

Beiträge von entsel

  • [gelöst] "Desktop-Link" unter Win10

    • entsel
    • 1. Oktober 2018 um 15:13

    Servus

    Ich hoffe, die Frage passt hierher. Ich hab ein kleines Programm geschrieben und nun gehts um die "Installation" - unter Win7 würde ich im Programme-Ordner einen neuen Ordner anlegen, die exe dort hinein kopieren und mit RMT | senden an eine Verknüpfung auf dem Desktop erzeugen.

    Nun soll das Programm aber auf einem Win10 - Rechner laufen. Mit Win10 hatte ich aber noch nicht das "Vergnügen" ;). Der erste Versuch, das Programm dort auf diese Art zu installieren, ist fehlgeschlagen - Kacheln sind wohl keine einfachen Links/Icons wie bei Win7.

    Ziel ist es, das Programm durch Doppelklick starten zu können (ohne sich erst bis zur exe durchzuklicken).

    Könnt Ihr mir sagen, wie man das unter Win10 am Einfachsten macht?

    Danke und schöne Grüße

    entsel

  • Steuerung zurück zu GUI

    • entsel
    • 19. Mai 2018 um 20:08

    OK Leute,

    danke, dass Ihr Euch die (vergebliche) Mühe gemacht habt, mir andere Lösungen anzubieten. Aber auch daraus kann man lernen.

    Ich habe eine ähnliche Aufgabe auch anders gelöst (Func - GuiCreate ... GuiShow - EndFunc). Aber dabei hat sich halt auch die Frage ergeben - siehe oben.

    Ich gehe also mal davon aus dass es keinen Befehl, keine Funktion gibt mit der man einem bereits definierten und angezeigten GUI nochmals das "Kommando" zurückgibt. Man kann also die Fragezeichen in Zeile 32 - letztes Beispiel - nicht durch etwas ersetzen, das quasi das Programm auf Zeile 12 zurückbefiehlt.

    Ich denke, die Antwort auf meine Frage ist damit gegeben und lautet: "Nein, das geht nicht".

  • Steuerung zurück zu GUI

    • entsel
    • 17. Mai 2018 um 15:19

    Servus

    Es geht nicht darum ein GUI zu verbergen ;), sondern ihm nochmals den Focus zu geben / es nochmal aufzurufen / nochmal anzuzeigen / ihm nochmals die Programmsteuerung zu übergeben, ... (wie nennt man das?)

    C
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 218, 286, 192, 114)
    $Group1 = GUICtrlCreateGroup("Aufgabe auswählen:", 30, 20, 131, 166)
    $Radio1 = GUICtrlCreateRadio("Radio1", 50, 50, 70, 17)
    $Radio2 = GUICtrlCreateRadio("Radio2", 50, 90, 70, 17)
    $Radio3 = GUICtrlCreateRadio("Radio3", 50, 130, 70, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("Start", 30, 200, 131, 36)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    Global $test = 0
    
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Radio1
    $test = 1
    Case $Radio2
    $test = 2
    Case $Radio3
    $test = 3
    Case $Button1
    If $test = 0 Then 
    $msg = MsgBox(21, "Achtung", "Nix ausgewählt - bitte eine Aufgabe wählen")
    if $msg = 2 then Exit  ; Abbrechen gedrückt
    if $msg = 4 then ???? ;Wiederholen gedrückt - also weiter mit nochmaliger Anzeige von Form 1 ...
    EndIf
    ; anderfalls - $test > 0 - hier weiter im Programm
    EndSwitch
    WEnd
    Alles anzeigen

    Es geht nur um den Code, wo die "????" stehen.

    Oder mit Hilfe des Screenshots - was muss in Zeile 32 stehen, damit das Programm quasi in Zeile 12 weitermacht, also nochmals Form1 anzeigt?

    (Falls das überhaupt so möglich ist ???)


    reaktiviere GUI.jpg

  • Steuerung zurück zu GUI

    • entsel
    • 17. Mai 2018 um 13:15

    Hallo Zec

    Mich würde aber "die andere Abzweigung" interessieren - bleiben wir beim Beispiel:

    - ...

    - Case $Button1 ; Start gedrückt

    - der User hat nicht alles eingegeben => Fehler

    - if Fehler => die MsgBox macht ihn drauf aufmerksam

    - er klickt auf "Wiederholen" (die MsgBox schließt sich)

    - if "wiederholen geklickt" then

    ?????????????????????? => GOTO GUI - also die GUI wieder reaktivieren (Programm wartet auf Eingabe) => weiter s.u. *)

    - else ; alles eingegeben

    - weiter im Programm

    - ...

    *)

    - User ergänzt die fehlenden Eingaben (oder macht sie neu)

    - User klickt (wieder ) Start

    - jetzt alles ok - keine MsgBox

    - weiter im Programm

    die Frage ist also: was steht statt der ???????????????????

  • MsgBox - Text zentriert ausgeben?

    • entsel
    • 17. Mai 2018 um 08:48
    Zitat von Oscar

    Zentrierter Text wurde dabei nicht vorgesehen

    Das ist es, was mich eigentlich gewundert hat ...

    Danke für den Link water , werd ich mir anschauen.

  • Steuerung zurück zu GUI

    • entsel
    • 17. Mai 2018 um 08:44

    Servus miteinander

    Zec hat es in #7 am ehesten getroffen - es geht nicht um ein praktisches Problem sondern um reine Theorie - einfach nur zu Lernzwecken - und zwar um die Frage, ob man ein GUI mehrfach aufrufen/aktivieren kann.

    Die Wiederholen-Taste sollte "das Programm" einfach "zurück zum GUI" schicken.

    Wenn aber mein Code-Beispiel in die falsche Richtung führt, vielleicht anders gesagt:

    Ein GUI wird erstellt/definiert/? und mit "GUISetState(@SW_SHOW)" aufgerufen/zur Anzeige gebracht.

    Und weil's jetzt schon da ist, könnte man es ja bei Bedarf öfter/mehrfach verwenden - etwa mit (Achtung Fantasiecode:) GUISetState($Form1, @SW_SHOW) oder GUICtrlSetState($Form1, $GUI_ENABLE).

    Oder:

    Func _gui()

    GUICreate

    ...

    ...

    GUISetState(@SW_SHOW)

    EndFunc

    Dann könnte man das ja öfter verwenden. (Das GUI soll dann aber nicht dupliziert werden).

    Die Frage wäre - geht sowas? Also ohne den Umweg über Func, das hab ich probiert - geht - allerdings wird dann das GUI dupliziert.

  • Steuerung zurück zu GUI

    • entsel
    • 15. Mai 2018 um 13:48

    Wie gesagt, es gibt andere Lösungen.

    Diese MsgBox wegzulassen, würde zwar im gezeigten Beispiel helfen, aber die steht hier nur als "Platzhalter" für das, was eigentlich mit der (nicht getroffenen) Auswahl gemacht werden soll.

    In dem Sinn von "geh nochmal zurück, mach die Auswahl, dann geht's hier weiter ...".

  • Steuerung zurück zu GUI

    • entsel
    • 15. Mai 2018 um 13:19

    Servus

    Und weil ich grad dabei bin - gleich noch eine Frage:

    Wie kann man die Steuerung an das GUI zurück geben - um Eingaben zu korrigieren oder versäumte nachzuholen?

    Beispiel:

    Spoiler anzeigen

    #include <ButtonConstants.au3>

    #include <GUIConstantsEx.au3>

    #include <WindowsConstants.au3>

    #Region ### START Koda GUI section ### Form=

    $Form1 = GUICreate("Form1", 218, 286, 192, 114)

    $Group1 = GUICtrlCreateGroup("Aufgabe auswählen:", 30, 20, 131, 166)

    $Radio1 = GUICtrlCreateRadio("Radio1", 50, 50, 70, 17)

    $Radio2 = GUICtrlCreateRadio("Radio2", 50, 90, 70, 17)

    $Radio3 = GUICtrlCreateRadio("Radio3", 50, 130, 70, 17)

    GUICtrlCreateGroup("", -99, -99, 1, 1)

    $Button1 = GUICtrlCreateButton("Start", 30, 200, 131, 36)

    GUISetState(@SW_SHOW)

    #EndRegion ### END Koda GUI section ###

    Global $test = 0

    While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg

    Case $GUI_EVENT_CLOSE

    Exit

    Case $Radio1

    $test = 1

    Case $Radio2

    $test = 2

    Case $Radio3

    $test = 3

    Case $Button1

    If $test = 0 Then

    If 2 = MsgBox(21, "Achtung", "Nix ausgewählt - bitte eine Aufgabe wählen") Then Exit

    EndIf

    ; ?............? was sollte hier stehen ...

    MsgBox(1,"","Anstelle dieser MsgBox sollte die Steuerung wieder an Form 1 zurück gegeben werden")

    EndSwitch

    WEnd

    Natürlich gibt es Möglichkeiten, dieses Problem anders zu lösen - etwa bereits eine Radio-Auswahl vorzuschlagen oder die Starttaste erst nach einer solchen zu aktivieren oder ....

    Aber mich würde genau diese Lösung interessieren.

    SG, entsel

  • MsgBox - Text zentriert ausgeben?

    • entsel
    • 15. Mai 2018 um 13:00

    Hallo Leute

    Ist nicht grad "lebenswichtig", aber interessieren würd's mich trotzdem:

    Standard bei MsgBox ist ja, dass der Text linksbündig ausgegeben wird - mit Flag $MB_RIGHT / 524288 geht's auch rechtsbündig.

    Aber gibt's auch eine Möglichkeit, den Text zentriert auszugeben?

  • GUICtrlSetState(..., $GUI_DISABLE)

    • entsel
    • 2. Mai 2018 um 20:21

    Ah, danke Dir.

    Hatte zuvor noch dran gedacht, aber dann wieder vergessen - Alzheimer? .....

  • kopiere alles aber überschreibe nichts

    • entsel
    • 2. Mai 2018 um 20:17

    Aha - Ich bin davon ausgegangen, dass es so funktioniert, wie im WinExplorer:

    Ordner markieren - kopieren - dann im Zielordner - einfügen => der Ordner samt Dateien wird kopiert

    oder im TotalCommander (2 Fenster):

    Quellordner markieren - kopieren => Ordner mit Inhalt wird ins andere Fenster kopiert

    Der Kopiervorgang holt sich den Ordnernamen von der Quelle, er muss nicht extra angegeben werden ...

    Naja, gut zu wissen und wieder was g'lernt.

    SG, entsel

  • GUICtrlSetState(..., $GUI_DISABLE)

    • entsel
    • 2. Mai 2018 um 20:03

    Volltreffer!

    Ich hatte tatsächlich GUICtrlSetData verwendet - Euer Ehren, ich bekenne mich schuldig!

    Danke und SG, entsel

  • MsgBox - langer Text - Umbruch im Code ?

    • entsel
    • 2. Mai 2018 um 19:58

    Aha, mit Underliner

    Danke Dir

    entsel

  • kopiere alles aber überschreibe nichts

    • entsel
    • 2. Mai 2018 um 19:55

    Servus

    So, ich hab das Progrämmchen in den Grundzügen fertig. Hab jetzt doch den Weg mit den Arrays genommen ...

    Ein paar Sachen sind komisch vorgekommen - hab ich aber nicht weiter verfolgt. Möglicherweise hab ich selber Blödsinn g'macht, vielleicht is aber auch was dran?

    robocopy "G:\2018\02" "F:\Sicherung\2018" /E /XC /XN /XO

    Im Quell- Ordner sind 2 Dateien - diese werden nach F:\Sicherung\2018\ kopiert, der Ordner "02" aber wird nicht angelegt ??????

    Wenn man nach jedem Kopiervorgang (filecopy) mit Dirsize den Zielordner abfragt, kommt irgendwann Blödsinn raus ????? Aktualisierung notwendig ????

    Wie gesagt, ich brauchs nicht wirklich, aber wenn jemand was dazu sagen will ....

    2 andere Fragen hätt ich auch noch, aber da mach ich lieber ein neues Thema auf - hier:

    MsgBox - langer Text - Umbruch im Code ?

    GUICtrlSetState(..., $GUI_DISABLE)

    Danke, entsel

  • GUICtrlSetState(..., $GUI_DISABLE)

    • entsel
    • 2. Mai 2018 um 19:55

    Servus

    Wenn ich das Beispiel von Oskar von hier

    GUICtrlSetBkColor auf Combo funktioniert nicht

    Code
    $button_input = GUICtrlCreateButton("Mediatrix Mail erstellen", 190, 200, 120, 19)
    GUICtrlSetState($button_input, $GUI_DISABLE)

    bei mir so verwende, ändert sich die Beschriftung meines Buttons von "Fertig" auf "128" und er bleibt clickbar. Ich hätt's aber gern so wie bei Oskar, Button erst mal "ausgegraut".

    Was mache ich falsch?

    SG, entsel

  • MsgBox - langer Text - Umbruch im Code ?

    • entsel
    • 2. Mai 2018 um 19:46

    Servus

    Wie der Titel schon sagt - ich habe einige MsgBoxen mit langem Text, wobei der Umbruch in der Anzeige nicht das Problem ist => ... & @LF & ...

    Ich würde aber gern den Code zwecks besserer Lesbarkeit auf mehrere Zeilen verteilen.

    Geht das?

    SG entsel

  • kopiere alles aber überschreibe nichts

    • entsel
    • 25. April 2018 um 16:03

    Also die Array-Limits sollten dann grad mal reichen ;)

    Zitat

    robocopy "Z:\Quelle" "Z:\Ziel" /E /XC /XN /XO

    Na klar, das is es.

    Wie war das noch mit dem Wald und den Bäumen?

    Danke an alle Beteiligten.

    Eventuell habe ich später noch Fragen zum Thema Fortschrittsanzeige oder etwas in der Richtung (abhängig von Datenmenge - und meinem Ehrgeiz ;) .

    Aber erst probier ich mal selber - bis die Fragen konkret sind.

    SG entsel

  • kopiere alles aber überschreibe nichts

    • entsel
    • 24. April 2018 um 07:49

    Morgen Leute

    Na, da hat sich ja noch einiges getan ...

    Hab gestern noch kurz reing'schaut und mich etwas damit beschäftigt.

    1. Das Auslesen der Ordner/Dateistruktur in ein Array ist mir gelungen. Gibt's da eigentlich ein Limit? Ich glaub, ich hab da mal was gelesen, find's aber nicht mehr. (Es könnten nämlich am Jahresende an die 2000 Ordner und Dateien auf der Karte sein)

    2. Bei den neueren Beiträgen ab #12 ist - für mich - noch einiges neu und unbekannt - da brauch ich noch Zeit, um mich durchzuackern (aber die hab ich ja).

    Vorerst mal Danke an alle Beteiligten.

    Ich glaub, ich werde mal den 1. Weg weiter verfolgen, der ist für mich (vorerst) verständlicher bzw. leichter handlebar. Mal sehen, ob ich damit bis ans Ziel komme.

    SG entsel

  • kopiere alles aber überschreibe nichts

    • entsel
    • 23. April 2018 um 09:35

    Hallo ihr beiden

    Danke - werd ich mir anschauen - muss mich jetzt aber leider mit anderem beschäftigen ...

    Bis später dann ...

  • kopiere alles aber überschreibe nichts

    • entsel
    • 23. April 2018 um 09:29

    Hallo Musashi

    Danke für den Link, den Thread hatte ich schon gefunden - hatte mir insofern geholfen, dass ich mich mich Dircopy nicht übermäßig beschäftigt habe.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™