Beiträge von BugFix
-
-
Sag mal genauer, was du vorhast - Skript wäre sinnvoll.
Was soll "Shell" für eine Funktion darstellen? (in AutoIt findest du ShellExecute u. ShellExecuteWait) -
bei Inputboxen
Nein.
Aber für Inputfelder auf einer GUI kannst das tun. Gibt es schon viele Lösungsvorschläge im Forum. Benutze mal die Suche. -
den ich bei cheat-engine gefunden habe
Du solltest dringend unsere Forenregeln lesen. Cheaten und Bots wird nicht unterstützt.[CLOSED]
-
Dann zeig mal deinen Code. Du musst natürlich zuerst Workbook.Open anwenden
-
Grau ist es deshalb, weil du das eingebettete Objekt zu gross erstellst. Es kollidiert mit dem umgebenden Objekt und erzeugt dabei Darstellungsfehler.
Hier der MSDN-Link: Word Objekt Modell.
Musst dich dann für die Methoden und Properties durch die Links im Dokument hangeln. -
In einem Array NIEMALS vorwärts löschen, da die Indizes logischerweise dabei verändert werden. Immer von hinten nach vorn, dann bleiben die Indizes im bestehenden Teil des Array unverändert.
-
Kann er da nicht auch _WordDocOpen nehmen?
Dürfte nicht klappen.
Die Funktionen der Word-UDF haben als Referenzobjekt "Word.Application"
Für die Embedded-Funktion ist das aber nicht verwendbar, da muß direkt auf das Dokument, also auf "Word.Document" referenziert werden.
Einfach mal ein bischen probieren. -
Das ist geil! Super! Aber wie kann ich damit arbeiten, um z.B. ein Word Dokument zu öffnen?
Da es embedded ist, mußt du ActiveX-Controls verwenden (das Bsp. zu IEembedded zeigt, wie es geht). Die einzelnen Methoden. die du verwenden kannst findest du im Word-Objekt Modell (MSDN)
Ich frag mich nur, woher du das weißt.
MSDN ist eine riesen Fundgrube -
Word Embedded - kein Problem:
[autoit]$hGui = GUICreate('Embedded Word', 600, 750, -1, -1)
[/autoit][autoit][/autoit][autoit]
$oDoc = ObjCreate("Word.Document")
$Obj_ctrl = GUICtrlCreateObj($oDoc, 0, 55, 600, 660)GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit]
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
WEnd -
aber das ist doch nichts andere also die gefühlten 1000 Versuche von UDF-Sammlungen die allesamt im nichts verschwunden sind. Nur halt in kleinerer Form.
Stimmt, vielleicht ist ja die Hemmschwelle Kleinigkeiten zu posten geringer, als 'große' UDF.
-
Ich kann mir nicht recht vorstellen, was da der Sinn ist. Gib mal bitte ein Skriptbsp., damit man das nachvollziehen kann.
-
BugFix, er meint wahrscheinlich die Debugkonsole welch mittels
Create Cui instead of GUI.EXE beim kompilieren erzeugt wird.
Ich fühl mich veräppelt - das ist doch die stinknormale Windows-cmd.exe. Viel komplizierter hätte man die auch nicht beschreiben können.
Und das Skript soll erkennen, wenn die Umgebung in der es läuft (besser: lief) nicht mehr existiert? Halte ich für sehr unwahrscheinlich. Ist ja ähnlich als ob du dein Betriebssystem runtergefahren hast. Diese Info nützt ja auch keinem Programm mehr.
-
die Konsole die man mit den Konsole****** Befehlen verwendet
Hilf mir auf die Sprünge: Welche Befehle sind das? Hab ich noch nie benutzt. -
einer stinknormalen Autoit Konsole
Was verstehst du denn da drunter?
Beim Kodieren verwendest du die Konsole deines Editors. Und das kann grundverschieden sein (SciTE, Notepad++, etc.). Insofern kann deine Frage nicht allgemein beantwortet werden. -
Ihr kennt das sicher, man schreibt an einem Projekt und erstellt sich dafür skriptinterne Funktionen. Eigentlich zu klein um sie als UDF zu posten, aber nützlich vllt. auch für jemand anderen.
Aus diesem Grund denke ich mir, dass es sinnvoll ist diesen "Snippet-Code" zu sammeln.
Damit es übersichtlich ist und auch der gewünschte Nutzen entsteht, sollten diese kleinen Schätzchen mit einer ordentlichen Funktionsbeschreibung versehen werden.
Auch ein minimales Bsp.-Skript wär schön.
Und damit es auch über die Forumssuche auffindbar ist: Suchtags einfügen.
Beteiligt euch ruhig emsig.Hier meine ersten Snippets:
_GuiCtrlSwitchChecked
[autoit];===============================================================================
[/autoit]
; Function Name....: _GuiCtrlSwitchChecked
; Description......: Schaltet den Status einer Checkbox (od. eines Radio) in den
; .................: entgegengesetzten Zustand (CHECKED <==> UNCHECKED)
; Parameter(s).....: $_iCtrlID ID der Checkbox(des Radio)
; Return Value(s)..: Erfolg 1
; .................: Fehler 0
; Note.............: Für Radio nicht unbedingt sinnvoll. Beim Wechsel UNCHECKED zu
; .................: CHECKED wird natürlich ein anderes Radio UNCHECKED. Aber anders
; .................: herum ist es ja nicht bekannt, welches Radio gechecked
; .................: werden soll und deshalb sind dann alle UNCHECKED
; Author(s)........: BugFix ( [email='bugfix@autoit.de'][/email] )
;===============================================================================
Func _GuiCtrlSwitchChecked($_iCtrlID)
Return GUICtrlSetState($_iCtrlID, BitXOR(BitOR($GUI_CHECKED, $GUI_UNCHECKED), BitAND(GUICtrlRead($_iCtrlID),$GUI_CHECKED)))
EndFunc ;==> _GuiCtrlSwitchCheckedBeispiel
[autoit]$GUI = GUICreate('Test Check', 200, 100)
[/autoit] [autoit][/autoit] [autoit]
$cb = GUICtrlCreateCheckbox('CheckBox', 10, 10)
$radio1 = GUICtrlCreateRadio('Radio1', 10, 57)
$radio2 = GUICtrlCreateRadio('Radio2', 70, 57)
$bt1 = GUICtrlCreateButton('CheckBox', 130, 10, 60)
$bt2 = GUICtrlCreateButton('Radio1', 130, 55, 60)
GUISetState()While 1
[/autoit]
Switch GUIGetMsg()
Case $bt1
_GuiCtrlSwitchChecked($cb)
Case $bt2
_GuiCtrlSwitchChecked($radio1)
Case -3
Exit
EndSwitch
WEndSuchbegriffe: Controlstatus, Checked, Unchecked
_GuiCtrlsSetColors
[autoit];===============================================================================
[/autoit]
; Function Name....: _GuiCtrlsSetColors
; Description......: Bei bis zu 10 Controls gleichzeitig dieselbe Text- und/oder
; .................: Hintergrundfarbe setzen
; Parameter(s).....: $_iColor Textfarbe, -1 setzt Textcolor nicht
; .................: $_iBkColor Hintergrundfarbe, -1 setzt Hintergrundfarbe nicht
; .................: $_ctrl1 erstes Control für das die Farbe(n) gesetzt wird(werden)
; ......[optional].: $_ctrl2..10 weiter Controls für dieselbe Farbsetzung
; Return Value(s)..: Erfolg 1
; .................: Fehler 0 @error=1 kein Control übergeben
; Author(s)........: BugFix ( [email='bugfix@autoit.de'][/email] )
;===============================================================================
Func _GuiCtrlsSetColors($_iColor, $_iBkColor=-1, $_ctrl1=-1, $_ctrl2=-1, $_ctrl3=-1, $_ctrl4=-1, $_ctrl5=-1, $_ctrl6=-1, $_ctrl7=-1, $_ctrl8=-1, $_ctrl9=-1, $_ctrl10=-1)
Local $aCtrl[10] = [$_ctrl1, $_ctrl2, $_ctrl3, $_ctrl4, $_ctrl5, $_ctrl6, $_ctrl7, $_ctrl8, $_ctrl9, $_ctrl10]
If $_ctrl1 = -1 Then Return SetError(1,0,0)
For $i = 0 To 9
If $aCtrl[$i] = -1 Then Return
If $_iBkColor > -1 Then GUICtrlSetBkColor($aCtrl[$i], $_iBkColor)
If $_iColor > -1 Then GUICtrlSetColor($aCtrl[$i], $_iColor)
Next
Return 1
EndFunc ;==>_GuiCtrlsSetColorsBeispiel
[autoit]$GUI = GUICreate('Test Color', 200, 100)
[/autoit] [autoit][/autoit] [autoit]
$label = GUICtrlCreateLabel('Label', 10, 10)
$in = GUICtrlCreateInput('Input', 10, 35, 60)
GUICtrlSetBkColor(-1, 0xF0F0F0)
$cb = GUICtrlCreateCheckbox('CheckBox', 10, 60)
; "Checkbox, Radio, Group or Progress controls cannot be painted if the "Windows XP/Vista style" is used."
$bt1 = GUICtrlCreateButton('Set', 130, 10, 60)
$bt2 = GUICtrlCreateButton('ReSet', 130, 55, 60)
GUISetState()While 1
[/autoit]
Switch GUIGetMsg()
Case $bt1
_GuiCtrlsSetColors(0xFFFFFF, 0x0000FF, $label, $in, $cb, $bt1, $bt2)
Case $bt2
_GuiCtrlsSetColors(0x000000, 0xF0F0F0, $label, $in, $cb, $bt1, $bt2)
Case -3
Exit
EndSwitch
WEndSuchbegriffe: Textfarbe, Hintergrundfarbe
_GuiCtrlsSetState
[autoit];===============================================================================
[/autoit]
; Function Name....: _GuiCtrlsSetState
; Description......: Bei bis zu 10 Controls gleichzeitig denselben Statuswert setzen
; Parameter(s).....: $_iState Statuswert (od. BitOR-Kombination Werte) der gesetzt werden soll
; .................: $_ctrl1 erstes Control für das der Status gesetzt wird
; ......[optional].: $_ctrl2..10 weiter Controls für die der Status gesetzt wird
; Author(s)........: BugFix ( [email='bugfix@autoit.de'][/email] )
;===============================================================================
Func _GuiCtrlsSetState($_iState, $_ctrl1, $_ctrl2=-1, $_ctrl3=-1, $_ctrl4=-1, $_ctrl5=-1, $_ctrl6=-1, $_ctrl7=-1, $_ctrl8=-1, $_ctrl9=-1, $_ctrl10=-1)
Local $aCtrl[10] = [$_ctrl1, $_ctrl2, $_ctrl3, $_ctrl4, $_ctrl5, $_ctrl6, $_ctrl7, $_ctrl8, $_ctrl9, $_ctrl10]
For $i = 0 To 9
If $aCtrl[$i] = -1 Then Return
GUICtrlSetState($aCtrl[$i], $_iState)
Next
EndFunc ;==>_GuiCtrlsSetStateBeispiel
[autoit]$GUI = GUICreate('Test Status', 200, 100)
[/autoit] [autoit][/autoit] [autoit]
$label = GUICtrlCreateLabel('Label', 10, 10)
$in = GUICtrlCreateInput('Input', 10, 35, 60)
$cb = GUICtrlCreateCheckbox('CheckBox', 10, 60)
$bt1 = GUICtrlCreateButton('Disable', 130, 10, 60)
$bt2 = GUICtrlCreateButton('Enable', 130, 55, 60)
GUISetState()While 1
[/autoit]
Switch GUIGetMsg()
Case $bt1
_GuiCtrlsSetState($GUI_DISABLE, $label, $in, $cb)
Case $bt2
_GuiCtrlsSetState($GUI_ENABLE, $label, $in, $cb)
Case -3
Exit
EndSwitch
WEndSuchbegriffe: Status, Controlstatus
-
Neue Version v.0.6
Änderungen s. Post #1 -
mein Script hängt sich auf, wenn ich erst viele ListView-Einträge erstelle, dann alle entferne und dann wieder neue erstelle ( alles mit deinen Funktionen ).
Bei meinen Tests hatte ich mit 2.000 Einträgen in 8 Spalten probiert. Ausser dass das etwas dauert
gab es keine Probleme. -
Schau dir die GuiResizing Optionen an.
Jedoch ist das Hochskalieren der Standardschrift durch den User ein Problem, dass wohl von keiner (oder kaum einer) Programmiersoftware gelöst wird.
Du musst nunmal entweder bestimmte Abmasse oder Verhältnisse der Masse angeben, geht nicht anders. Selbst wenn du an den Desktopmassen skalierst bist du machtlos, wenn der User plötzlich auf 125% skaliert. Das geht übrigens bei fast allen Programmen in die Hose. Also nicht auf AutoIt schimpfen. -
Warum hast du die WM_COMMAND-Geschichte drin? Was soll das bezwecken?