Thema verschoben!
Beiträge von bernd670
-
-
Hallo,
wenn @error die Abbruchbendingung für die Until-Schleife sein soll, muss der letzte Befehl vor Until Pixelsearch sein! Jeder Befehl wirkt sich auf @error aus, Du fragst also immer das Ergebnis von ToolTip ab! Ausserdem wird die Bedingung Until $cord = @error nicht funktionieren, weil $cord immer ungleich @error ist und somit die Until-Schleife endlos läuft, einfach Until @error schreiben!
Wenn Du den ToolTip unbedingt nach Pixelsearch ausgeben willst solltest Du mein oben geschriebenes Beispiel einbauen, damit funktioniert es immer!
@edit:
ersetze einfach:
[autoit]$cord = PixelSearch($x1, $y1, $x2, $y2, $GesuchteFarbe)
[/autoit]
If Not @error Then
Do
Sleep(1000)
$cord = PixelSearch($x1, $y1, $x2, $y2, $GesuchteFarbe)
ToolTip ("Farbe erkannt X")
Until $cord = @error
EndIfdurch:
[autoit]Do
[/autoit]
$cord = PixelSearch($x1, $y1, $x2, $y2, $GesuchteFarbe)
If @error Then ExitLoop
ToolTip ("Farbe erkannt X")
Sleep(1000)
Until 0 -
Hallo,
die Zeile
[autoit]$timer=TimerInit()
[/autoit]
muss aus der While-Schleife raus! -
Geht das nicht auch mit dem Code-Wizard (Alt-w) im Scite!
-
Hallo,
einfach das Flag für "MsgBox has top-most attribute set" (262144) setzten!
-
Hallo,
oder etwas kürzer:
[autoit]Func _beispiel()
[/autoit][autoit][/autoit][autoit]
Do
;----------------------------
If $Irelewant = $egal Then ;|--> Der Teil ist ja erst mal fast egal,
$auchegal ;|--> Weil der untere Teil soll ja verhindern, das dieser Teil ausgeübt werden kann,
EndIf ;|--> in dem der zweite teil einfach mal so lange sleept bis der pixel weg ist
;----------------------------
Do
$cord = PixelSearch(651, 19, 659, 22, 0xCD3B3C) ; nach jeder do runder gucken ob der pixel da ist
If @error Then ExitLoop ; wenn er da ist dann --->
Sleep(1000) ; sleep, hmmm und muss jetzt hier noch mal pixelSearch rein?
Until 0 ; auf alle fälle wenn der pixel weg ist (bzw. der pixel mit der bestim. Frabe) solls normal weiter gehen
Until $blub = 999999EndFunc ;==>_beispiel
[/autoit] -
Hallo,
zur genaueren Analyse währe es hilfreich wenn Du den Code postest!
Normalerweise geht es so:
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3>Opt('MustDeclareVars', 1)
[/autoit][autoit][/autoit][autoit]Example()
[/autoit][autoit][/autoit][autoit]Func Example()
[/autoit][autoit][/autoit][autoit]
Local $title, $input, $updown, $msg
$title = "My GUI UpDown"
GUICreate($title, -1, -1, -1, -1, $WS_SIZEBOX)$input = GUICtrlCreateInput("2", 10, 10, 50, 20)
[/autoit][autoit][/autoit][autoit]
$updown = GUICtrlCreateUpdown($input)
GUICtrlSetLimit(-1,20,-20)GUISetState()
[/autoit][autoit][/autoit][autoit]; Run the GUI until the dialog is closed
[/autoit][autoit][/autoit][autoit]
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then ExitLoop
WEndMsgBox(0, "Updown", GUICtrlRead($input))
[/autoit]
EndFunc ;==>Example -
Nicht schlecht der Gag!
Hab's mal verschoben!
-
Das Problem ist wahrscheinlich das Du die Default-Styles überschreibst, probiers mal so:
[autoit]$group[1] = GUICtrlCreateInput("", 150, $i_bH, 650, 25, BitOR($ES_LEFT, $ES_AUTOHSCROLL, $ES_READONLY))
[/autoit] -
Bitte Code, damit auch testen kann!
-
Dafür benötigst Du FileOpen:
[autoit]Case $speichern
[/autoit]
$szSaveFile = FileSaveDialog( "Bitte Dateiname und Speicherort eingeben.", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "Textdatei (*.txt)", 2)
If Not @error Then
If StringRight($szSaveFile,4) <> ".txt" Then $szSaveFile &= ".txt"
$hFile = FileOpen($szSaveFile,2)
FileWrite($hFile, Guictrlread($Edit1))
FileClose($hFile)
EndIf -
mein Fehler:
Die FileWrite-Anweisung muss so geschrieben werden:
FileWrite($szSaveFile, Guictrlread($Edit1)) -
Geht schon:
[autoit]Case $speichern
[/autoit]
$szSaveFile = FileSaveDialog( "Bitte Dateiname und Speicherort eingeben.", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "Textdatei (*.txt)", 2)
If Not @error Then
If StringRight($szSaveFile,4) <> ".txt" Then $szSaveFile &= ".txt"
FileWrite($szSaveFile, Guictrlread($eText))
EndIf -
Hallo,
so:
[autoit]Case $speichern
[/autoit]
$szSaveFile = FileSaveDialog( "Bitte Dateiname und Speicherort eingeben.", "c:\", "Textdatei (*.txt)", 3)
If Not @error Then FileWrite($szSaveFile, Guictrlread($Edit1)) -
Hallo,
dann ist Or der falsche Operator, dass muss mit And gemacht werden! Eine Oder-Bedingung ist erfüllt sobald ein Ergebnis wahr ist.
-
Hallo,
hilfreich ist auch eine genaue Beschreibung was das gewünschte Ergebniss ist und wie sich der Fehler auswirkt!
-
Hallo,
zu 1.)
- mit FileSaveDialog die Datei wählen wo gespeichert werden soll.
- mit FileWrite die Daten in die gewählte Datei speichern.zu 2. u. 3.)
[autoit]
unter Case $neustart brauchst Du nur
[/autoit]
GuiCtrlSetData($Input1, "Input1")
GuiCtrlSetData($Input2, "Input2")
GuiCtrlSetData($Input3, "Input3")
GUICtrlSetData($Edit1, StringFormat("Hier steht schon ein Text !!!!\r\n\r\nHier soll der Text der Label 1 bis 3 untereinander rein !!!!\r\n\r\nHier steht auch wieder etwas !!!!"))zu schreiben.
-
-
Hallo,
[autoit]#Include <File.au3>
[/autoit][autoit][/autoit][autoit]$aInfList=_FileListToArray($szVerzeichnis, "*.inf", 1)
[/autoit][autoit][/autoit][autoit]
If @Error = 1 Then
MsgBox (0,"","keine INF-Datei gefunden!")
Exit
EndIf; $aInfList[0] enthält die anzahl der Dateien
[/autoit]
; $aInfList[1] - %aInfList[n] enthält die Dateinamen der gefundenen INF-Dateienwenn es im angegebene Verzeichnis nur eine INF-Datei gibt (also $aInfList[0] = 1) dann enthält $aInfList [1] den gefundenen Dateinamen!
Mal eine andere Frage:
Hast Du vor auf mehreren Rechnern für den gleichen Drucker eine Druckerwarteschlange einzurichten? Das ist eingentlich unüblich, normalerweise richtet man im Netzwerk auf einem Server die Druckerwarteschlangen für die Drucker ein und gibt sie frei, dann können sich alle Nutzer mit normalen Rechten auf die Drucker verbindenen!
-
Hallo,
ein Bsp. findest Du im Beitrag hilfe bei binary dateien nötig. Beachte aber das sinnfreies schreiben in Binär-Dateien diese unbrauchbar machen kann.