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. Silvermoon

Beiträge von Silvermoon

  • _IsPressed in Inputbox

    • Silvermoon
    • 30. Juni 2015 um 15:16

    Alpines:
    Danke das ist mir klar, muss ich noch einbauen. :thumbup:

  • _IsPressed in Inputbox

    • Silvermoon
    • 30. Juni 2015 um 14:56

    Ich danke Euch allen Dreien für eure Hilfe. :thumbup:
    Aber nur wegen einem einzelnen Zeichen erscheint mir der Aufwand doch etwas viel.
    Ich dachte es geht einfacher. :S
    Deshalb habe ich eine andere Lösung gefunden, nicht gerade professionell aber es erfüllt seinen Zweck


    Die Profis mögen mir für solchen Skript verzeihen. :saint:

    Code
    HotKeySet(",", "_Beistrich")
    ;----------
    Func _Beistrich()
    	MsgBox(0,"Fehler","Befehle dürfen keinen '','' haben",3)
    		_GUICtrlEdit_SetText($Input5,"")
    EndFunc


    Das Thema kann geschlossen werden
    Danke euch noch mal.
    Silvemoon

  • _IsPressed in Inputbox

    • Silvermoon
    • 29. Juni 2015 um 11:47

    Hallo Alpines
    Danke für deinen Tipp
    Bei Deinem Link für die UDF fand ich leider nichts zum downloaden.
    Was meinst du mit:

    Zitat

    Du könntest aber auch einfach bei jeder Eingabe (wird ja eine WM Nachricht geschickt)


    Im Moment versuche ich, sobald input1 den Fokus hat wird die Function „_Test()“ aufgerufen und dort der Tastendruck mit _IsPressed abgefragt.
    Er springt zwar in die besagte Funktion aber _IsPressed erkennt scheinbar nicht wenn ich die Taste Beistrich drücke.

  • _IsPressed in Inputbox

    • Silvermoon
    • 29. Juni 2015 um 10:07

    Hallo Forum
    Habe wieder mal ein Problem.
    Ich möchte die Eingabe bestimmter Zeichen in einer Inputbox unterbinden.
    Func _test() sollte die Eingabe Beistrich (,) nicht zulassen.
    Leider klappt das nicht was ist daran falsch? ?(
    Danke für eure Tipp’s

    C
    include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    #include <GuiEdit.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 270, 43, 380, 136)
    $Input1 = GUICtrlCreateInput("", 16, 8, 245, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    $hdll =""
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    		Case $Input1
    			_test()
    	EndSwitch
    WEnd
    
    
    ;-----------------------
    Func _test()
    	Local $dll = DllOpen("user32.dll")
    While 1
    
    
        If  _IsPressed("BC", $hDLL) Then
    
    
           MsgBox(0,"Fehler","Befehle dürfen keinen '','' haben",3)
    	   _GUICtrlEdit_SetText($Input1,"")
        EndIf
        Sleep(250)
    WEnd
    DllClose($hDLL)
    EndFunc
    Alles anzeigen
  • Func Namen aufzulisten

    • Silvermoon
    • 25. Juni 2015 um 14:34

    Auch dir danke ich im nachhinein AspirinJunkie
    Danke

  • Func Namen aufzulisten

    • Silvermoon
    • 25. Juni 2015 um 14:30

    Hallo Oscar
    Super Tipp
    Das mit dem Compilieren muß ich noch schlucken genau so wie '(?i)(?s)\bfunc (.+?)\(' aber dafür gibt es ja die online deutsch Hilfe.
    Danke dir und auch Yaerox für eure Hilfe.
    Tolles Forum , Tolle Mitglieder
    Grüße Eugen

  • Func Namen aufzulisten

    • Silvermoon
    • 25. Juni 2015 um 13:49

    Hallo Yaerox
    Danke für deine schnelle Antwort.
    das mit dem Array ist mir klar, aber da müßte ich alle "Func" per Hand eingeben.
    Ich dachte eher daran, daß, das Programm sich selber nach "Func _Namen()" durchsuchten soll.
    Grüße Eugen

  • Func Namen aufzulisten

    • Silvermoon
    • 25. Juni 2015 um 13:34

    Hallo Forum
    Gibt es eine Möglichkeit im einem von mir erstellten Programm alle definierten „Func“ Namen aufzulisten?
    Zum besserem Verständnis ;
    Ich sende einen Anfrage zb. mit „?“ an das laufende Programm.
    Als Antwort soll mir dieses Programm seine eigene „Func- Namensliste" als Tootipp anzeigen.
    Das Senden und Empfangen habe ich gelöst.
    Nur wie das Programm die eigenen „Func“-Namen auflisten soll, da habe ich keine Idee.
    Ist das überhaupt möglich? ?(
    Danke für eure Hilfe

  • Koordinatenangaben vereinfachen

    • Silvermoon
    • 22. Juni 2015 um 14:50

    Danke dir misterspeed
    das war ein Schuss in den Ofen von mir, ich wollte mir den Umweg über ein Array ersparen.
    Das Tema kann geschlossen werden.

  • Koordinatenangaben vereinfachen

    • Silvermoon
    • 20. Juni 2015 um 19:20

    hallo Kanashius
    Danke für deine Antwort

    Aufsplitten in ein Array und in einer Schleife einlesen ist mir klar, bisher machte ich es auch so.
    Ist aber ein Umweg über ein Array und einer Schleife
    Aber genau daß wollte ich vermeiden.

    Einfacher währe es, daß die Variable ($Bild) direkt im Befehl interpretiert wird, als Ersatz für $ar[0],$ar[1],$ar[2],$ar[3].
    Execute($Bild) gibt aber leider nur den ersten Wert an den Befehl weiter und ignoriert den Rest.
    ps: Das Ganze ist nur eine Überlegung
    Schade
    Aber trotzdem Danke

  • Koordinatenangaben vereinfachen

    • Silvermoon
    • 20. Juni 2015 um 13:23

    Hallo Forum
    Ist es möglich die Koordinatenangaben zu vereinfachen?
    Ich lese aus einer Textdatei den String "1132,546,1150,557".
    Normal müsste ich mit;

    Spoiler anzeigen


    $Bild = "1132,546,1150,557" ;als Ersatz für Textfile lesen
    $a_coord =StringSplit ($Bild, ",")
    $X= $a_coord[0]
    $Y= $a_coord[1]
    $x1= $a_coord[2]
    $y1 =$a_coord[3]
    _ScreenCapture_Capture($Ordner & "temp.bmp", $X, $Y, $x1, $y1, 1)


    den String aufsplittern, um anschließend einen Bildausschnitt zu speichern.
    Es währe es doch einfacher, anstatt „$X, $Y, $x1, $y1“ , gleich den String ($Bild) einzusetzen.
    Zb:
    _ScreenCapture_Capture($Ordner & "temp.bmp", [b]Execute($Bild)[/b], 1)
    Nur leider nimmt „Execute” nur den ersten Wert.
    Das ist schade, das würden die
    Zugriffe auf die Text-Datein reduzieren
    Array’s Größe erheblich reduzieren
    Und die Schreib und Übersichtlichkeit vereinfachen.

    Oder gibt es da eine Lösung? ?(

  • Picture Box automatische Anpassung

    • Silvermoon
    • 1. Juni 2015 um 10:59

    Danke dir für deine schnelle Antwort :thumbup:
    Mit GTI+ hatte ich zuerst keinen Erfolg, Dank deiner Antwort klappt es jetzt.
    Mir fehlte die Freigabe "_GDIPlus_ImageDispose" X/
    Danke dir

    Tolles Forum
    :thumbup:

  • Picture Box automatische Anpassung

    • Silvermoon
    • 1. Juni 2015 um 10:30

    Hallo Forum
    In meiner Gui habe ich ;
    $_Pic1 = GUICtrlCreatePic("", 8, 80, 40, 40)
    Wenn ich im Programmablauf das Bild mit;
    GUICtrlSetImage ($_Pic1, ”C:\Bild.bmp”,"",1)
    verändere, sollte sich $_Pic1 automatisch der Bildgröße anpassen.
    Was muss ich bei „GUICtrlCreatePic("", 8, 80, 40, 40, Style)” als Style angeben?
    Aus der Help bin ich nicht schlau geworden. ?(
    Danke für eure Hilfe

  • Input inhalt löschen

    • Silvermoon
    • 24. Mai 2015 um 08:55

    Danke dir Bernd670 und auch dir BugFix

    Mit dem Prop. schlage ich mich seit Tagen herum.
    Mit deinem Tipp konnte ich es lösen. :thumbup:

    Anmerkung;

    Zitat von bernd670

    wenn du mal in die Hilfe geschaut hättest wäre dir bestimmt auch die Funktion ControlSetText aufgefallen.

    Das Proprem ist nicht in der Hilfe suchen, sondern das formulieren der Suche nach dem Befehl der etwas Bestimmtes kann.
    Zumal ich nicht Englisch spreche und FF verweigert mir mangels Zertifikat die Seiten „https://translation.autoit.de/onlinehilfe/“.

    Daher bin ich Dankbar für eure Hilfe und Geduld.

  • Input inhalt löschen

    • Silvermoon
    • 22. Mai 2015 um 22:32

    Hallo BugFix
    Danke dir für deinen Tipp
    Aber leider klappt das nicht oder ich mache etwas falsch.

    Zum besseren Verständnis setze ich die beiden Gui’s Code in abgespeckter Version ins Forum:

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    ;
    #Region ### START Koda GUI section ### Form=c:\programme\autoit3\scite\koda\forms\coorinaten1.kxf
    $Form2 = GUICreate("Coordinaten", 290, 182, 198, 119)
    $MenuItem1 = GUICtrlCreateMenu("&Datei")
    $MenuItem4 = GUICtrlCreateMenuItem("Laden", $MenuItem1)
    $MenuItem3 = GUICtrlCreateMenuItem("Speichen", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Löschen", $MenuItem1)
    $MenuItem5 = GUICtrlCreateMenu("&Extra")
    $MenuItem10 = GUICtrlCreateMenuItem("MausCoordinaten", $MenuItem5)
    $MenuItem11 = GUICtrlCreateMenuItem("Array Coordinaten", $MenuItem5)
    $MenuItem6 = GUICtrlCreateMenu("&Coordinaten")
    $MenuItem8 = GUICtrlCreateMenuItem("Position löschen", $MenuItem6)
    $MenuItem9 = GUICtrlCreateMenuItem("Listbox leeren", $MenuItem6)
    $MenuItem7 = GUICtrlCreateMenu("&Hilfe")
    ;
    $Label1 = GUICtrlCreateLabel("X", 3, 26, 11, 17)
    $Label2 = GUICtrlCreateLabel("Y", 3, 47, 11, 17)
    $Label3 = GUICtrlCreateLabel("x", 5, 67, 9, 17)
    $Label4 = GUICtrlCreateLabel("y", 5, 88, 9, 17)
    ;
    $Input1 = GUICtrlCreateInput("", 18, 24, 90, 21)
    GuiCtrlSetData(-1," ")
    $Input2 = GUICtrlCreateInput("", 18, 44, 90, 21)
    GuiCtrlSetData(-1," ")
    $Input3 = GUICtrlCreateInput("", 18, 64, 90, 21)
    GuiCtrlSetData(-1," ")
    $Input4 = GUICtrlCreateInput("", 18, 84, 90, 21)
    GuiCtrlSetData(-1," ")
    $List1 = GUICtrlCreateList("", 164, 1, 89, 136)
    $Button1 = GUICtrlCreateButton("---->", 110, 59, 52, 18)
    ;
    $Pic1 = GUICtrlCreatePic("", 16, 110, 40, 40, BitOR($GUI_SS_DEFAULT_PIC,$SS_SUNKEN))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]

    Das ist der Sender

    [autoit][/autoit][autoit][/autoit][autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <WinAPI.au3>
    #Include <Array.au3>
    #include <Misc.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=C:\Programme\AutoIt3\SciTE\Koda\Forms\Loch.kxf
    $fenster = GUICreate("",200,90,200,100,BitOR($WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$DS_SETFOREGROUND), $WS_EX_TOOLWINDOW)
    $L_evt = GUICtrlCreateLabel("1234567890", -1,-1,200,73)
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0x00FF00)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    WinSetOnTop($fenster, "",1)
    GUISetOnEvent ($GUI_EVENT_MOUSEMOVE,"_Gui_verandern")
    ;GUISetOnEvent ($GUI_EVENT_MOUSEMOVE,"_GuiHole")
    ;
    $pos = WinGetPos($fenster)
    ;_GuiHole()
    ;
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    ;
    Func _Gui_verandern()
    $pos = MouseGetPos()
    ControlSend("Coordinaten","","[CLASS:Edit; INSTANCE:1]",$pos[0])
    ControlSend("Coordinaten","","[CLASS:Edit; INSTANCE:2]",$pos[1])
    EndFunc

    [/autoit]

    Das Fenster „Form1“ sendet an das Fenster „Coordinaten „ die Mauskoordinaten:
    ControlSend("Coordinaten","","[CLASS:Edit; INSTANCE:1]",$pos[0])
    ControlSend("Coordinaten","","[CLASS:Edit; INSTANCE:2]",$pos[1])
    Bei einem neuerlichen Senden wird aber zu dem vorigen Inhalt der neue Wert dazu geschrieben.
    Das heißt, die Inputbox vom Fenster „Coordinaten“ muss vorher geleert werden.

  • Input inhalt löschen

    • Silvermoon
    • 22. Mai 2015 um 18:44

    Hallo Forum
    Ich habe da ein Problem.
    Mit :

    [autoit]


    $X=234
    ControlSend("Coordinaten","","[CLASS:Edit; INSTANCE:1]",$X)

    [/autoit]

    schreibe ich Werte in die Inputbox meine zweite Gui.

    Bevor ich neue Werte senden kann muss ich die alten Daten in der Inputbox (zweite Gui) löschen. ?(
    Was muss ich senden um den alten Inhalt zu löschen.
    Danke im Voraus

  • in Schleife Picture Box füllen

    • Silvermoon
    • 20. Mai 2015 um 15:36

    hallo UEZ
    Danke dir, hat geklappt.
    Ich hatte noch einen anderen Fehler.
    Bei der Gößen - Formatierung der $_Pic’s hatte ich die Position linke obere Ecke vergessen.(9,38)
    Daher überlagerten sich die _Pic’s und ich konnte immer nur ein Bild sehen.

    GUICtrlSetPos(Execute("$_Pic" & Execute($x)),9, 38,$xx[3],$xx[4])

    Noch mal Danke

  • in Schleife Picture Box füllen

    • Silvermoon
    • 20. Mai 2015 um 13:30

    Hallo Forum
    Ich habe acht Picture Boxen. ($_Pic1 – $_Pic8) in der GUI.
    Diese möchte ich in einer Schleife mit Grafiken füllen.

    [autoit]


    $_Pic1 = GUICtrlCreatePic("", 8, 38, 40, 40, BitOR($GUI_DOCKSIZE,$GUI_SS_DEFAULT_PIC,$SS_SUNKEN))
    ;
    ;
    $_Pic8 = GUICtrlCreatePic("",86, 161, 40, 40, BitOR($GUI_DOCKSIZE,$GUI_SS_DEFAULT_PIC,$SS_SUNKEN))
    ;--------------------------------------
    For $x=1 To 8
    GUICtrlSetImage (Eval("_Pic" & Execute($x) , $Grafik)
    Next

    [/autoit]


    Aber irgendwie klappt das nicht.
    Es wird nur die erste Box gefüllt. :cursing:

    Fehlt vielleicht ein“ #include“ Verweis?
    Wo ist der Fehler? ?(
    Danke für eure Hilfe?

  • $CmdLine Fehler

    • Silvermoon
    • 7. Mai 2015 um 15:51

    Danke dir :thumbup:
    Das hat geklappt, das mit dem Leezeichen habe ich noch nicht ganz geschluckt und die vielen Hochkomma bringen mich noch leicht aus dem Konzept. :/
    Naja habe noch viel zu lernen. :whistling:
    Hauptsache das es jetzt läuft.
    Einen dickes plus für Euch

  • $CmdLine Fehler

    • Silvermoon
    • 7. Mai 2015 um 15:09

    Sorry ich wollte nicht unhöflich sein
    Das mit dem Trennzeichen leuchtet mir ein, nur brachte das keinen Erfolg, daher habe ich euren Tip nicht verstanden. In der Help stand auch nichts von einem zusätzlichen Trennzeichen.
    Auch mit chr(13) oder chr(32) bekomme ich immer das dasselbe Ergebnis

    ShellExecute(@ScriptDir & "\Multidestop.exe", '"'&$Parameter[$Nr][1]&chr(13)&$Parameter[$Nr][2]&chr(13)&$Parameter[$Nr][3]&chr(13)&$Parameter[$Nr][4]&'"')

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™