Ein MendelMax auch wenn es nicht passieren wird :D.
Beiträge von chip
-
-
-
Herzlichenglücksstrumpf zum Geburtstag :).
-
Den CRC32 Script in Autoit ist schlicht fehlerhaft. Hier ein funktionierendes:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0,"",_CRC32("a"))Func _CRC32($Data, $CRC32 = -1)
[/autoit] [autoit][/autoit] [autoit]
Local $Opcode = '0xC800040053BA2083B8EDB9000100008D41FF516A0859D1E8730231D0E2F85989848DFCFBFFFFE2E78B5D088B4D0C8B451085DB7416E3148A1330C20FB6D2C1E80833849500FCFFFF43E2ECF7D05BC9C21000'Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($Opcode) & "]")
[/autoit] [autoit][/autoit] [autoit]
DllStructSetData($CodeBuffer, 1, $Opcode)Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")
[/autoit] [autoit][/autoit] [autoit]
DllStructSetData($Input, 1, $Data)Local $Ret = DllCall("user32.dll", "uint", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
[/autoit] [autoit][/autoit] [autoit]
"ptr", DllStructGetPtr($Input), _
"int", BinaryLen($Data), _
"uint", $CRC32, _
"int", 0)$Input = 0
[/autoit] [autoit][/autoit] [autoit]
$CodeBuffer = 0Return $Ret[0]
[/autoit]
EndFunc ;==>_CRC32 -
Ich würde einfach schauen ob PBT_APMRESUMEAUTOMATIC und PBT_APMRESUMESUSPEND zu selben Zeit erstellt wurden. Wenn ja ist es durch Benutzereingab geweckt worden, wenn nicht dann durch das System.
-
Dir ist aber bewusst das das Löschen des Profilordners alleine zu Problemen führen kann da mehrere Registrypfade dorthin verweisen.
Dafür gibt es von Microsoft extra ein Kommandozeilentool: http://www.microsoft.com/en-us/download/details.aspx?id=5405
-
Ist das ganze vielleicht eine Webseite mit Frames?
-
Also ich habe den html-Teil den gepostet hast mal lokal getestet und da geht das Script Problemlos.
Zwei Sachen die möglich sind:
1. Die URL die im Script eingetragen hast ist falsch
2. Die URL ist du lang für _IECreate wobei ich das weniger glaube. -
Es ist nicht dein Wettbewerb, ergo kann General Kaboom Regeln aufstellen wie er sie will. Also hör auf rumzuspammen.
-
[*]Das Programm muss durchgehend regelkonform eingerückt werden.Nach welchen Regeln? STRG +T Scite oder andere?
-
Alles gute zum Geburtstag

-
Alles anzeigen
1. client.exe :
beim compilieren wird alles was mit _GetIntersection zu tun hat bemängelt. ich habe keine au3 datei dafür.CD:\soft deployment\client.au3(24,10) : ERROR: can't open include file <_GetIntersection.au3>. #include <_GetIntersection.au3> ~~~~~~~~~^ D:\soft deployment\client.au3(199,60) : ERROR: _GetIntersection(): undefined function. $ret = _GetIntersection($programme, $localprogramme, 0, ' ') ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ D:\soft deployment\client.au3 - 2 error(s), 0 warning(s)Hier die _GetIntersection:
Spoiler anzeigen
[autoit];==================================================================================================
[/autoit]
; Function Name: _GetIntersection($Set1, $Set2 [, $GetAll=0 [, $Delim=Default]])
; Description:: Detect from 2 sets
; - Intersection (elements are contains in both sets)
; - Difference 1 (elements are contains only in $Set1)
; - Difference 2 (elements are contains only in $Set2)
; Parameter(s): $Set1 set 1 (1D-array or delimited string)
; $Set2 set 2 (1D-array or delimited string)
; optional: $GetAll 0 - only one occurence of every different element are shown (Default)
; 1 - all elements of differences are shown
; optional: $Delim Delimiter for strings (Default use the separator character set by Opt("GUIDataSeparatorChar") )
; Return Value(s): Succes 2D-array [i][0]=Intersection
; [i][1]=Difference 1
; [i][2]=Difference 2
; Failure -1 @error set, that was given as array, is'nt 1D-array
; Note: Comparison is case-sensitiv! - i.e. Number 9 is different to string '9'!
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;==================================================================================================
Func _GetIntersection(ByRef $Set1, ByRef $Set2, $GetAll=0, $Delim=Default)
Local $o1 = ObjCreate("System.Collections.ArrayList")
Local $o2 = ObjCreate("System.Collections.ArrayList")
Local $oUnion = ObjCreate("System.Collections.ArrayList")
Local $oDiff1 = ObjCreate("System.Collections.ArrayList")
Local $oDiff2 = ObjCreate("System.Collections.ArrayList")
Local $tmp, $i
If $GetAll <> 1 Then $GetAll = 0
If $Delim = Default Then $Delim = Opt("GUIDataSeparatorChar")
If Not IsArray($Set1) Then
If Not StringInStr($Set1, $Delim) Then
$o1.Add($Set1)
Else
$tmp = StringSplit($Set1, $Delim, 1)
For $i = 1 To UBound($tmp) -1
$o1.Add($tmp[$i])
Next
EndIf
Else
If UBound($Set1, 0) > 1 Then Return SetError(1,0,-1)
For $i = 0 To UBound($Set1) -1
$o1.Add($Set1[$i])
Next
EndIf
If Not IsArray($Set2) Then
If Not StringInStr($Set2, $Delim) Then
$o2.Add($Set2)
Else
$tmp = StringSplit($Set2, $Delim, 1)
For $i = 1 To UBound($tmp) -1
$o2.Add($tmp[$i])
Next
EndIf
Else
If UBound($Set2, 0) > 1 Then Return SetError(1,0,-1)
For $i = 0 To UBound($Set2) -1
$o2.Add($Set2[$i])
Next
EndIf
For $tmp In $o1
If $o2.Contains($tmp) And Not $oUnion.Contains($tmp) Then $oUnion.Add($tmp)
Next
For $tmp In $o2
If $o1.Contains($tmp) And Not $oUnion.Contains($tmp) Then $oUnion.Add($tmp)
Next
For $tmp In $o1
If $GetAll Then
If Not $oUnion.Contains($tmp) Then $oDiff1.Add($tmp)
Else
If Not $oUnion.Contains($tmp) And Not $oDiff1.Contains($tmp) Then $oDiff1.Add($tmp)
EndIf
Next
For $tmp In $o2
If $GetAll Then
If Not $oUnion.Contains($tmp) Then $oDiff2.Add($tmp)
Else
If Not $oUnion.Contains($tmp) And Not $oDiff2.Contains($tmp) Then $oDiff2.Add($tmp)
EndIf
Next
Local $UBound[3] = [$oDiff1.Count,$oDiff2.Count,$oUnion.Count], $max = 1
For $i = 0 To UBound($UBound) -1
If $UBound[$i] > $max Then $max = $UBound[$i]
Next
Local $aOut[$max][3]
If $oUnion.Count > 0 Then
$i = 0
For $tmp In $oUnion
$aOut[$i][0] = $tmp
$i += 1
Next
EndIf
If $oDiff1.Count > 0 Then
$i = 0
For $tmp In $oDiff1
$aOut[$i][1] = $tmp
$i += 1
Next
EndIf
If $oDiff2.Count > 0 Then
$i = 0
For $tmp In $oDiff2
$aOut[$i][2] = $tmp
$i += 1
Next
EndIf
Return $aOut
EndFunc ;==>_GetIntersection2. client.exe zeile 30 :
[autoit]$freigabe = "ProgrammeAutoit$"
[/autoit]
bleibt das so oder muss ich das mit irgendwas austauschen?Kommt drauf an wie deine Freigabe heißt. Im meinen Fall halt ProgrammeAutoit$
3. Die grafische oberfläche :
trotz eines programms das ich testweise hinzugefügt habe, taucht es nicht auf.
wenn ich auf wake up klicke beendet sich das script mit folgendem fehlerMuss ich mir morgen mal anschauen.
-
Der Code ist sicherlich kein "absoluter Blödsinn". Und das: "War nur zur Vollständigkeit bezüglich Split-Regexp und .net Framework." ist ziemlich falsch, da, wie wir schon erörtert haben, du noch nichtmal weist ob das überhaupt benutzt wird.Ich merke schon mit lesen hast es nicht so wirklich ;). Das war die Antwort auf die indirekte Aussage von Autobert bezüglich Split-Regexp wäre nur mit .net 4.5 möglich.
Denn du hast behauptet, du hast den Code.
Wo?

Definitiv verwendet StringSplit() keine Regulären Ausdrücke.
Aber kleiner Mann auf deinen Beweis das in der aktuellen Autoitversion kein Regexp benutzt wird warte ich nach wie vor vergeblich.
-
Hättest du dann, wie Ineluki, den Code gelesen, wüsstest du, das kein RegEx benutzt wird.
Im Gegensatz zu dir kleiner Mann sage ich ja nix dagegen das ich mich geirrt habe
(wobei das nach wir vor nicht bewiesen ist wie es im aktuellen Code ist bzw. es absoluter Blödsinn ist nicht bereits vorhanden C Methoden zu verwenden). War nur zur Vollständigkeit bezüglich Split-Regexp und .net Framework. -
-
OK,jetzt weis ich warum du folgerst dass AutoIt es so macht. Ich habe aber kein .NET Framework 4.5 installiert und bisher auch nirgends gelesen dass AutoIt überhaupt irgendein .NET Framework benötigt. Trotzdem funktioniert StringSplit bei mir also kann (muss aber nicht)deine Folgerung auch ein Trugschluss sein. Da AutoIt lt. Hilfe auch mit Win 95 läuft drängt sich bei mir der Verdacht auf, dass dies so ist.
mfg autoBert
Diese Funktion ist keine explizieter Bestandteil von .NET Framework 4.5. Du kannst das sogar über native C++ mit split_regex bis native C mit strtok runterbrechen.
-
Definitiv verwendet StringSplit() keine Regulären Ausdrücke. Das gilt nicht für String UDF Funktionen, das ist richtig.
Statt einfach mal eine nüchterne Erklärung zu bieten, wieder mal so richtig typisch chip. Komm doch mal von deinem Ross runter und erleuchte uns.
Leg ich dir halt mal den Arm aus der Sonne: http://msdn.microsoft.com/de-de/library/…=vs.110%29.aspx
Und nun bist du dran minx, beweise mal das nicht Regexp benutzt.
-
Verwechselst du _StrinBetween, was definitiv genauso wie _StringProper RegEx benutzt, mit StringSplit? Oder hast du den Source des AutoItinterpreters?mfg autoBert
Logische Schlussfolgerung.
Definitiv verwendet StringSplit() keine Regulären Ausdrücke.
Was dann ;)?
-
String-Funktionen nutzen regüläre Ausdrücke. In deinem Fall wird es im vergleich zu manuellen Regexp kaum einen Unterschied machen.
-
Du musst erst das Theme entfernen:
Spoiler anzeigen
[autoit]; 0. Deklarationen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
AutoItSetOption("MustDeclareVars", 1)
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>Global $iFensterBreite = 600, $iFensterHoehe = 480
[/autoit] [autoit][/autoit] [autoit]
Global $gui, $sGuiName = "HTML erzeugen"
Global $gGuiTab, $gGuiTabItem[2]Dim $msg
[/autoit] [autoit][/autoit] [autoit]
Dim $gGruppe1, $gGruppe2, $gGruppe3
Dim $gCheckDatWeb, $gCheckHTMLbild, $gCheckHTMLstart
Dim $sDatWebText = "Daten Website", $sHTMLbildText = "HTML Bildseite", $sHTMLstartText = "HTML Startseite"; 1. Erzeuge GUI
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1)
$gui = GUICreate($sGuiName, $iFensterBreite, $iFensterHoehe, 10, 10)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked"); Tab Produktion
[/autoit] [autoit][/autoit] [autoit]
$gGuiTab = GUICtrlCreateTab(10, 10, $iFensterBreite - 20, $iFensterHoehe - 20, BitOR($GUI_SS_DEFAULT_TAB, $TCS_MULTILINE))
$gGuiTabItem[1] = GUICtrlCreateTabItem("Produktion"); Gruppe mit Skriptnamen für Websites
[/autoit] [autoit][/autoit] [autoit]
$gGruppe1 = GUICtrlCreateGroup("Website-Skripte", 20, 40, 130, 100)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($gGruppe1), "wstr", 0, "wstr", 0)
GUICtrlSetColor($gGruppe1, 0x4169e1)
$gCheckDatWeb = GUICtrlCreateCheckbox($sDatWebText, 25, 60, 120, 20)
$gCheckHTMLbild = GUICtrlCreateCheckbox($sHTMLbildText, 25, 85, 120, 20)
$gCheckHTMLstart = GUICtrlCreateCheckbox($sHTMLstartText, 25, 110, 120, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1) ; Gruppe schliessenGUICtrlCreateTabItem("")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW); 2. GUI on Event-Mode
[/autoit] [autoit][/autoit] [autoit]
While 1
Sleep(1000) ; Häng rum
WEndFunc CLOSEClicked()
[/autoit]
Exit
EndFunc ; ==> CLOSEClicked