In dem Thread hier fehlt jetzt zumindest dein letzter Stand.
Was ist mit Kanashius Post. Was daran funktioniert nicht.
Ohne gute Beschreibung kommt hier sicher keine Lösung zustande
Beiträge von Schnitzel
-
-
Zum Beispiel so:
[autoit]Func _GetDSCPath($sPath)
[/autoit]
if StringInStr($sPath,"\DSC\") then
$ar=StringSplit($sPath,"\DSC\")
return "DSC\"&$ar[$ar[0]]
else
SetError(1)
endif
EndFuncIst aber ohne StringRegExpReplace
Das geht aber mit stringtrimleft viel leichter -
Entweder musst du selbst eine Intelligenz bauen (FileExists, FileGetTime, Filegetsize, ...)
Oder du verwendest ein Tool das so intelligent ist (xcopy, Robocopy, Teracopy, ...) -
Alles gute nachträglich. Ich hoffe mal ihr habt ordentlich gefeiert
-
Wieso noch ein Platzhalter? Du hast am ende einen Zeilenumbruch und diesen musst du in <br> übersetzen
[autoit]
Einfach nur$sEdit = Stringreplace(Guictrlread($Edit1), @crlf, '<br>')
[/autoit] -
Also nur um das richtig einzugrenzen. In deinem Script reden wir nur von diesem Teil:
[autoit]If FileExists ("C:\Inst\AnwendungenMenues\Start_CoDeSysHMI1.cmd") Then
[/autoit]
; Arbeitsbereich des Desktop verändern (maximieren, sonst gilt der Bereich ohne Taskleiste)
$Rect = DllStructCreate('int;int;int;int')
DllStructSetData ($Rect, 1, 0) ; left
DllStructSetData ($Rect, 2, 0) ; top
DllStructSetData ($Rect, 3, 1280) ; right
DllStructSetData ($Rect, 4, 1050) ; buttom
_WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($Rect), $SPIF_SENDCHANGE)
EndIf
Der Rest ist uninteressant bzw der funktioniert immer wie gewollt.
In dem Scriptteil wird der _WinAPI Aufruf auch sicher immer ausgeführt (die Datei ...*cmd existiert) und trotzdem wird kein Bereich gesperrt?
Wenn das alles so ist dann wäre interessant ob _WinAPI_GetLastError() was brauchbares liefert. -
Warum sprichst du die ganze zeit von Comboboxen?
Die Frage ist echt kompliziert gestellt. Ich hoff mal ich habs richtig verstanden...
Du willst im Edit @crlf haben und später in der Email stattdessen <br> oder?
Ich seh nicht ganz wo das Problem liegt. Du musst doch einfach nur eine Übersetzung mit Stringreplace machen -
Ich kann das Problem nicht nachvollziehen. Bei mir wird der Bereich nicht verwendet.
Bewirken denn die WinApi Kommandos überhaupt irgendwas bei dir? -
Vielleicht ist es einfacher, einfach vorher einen unsichtbaren Button zu erstellen, der dann einfach nur "visible" geschaltet wird?
Die Möglichkeit wurde bereits in Post #2 genannt und in Post #5 ist ein Beispiel^^ -
Das Thema hatten wir hier bereits. Und mit bissel Google findet man sogar was
Und genau das verwendet er auch.Das Problem kann ich leider nicht nachvollziehen. Vollbildfenster überlagern bei mir den Bereich nicht. Nur Fenster die nicht im Vollbild sind können in den Bereich geschoben werden.
Ist das Problem vielleicht blos bei einer bestimmten Anwendung? Oder ist das mit allen Fenstern so? -
-
(Fast) alles ist möglich. Das hier auf jeden Fall. Nur ist es unter umständen garnicht sinnvoll so zu arbeiten.
Was genau hast du denn vor?Meistens ist es intelligenter alle buttons am Anfang des Scriptes zu erstellen und auszublenden. Wenn er dann benötigt wird muss er einfach nur angezeigt werden
-
Wir haben auch kein anderes Pixelsearch als du. Mehr gibts nativ nicht. Wenndann über irgendwelche udf's oder direkt per ddl-calls
Erklär doch endlich mal wofür du Pixelsearch brauchst!!! -
-
Umso besser
P.S. wie markiere ich einen Thread als gelöst?
Indem du den ersten Beitrag bearbeitest und das Präfix gelöst wählst -
Wenn die erste Zeile komplett leer ist dann funktioniert UsedRange.Rows.Count wohl nicht richtig.
Nach kurzem googln bin ich auf das gestoßen:
http://www.autoitscript.com/forum/topic/11…e-2#entry816384Bin zwar kein Excel Experte, aber versuchs doch mal statt:
[autoit]$iLastRow = $oExcel.Activesheet.UsedRange.Rows.Count
[/autoit]
[autoit]
Mit$iLastRow = $oExcel.ActiveSheet.Range("A65536").End(-4162).Row
[/autoit]
Das sucht die letzte verwendete Zeile in Spalte A. Funktioniert aber nur bis zur Zeile 65536
Blöd wäre halt wenn Spalte A in der letzten Zeile leer ist und in der Zeile aber was in einer anderen Spalte steht.
Deswegen ist es vllt schöner in die erste Zeile einfach was zu schreiben oder eine der Zellen in der ersten Zeile umzuformatieren (ein anderer Rahmen z.b. reicht schon)
-
was genau muss $path sein? nochmal der ganze pfad??
Wieso "nochmal" der ganze Pfad? Ist doch klar dass du irgendwo den ganzen Pfad an einer Stelle angeben musst oder zumindest den relativen Pfad zum Workingdir
Woher sollte er sonst auch wissen wo die Datei liegt?Am besten wäre es immer wenn du deinen Versuch mitpostest. Damit man besser versteht wo der Fehler liegt
-
Na das hört sich doch schonmal gut an
-
An dem geposteten Codeschnipseln ist nichts falsch.
Was machst du zwischen den Zeilen? Oder wird eine der Variablen vielleicht irgendwo überschrieben?
Poste mal bitte den ganzen zusammenhängenden Teil mit dem Fehler.Der Thread gehört eigentlich in Hilfe & Unterstützung
-
Die aktuellste Hilfe ist (noch) nicht ins deutsche übersetzt.
Die jeweilige englische version kommt mit der Installation von autoit. Die aktuellste Onlinedoku ist hier https://www.autoitscript.com/autoit3/docs/