Was willst du den damit bezwecken?
Beiträge von bernd670
-
-
Hallo,
wenn du MZ zurückbekommst versuchst du wahrscheinlich ein EXE-Datei in ein Array zu lesen!?
-
Hallo,
schau dir mal GetKeyboardState an!
-
Bitte ein lauffähiges Beispiel posten!
-
Es geht wohl eher um die geraden Zahlen der Fibonacci-Reihe!
-
Hallo,
sollte mit ControlCommand gehen!
Spoiler anzeigen
[autoit]ShellExecute("MixMeister Studio 7.22 - FULL.exe")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WinWait("Setup - MixMeister Studio 7.2.2","This will install MixMeister S")
ControlClick("Setup - MixMeister Studio 7.2.2","This will install MixMeister S","TButton1")
WinWait("Setup - MixMeister Studio 7.2.2","Where should MixMeister Studio")
ControlClick("Setup - MixMeister Studio 7.2.2","Where should MixMeister Studio","TButton3")
WinWait("Setup - MixMeister Studio 7.2.2","Where should Setup place the p")
ControlClick("Setup - MixMeister Studio 7.2.2","Where should Setup place the p","TButton4")
WinWait("Setup - MixMeister Studio 7.2.2","Which additional tasks should ")
ControlClick("Setup - MixMeister Studio 7.2.2","Which additional tasks should ","TButton4")
WinWait("Setup - MixMeister Studio 7.2.2","Setup is now ready to begin in")
ControlClick("Setup - MixMeister Studio 7.2.2","Setup is now ready to begin in","TButton4")
WinWait("Setup - MixMeister Studio 7.2.2","Setup has finished installing ")
ControlCommand("Setup - MixMeister Studio 7.2.2","Setup has finished installing ","TNewCheckListBox1","UnCheck", "")
ControlClick("Setup - MixMeister Studio 7.2.2","Setup has finished installing ","TButton4");--- End ---
[/autoit] -
In C kann man struct verwenden. Das ist eigentlich nicht OOP, ist aber nicht weit entfernt.
Was hat struct mit OOP zu tun? Antwort, nichts!
-
Hallo,
hast du es schon mal mit der Kodierung für HTML probiert?
Ansonsten wäre dein Quellcode hilfreich! -
Hallo Andy,
du wirfst da ein paar Begriffe durcheinander. "Objektorientierte Programmierung" ist kein Programmierstil sondern eine Programmiertechnik. Es ist auch falsch das OOP mit jeder Programmiersprache möglich ist. Es ist z.B. möglich in C++ objektorientiert zu programmieren in C ist das völlig unmöglich. Auch AutoIt ist keine objektorientierte Programmiersprache, es ist zwar möglich COM-Objekte zu verwenden, dass macht die Sprache aber noch lange nicht OOP fähig.
C/C++ Programme sind auch nur solange portierbar wie die Standardbibliotheken verwendet werden und selbst dann nicht zu 100%. Sobald man eigene Systemnahe Funktionen schreibt sind die Programme nur noch mit großem aufwand portierbar.
-
Hallo,
auch nicht schlecht, dann ist es gleich im Script verankert umd muss nicht ständig neu eingegeben werden!

-
Hallo,
das würde bestimmt helfen, wobei man vllt. auch mehrere Pfade, z.B. getrennt mit Semikolon, berücksichtigen sollte.
-
Hallo,
wenn ich z.B. ein Programm schreibe das viele GUI's hat dann leg ich gerne extra Dateien für GUI's in einem Unterverzeichnis im Script-Verzeichnis ab. Diese binde ich dann mit relativer Pfadangabe ein und diese Dateien haben meines erachten nichts im UDF-Pfad zu suchen, die betreffen ja nur das aktuelle Projekt.
-
Hallo,
die neue Version gefällt mir ganz gut, ich habe nur ein kleines Problem.
Meine eigenen Includes liegen im "User Include Dir"
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. diese müssen aber mit
[autoit]#include "au3-Date"
[/autoit]statt mit
[autoit]#include <au3-Datei>
[/autoit]eingebunden werden.
Leider ersetzt mir OrganizeInclude die "" durch <> und will die Include-Datei dann entfernen wei sie angeblich nicht benötigt wird. Es wäre schön wenn Du entweder Dateien in "" ignorierst oder wenn ein "User Include Dir" angegeben ist, auch dieses mit einbezogen wird. Das gleiche gilt übrigens für Include-Dateien die mit abolutem oder relativem (vom @ScriptDir ausgehend) Pfad angegeben werden. -
Aus Erfahrung kann ich sagen das NET VIEW in solchen fällen zu unzuverläßig ist. Ich hatte es schon oft das Rechner, obwohl sich schon längere Zeit eingeschaltet sind, mit NET VIEW einfach nicht angezeigt werden. Mit meiner Funktion kann das nicht passieren, da alle Rechner die in der Domäne registriert sind einfach angepingt werden.
-
Ja, das geht!
Hier mal ein Beispiel wie man die abfragt welche Rechner der Domaine gerade ereichbar sind.
Spoiler anzeigen
Bei $szDomainName musst du den Namen deiner Domäne eintragen!
[autoit]$szDomainName = "Domain.de"
[/autoit] [autoit][/autoit] [autoit]Local $objWinNT = ObjGet("WinNT://" & $szDomainName)
[/autoit] [autoit][/autoit] [autoit]
Local $szClientFor $obj In $objWinNT
[/autoit]
$szClient = $obj.Name
If ($obj.Class = "Computer") Then
ConsoleWrite($szClient)
If (Ping($szClient, 100)) Then
ConsoleWrite(" ist Online!")
Else
ConsoleWrite(" ist Offline!")
EndIf
ConsoleWrite(@CRLF)
EndIf
NextNatürlich reicht ein Ping nicht unbedingt um festzustellen das der Rechner tatsächlich Online ist, sicherer ist wenn man evtl. RPC-Ping benutzt oder prüft ob ein bekanntes Verzeichnis auf dem Zielrechner erreichbar ist.
Über den Rest musst du dir selbst ein paar gedanken machen, sollte aber wohl kein großes Problem sein.
-
Hallo,
vllt. hilft ja der Beitrag [ gelöst ] schneiden
So sollte es auch mit FileRead und FileWrite gehen
Spoiler anzeigen
[autoit]#include <File.au3>
[/autoit] [autoit][/autoit] [autoit];|> Edit to test! <|
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;> Dateiendung der fertigen Datei
$sOutputFileExtension = "mp4"
;> Datei die gesplittet werden soll
$sFilePathToLoad = "C:\Users\xxxxx\Videos\Apologize.mp4"
;|||||||||||||||||||$sFilePath = @ScriptDir & "\Part_"
[/autoit] [autoit][/autoit] [autoit]
$sFileExtension = "." & $sOutputFileExtension & ".sf"$iTrim = 200000
[/autoit] [autoit][/autoit] [autoit];--------------
[/autoit] [autoit][/autoit] [autoit]
; Datei, die gesplittet werden soll, einlesen -> Modus 16: Erzwinge binäres (byte) Auslesen und Schreiben für FileRead und FileWrite$hFileOpen = FileOpen($sFilePathToLoad, 16)
[/autoit] [autoit][/autoit] [autoit]$sBinaeryFileData1 = FileRead($hFileOpen, $iTrim)
[/autoit] [autoit][/autoit] [autoit]
$sBinaeryFileData2 = FileRead($hFileOpen)
FileClose($hFileOpen)
;$sBinaeryFileData enthält nun den Binärycode$iFileLenght = StringLen($sBinaeryFileData1)
[/autoit] [autoit][/autoit] [autoit]
;-----------------
; 2 Dateien erstellen, mit jeweils nur Teilen aus dem Binärycode;-> File 1: enthält nur $Trim (200000) Zeichen
[/autoit] [autoit][/autoit] [autoit]
;~ _FileCreate($sFilePath & "1" & $sFileExtension)
$hFile1 = FileOpen($sFilePath & "1" & $sFileExtension, 18)
FileWrite($hFile1, $sBinaeryFileData1)
FileClose($hFile1);-> File 2: enthält nur $iFileLenght - $Trim Zeichen
[/autoit] [autoit][/autoit] [autoit]
;~ _FileCreate($sFilePath & "2" & $sFileExtension)
$hFile2 = FileOpen($sFilePath & "2" & $sFileExtension, 18)
FileWrite($hFile2, $sBinaeryFileData2)
FileClose($hFile2);-----------------
[/autoit] [autoit][/autoit] [autoit]
; Datei erstellen, inder die beiden eben erstellten Dateien, wieder vereint werden sollen
$sNewFileName = @ScriptDir & "\Video_Completed." & $sOutputFileExtension
;~ _FileCreate($sNewFileName);-----------------
[/autoit] [autoit][/autoit] [autoit]
; Dateien auslesen;-> File 1 einlesen
[/autoit] [autoit][/autoit] [autoit]
$hFile1 = FileOpen($sFilePath & "1" & $sFileExtension, 16)
$hDataFile1 = FileRead($hFile1);-> File 2 einlesen
[/autoit] [autoit][/autoit] [autoit]
$hFile2 = FileOpen($sFilePath & "2" & $sFileExtension, 16)
$hDataFile2 = FileRead($hFile2);-> Datei, inder die Codes vereint werden sollen, öffnen und beiden Codeteile einfügen
[/autoit] [autoit][/autoit] [autoit]
$hNewFile = FileOpen($sNewFileName,18)
FileWrite($hNewFile,$hDataFile1)
FileWrite($hNewFile,$hDataFile2)FileClose($hNewFile)
[/autoit] [autoit][/autoit] [autoit];- Dateigrößen anzeigen
[/autoit] [autoit][/autoit] [autoit]
ToolTip("Information:" & @CRLF & "File 1: " & FileGetSize($sFilePath & "1" & $sFileExtension) & @CRLF & "File 2: " & FileGetSize($sFilePath & "2" & $sFileExtension) & @CRLF & @CRLF & "Completed File: " & FileGetSize($sNewFileName))Sleep(4000)
[/autoit]
Exit -
-
Hallo,
man kann übrigens auch mit mit MinGW eine Resourcen-DLL erstellen.
Als erstes muss eine rc-datei erstellt werden, die ICON die ich im Beispiel benutze findet ihr im AutoIt3-Verzeichnis unter "Aut2Exe\Icons".resource.rc
Code
Alles anzeigen/////////////////////////////////////////////////////////////////////////////// // Icon resources 1 ICON DISCARDABLE "AutoIt_Main_v10_256x256_RGB-A.ico" 2 ICON DISCARDABLE "AutoIt_Main_v10_48x48_256.ico" 3 ICON DISCARDABLE "AutoIt_Main_v10_48x48_RGB-A.ico" 4 ICON DISCARDABLE "AutoIt_Main_v9_48x48_256.ico" 5 ICON DISCARDABLE "AutoIt_Main_v9_48x48_RGB-A.ico" 6 ICON DISCARDABLE "AutoIt_Old1.ico" 7 ICON DISCARDABLE "AutoIt_Old2.ico" 8 ICON DISCARDABLE "AutoIt_Old3.ico" 9 ICON DISCARDABLE "AutoIt_Old4.ico" 10 ICON DISCARDABLE "SETUP01.ICO" 11 ICON DISCARDABLE "SETUP02.ICO" 12 ICON DISCARDABLE "SETUP03.ICO" 13 ICON DISCARDABLE "SETUP04.ICO" 14 ICON DISCARDABLE "SETUP05.ICO" 15 ICON DISCARDABLE "SETUP06.ICO" 16 ICON DISCARDABLE "SETUP07.ICO" 17 ICON DISCARDABLE "SETUP08.ICO" 18 ICON DISCARDABLE "SETUP09.ICO" 19 ICON DISCARDABLE "SETUP10.ICO" 20 ICON DISCARDABLE "SETUP11.ICO" 21 ICON DISCARDABLE "SETUP12.ICO"Danach kann man mit windres, ist bei MinGW dabei, eine Objekt-Datei mit den Resourcen erstellen.
Aus dieser Objekt-Datei wird dann mit g++ die DLL erstellt.
-
Jetzt hab ich aber das nächste Problem ... Als Return bekomme ich ein Array mit acht Werten , also 8 mal 100 als Return

Hoffe ihr könnt mir weiterhelfen

Wiel lautet jetzt die Frage ?
-
Hallo,
ich hatte im Quellcode noch die extern "C"-Option vergessen (Quellcode oben angepasst). Wichtig ist beim linken die Option "-Wl,--kill-at" damit die @-Zeichen aus den Funktionsnamen entfernt werden.
Bei mir kommt angehängte DLL heraus, kannst es ja mal mit dieser probieren.