1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. bernd670

Beiträge von bernd670

  • _FileReadToArray ???Fehler???

    • bernd670
    • 25. Dezember 2010 um 22:17

    Was willst du den damit bezwecken?

  • _FileReadToArray ???Fehler???

    • bernd670
    • 25. Dezember 2010 um 22:09

    Hallo,

    wenn du MZ zurückbekommst versuchst du wahrscheinlich ein EXE-Datei in ein Array zu lesen!?

  • _IsPressed

    • bernd670
    • 25. Dezember 2010 um 21:27

    Hallo,

    schau dir mal GetKeyboardState an!

  • Rechenschritte verursachen Rundungsfehler

    • bernd670
    • 22. Dezember 2010 um 22:53

    Bitte ein lauffähiges Beispiel posten!

  • Project Euler Mathe Rätsel durch Algorithmen lösen

    • bernd670
    • 17. Dezember 2010 um 10:40

    Es geht wohl eher um die geraden Zahlen der Fibonacci-Reihe!

  • Programm nach der Installation nicht starten (Häkchen entfernen)

    • bernd670
    • 31. März 2010 um 17:22

    Hallo,

    sollte mit ControlCommand gehen!

    Spoiler anzeigen
    [autoit]

    ShellExecute("MixMeister Studio 7.22 - FULL.exe")
    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")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;--- End ---

    [/autoit]
  • Autoit und C++?

    • bernd670
    • 23. März 2010 um 22:36
    Zitat von Marthog

    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!

  • Probleme mit Umlauten

    • bernd670
    • 23. März 2010 um 05:57

    Hallo,

    hast du es schon mal mit der Kodierung für HTML probiert?
    Ansonsten wäre dein Quellcode hilfreich!

  • Autoit und C++?

    • bernd670
    • 20. März 2010 um 21:06

    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.

  • Organize Includes

    • bernd670
    • 18. März 2010 um 21:41

    Hallo,

    auch nicht schlecht, dann ist es gleich im Script verankert umd muss nicht ständig neu eingegeben werden! :thumbup:

  • Organize Includes

    • bernd670
    • 17. März 2010 um 16:17

    Hallo,

    das würde bestimmt helfen, wobei man vllt. auch mehrere Pfade, z.B. getrennt mit Semikolon, berücksichtigen sollte.

  • Organize Includes

    • bernd670
    • 17. März 2010 um 06:05

    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.

  • Organize Includes

    • bernd670
    • 14. März 2010 um 22:02

    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.

    Dateien

    SciTE Config.png 12,73 kB – 0 Downloads
  • @Domäne - IP

    • bernd670
    • 11. März 2010 um 22:49

    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.

  • @Domäne - IP

    • bernd670
    • 11. März 2010 um 22:31

    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)
    Local $szClient

    [/autoit] [autoit][/autoit] [autoit]

    For $obj In $objWinNT
    $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
    Next

    [/autoit]

    Natü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.

  • Dateien splitten

    • bernd670
    • 10. März 2010 um 21:41

    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! <|
    ;> Dateiendung der fertigen Datei
    $sOutputFileExtension = "mp4"
    ;> Datei die gesplittet werden soll
    $sFilePathToLoad = "C:\Users\xxxxx\Videos\Apologize.mp4"
    ;|||||||||||||||||||

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $sFilePath = @ScriptDir & "\Part_"
    $sFileExtension = "." & $sOutputFileExtension & ".sf"

    [/autoit] [autoit][/autoit] [autoit]

    $iTrim = 200000

    [/autoit] [autoit][/autoit] [autoit]

    ;--------------
    ; Datei, die gesplittet werden soll, einlesen -> Modus 16: Erzwinge binäres (byte) Auslesen und Schreiben für FileRead und FileWrite

    [/autoit] [autoit][/autoit] [autoit]

    $hFileOpen = FileOpen($sFilePathToLoad, 16)

    [/autoit] [autoit][/autoit] [autoit]

    $sBinaeryFileData1 = FileRead($hFileOpen, $iTrim)
    $sBinaeryFileData2 = FileRead($hFileOpen)
    FileClose($hFileOpen)
    ;$sBinaeryFileData enthält nun den Binärycode

    [/autoit] [autoit][/autoit] [autoit]

    $iFileLenght = StringLen($sBinaeryFileData1)
    ;-----------------
    ; 2 Dateien erstellen, mit jeweils nur Teilen aus dem Binärycode

    [/autoit] [autoit][/autoit] [autoit]

    ;-> File 1: enthält nur $Trim (200000) Zeichen
    ;~ _FileCreate($sFilePath & "1" & $sFileExtension)
    $hFile1 = FileOpen($sFilePath & "1" & $sFileExtension, 18)
    FileWrite($hFile1, $sBinaeryFileData1)
    FileClose($hFile1)

    [/autoit] [autoit][/autoit] [autoit]

    ;-> File 2: enthält nur $iFileLenght - $Trim Zeichen
    ;~ _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

    [/autoit] [autoit][/autoit] [autoit]

    ;-> File 1 einlesen
    $hFile1 = FileOpen($sFilePath & "1" & $sFileExtension, 16)
    $hDataFile1 = FileRead($hFile1)

    [/autoit] [autoit][/autoit] [autoit]

    ;-> File 2 einlesen
    $hFile2 = FileOpen($sFilePath & "2" & $sFileExtension, 16)
    $hDataFile2 = FileRead($hFile2)

    [/autoit] [autoit][/autoit] [autoit]

    ;-> Datei, inder die Codes vereint werden sollen, öffnen und beiden Codeteile einfügen
    $hNewFile = FileOpen($sNewFileName,18)
    FileWrite($hNewFile,$hDataFile1)
    FileWrite($hNewFile,$hDataFile2)

    [/autoit] [autoit][/autoit] [autoit]

    FileClose($hNewFile)

    [/autoit] [autoit][/autoit] [autoit]

    ;- Dateigrößen anzeigen
    ToolTip("Information:" & @CRLF & "File 1: " & FileGetSize($sFilePath & "1" & $sFileExtension) & @CRLF & "File 2: " & FileGetSize($sFilePath & "2" & $sFileExtension) & @CRLF & @CRLF & "Completed File: " & FileGetSize($sNewFileName))

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(4000)
    Exit

    [/autoit]
  • Absturz bei DllCall

    • bernd670
    • 4. Februar 2010 um 22:14

    Hallo,

    ändere mal

    Code
    __declspec(dllexport) void WriteGBXIni(char* INIname, char* GBXname)

    in

    Code
    __declspec(dllexport) void __stdcall WriteGBXIni(char* INIname, char* GBXname)
  • C++ - Icon in DLL hinzufügen

    • bernd670
    • 16. Januar 2010 um 22:46

    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
    ///////////////////////////////////////////////////////////////////////////////
    // 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"
    Alles anzeigen

    Danach kann man mit windres, ist bei MinGW dabei, eine Objekt-Datei mit den Resourcen erstellen.

    Code
    windres resource.rc -o resource.o

    Aus dieser Objekt-Datei wird dann mit g++ die DLL erstellt.

    Code
    g++ -shared -o resource.dll resource.o
  • C++ DLL

    • bernd670
    • 16. Januar 2010 um 22:11
    Zitat von nof@ker2

    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 :thumbup: ^^

    Wiel lautet jetzt die Frage ?

  • C++ DLL

    • bernd670
    • 16. Januar 2010 um 22:01

    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.

    Dateien

    test.zip 2,84 kB – 285 Downloads

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™