Alpines:
Danke das ist mir klar, muss ich noch einbauen.
Beiträge von Silvermoon
-
-
Ich danke Euch allen Dreien für eure Hilfe.
Aber nur wegen einem einzelnen Zeichen erscheint mir der Aufwand doch etwas viel.
Ich dachte es geht einfacher.
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.CodeHotKeySet(",", "_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 -
Hallo Alpines
Danke für deinen Tipp
Bei Deinem Link für die UDF fand ich leider nichts zum downloaden.
Was meinst du mit:ZitatDu 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. -
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’sC
Alles anzeigeninclude <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
-
Auch dir danke ich im nachhinein AspirinJunkie
Danke -
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 -
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 -
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 -
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. -
hallo Kanashius
Danke für deine AntwortAufsplitten 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 -
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?
-
Danke dir für deine schnelle Antwort
Mit GTI+ hatte ich zuerst keinen Erfolg, Dank deiner Antwort klappt es jetzt.
Mir fehlte die Freigabe "_GDIPlus_ImageDispose"
Danke dirTolles Forum
-
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 -
Danke dir Bernd670 und auch dir BugFix
Mit dem Prop. schlage ich mich seit Tagen herum.
Mit deinem Tipp konnte ich es lösen.Anmerkung;
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.
-
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]
[/autoit][autoit][/autoit][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 ###While 1
[/autoit][autoit][/autoit][autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEndDas ist der Sender
[autoit][/autoit][autoit][/autoit][autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
#Include <Array.au3>
#include <Misc.au3>Opt("GUIOnEventMode", 1)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
#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 ###WinSetOnTop($fenster, "",1)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
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
ExitEndSwitch
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
WEnd;
[/autoit]
Func _Gui_verandern()
$pos = MouseGetPos()
ControlSend("Coordinaten","","[CLASS:Edit; INSTANCE:1]",$pos[0])
ControlSend("Coordinaten","","[CLASS:Edit; INSTANCE:2]",$pos[1])
EndFuncDas 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. -
Hallo Forum
[autoit]
Ich habe da ein Problem.
Mit :
[/autoit]
$X=234
ControlSend("Coordinaten","","[CLASS:Edit; INSTANCE:1]",$X)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 -
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
-
Hallo Forum
[autoit]
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
Aber irgendwie klappt das nicht.
Es wird nur die erste Box gefüllt.Fehlt vielleicht ein“ #include“ Verweis?
Wo ist der Fehler?
Danke für eure Hilfe? -
Danke dir
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.
Hauptsache das es jetzt läuft.
Einen dickes plus für Euch -
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 ErgebnisShellExecute(@ScriptDir & "\Multidestop.exe", '"'&$Parameter[$Nr][1]&chr(13)&$Parameter[$Nr][2]&chr(13)&$Parameter[$Nr][3]&chr(13)&$Parameter[$Nr][4]&'"')