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

  • Tool zum Updates installieren - Ein paar Fragen

    • bernd670
    • 29. Mai 2007 um 23:00

    Wo liegt jetzt der Unterschied zur Lösung die BugFix vorgeschlagen hat?

    [autoit]

    Case StringLen($array_datum[$i][0]) = 30
    _Reg1($i)
    If $installiert = 0 Then ;>>>>>>>>>>>>>>>>>>>>>>>>>>>> 0
    _start1()
    EndIf

    [/autoit]


    [autoit]

    Func _Reg1($i)
    $kb = StringMid($array_datum[$i][0], 11, 8)
    $reg = RegRead($schluessel1 & "\" & $kb,"Installed")
    If $reg = "1" Then
    $installiert = 1
    GUICtrlCreateListViewItem($kb & "|bereits installiert", $ListView)
    Else
    $installiert = 0
    GUICtrlCreateListViewItem($kb & "|wird installiert", $ListView)
    EndIf
    ;~ Next
    EndFunc

    [/autoit]
  • Tool zum Updates installieren - Ein paar Fragen

    • bernd670
    • 29. Mai 2007 um 22:07
    Zitat

    Original von Tweaky
    BugFix
    ja dies hatte ich vorhin mal, nur ergibt sich da ein Problem.
    Bsp. es sollen 3 Dateien verarbeitet werden

    die Funktion _button() wird aufgerufen, dann werden Teile davon 3x aufgeführt.

    Da nun die Func _Reg1() aus dieser Func _button() aufgerufen wird, wird Func_Reg1() insgesamt 9x aufgerufen.

    Dies ist zu viel

    Wenn eine Funktion, an der gleichen Stelle, mit oder ohne Parameter aufgerufen wird ändert sich doch nichts an der Anzahl der aufrufe! :hammer:

  • Cleware USBaccess.dll in AutoIt nutzen

    • bernd670
    • 29. Mai 2007 um 21:53

    Ich habe die Lösung des Problems:
    [list=1]
    [*] Muß man die Funktionen verwenden die mit FCW anfangen, die anderen Funktionen können nur mit C++ oder Delphi (OOP) benutzt werden.

    [*] Bei der Erstellung der DLL wurde ein Parameter vergessen der Die Funktionsnamen auch für andere Sprachen lesbar macht. Dadurch steht vor den Funktionsnamen noch ein '_' und am Ende des Funktonsnamen steht ein '@' und eine Zahl die angibt wieviel Byte für die Parameterübergabe benötigt wird (ist abhänig von der Anzahl und Art der Parameter).
    [/list=1]


    Ich habe an den Anfang der Datei mal die Funktonsnamen geschrieben wie diese zu Verwenden sind. Die Funkton FCWSetTempOffset scheint nicht mehr oder noch nicht zu existieren, sie war zumindest nicht in der DLL enthalten.

    Spoiler anzeigen
    [autoit]

    #region Funktionsnamen aus der USBAccess.DLL
    ;~ _USBaccessInitObject@0 --> USBACCESS_API CUSBaccess * _stdcall USBaccessInitObject() ;
    ;~ _USBaccessUnInitObject@4 --> USBACCESS_API void _stdcall USBaccessUnInitObject(CUSBaccess *) ;
    ;~ _FCWInitObject@0 --> USBACCESS_API CUSBaccess * _stdcall FCWInitObject() ;
    ;~ _FCWUnInitObject@4 --> USBACCESS_API void _stdcall FCWUnInitObject(CUSBaccess *obj) ;
    ;~ _FCWOpenCleware@4 --> USBACCESS_API int _stdcall FCWOpenCleware(CUSBaccess *obj) ;
    ;~ _FCWCloseCleware@4 --> USBACCESS_API int _stdcall FCWCloseCleware(CUSBaccess *obj) ;
    ;~ _FCWRecover@8 --> USBACCESS_API int _stdcall FCWRecover(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetHandle@8 --> USBACCESS_API HANDLE _stdcall FCWGetHandle(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetValue@16 --> USBACCESS_API int _stdcall FCWGetValue(CUSBaccess *obj, int deviceNo, unsigned char *buf, int bufsize) ;
    ;~ _FCWSetValue@16 --> USBACCESS_API int _stdcall FCWSetValue(CUSBaccess *obj, int deviceNo, unsigned char *buf, int bufsize) ;
    ;~ _FCWSetLED@16 --> USBACCESS_API int _stdcall FCWSetLED(CUSBaccess *obj, int deviceNo, enum LED_IDs Led, int value) ; // value: 0=off 7=medium 15=highlight
    ;~ _FCWGetSwitch@12 --> USBACCESS_API int _stdcall FCWSetSwitch(CUSBaccess *obj, int deviceNo, enum SWITCH_IDs Switch, int On) ; // On: 0=off, 1=on
    ;~ _FCWSetSwitch@16 --> USBACCESS_API int _stdcall FCWGetSwitch(CUSBaccess *obj, int deviceNo, enum SWITCH_IDs Switch) ; // On: 0=off, 1=on, -1=error
    ;~ _FCWGetSeqSwitch@16 --> USBACCESS_API int _stdcall FCWGetSeqSwitch(CUSBaccess *obj, int deviceNo, enum SWITCH_IDs Switch, int seqNum) ; // On: 0=off, 1=on, -1=error
    ;~ _FCWGetSwitchConfig@16 --> USBACCESS_API int _stdcall FCWGetSwitchConfig(CUSBaccess *obj, int deviceNo, int *switchCount, int *buttonAvailable) ;
    ;~ *********************** --> USBACCESS_API int _stdcall FCWSetTempOffset(CUSBaccess *obj, int deviceNo, double Sollwert, double Istwert) ;
    ;~ _FCWGetTemperature@16 --> USBACCESS_API int _stdcall FCWGetTemperature(CUSBaccess *obj, int deviceNo, double *Temperature, int *timeID) ;
    ;~ _FCWGetHumidity@16 --> USBACCESS_API int _stdcall FCWGetHumidity(CUSBaccess *obj, int deviceNo, double *Humidity, int *timeID) ;
    ;~ _FCWResetDevice@8 --> USBACCESS_API int _stdcall FCWResetDevice(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWStartDevice@8 --> USBACCESS_API int _stdcall FCWStartDevice(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWCalmWatchdog@16 --> USBACCESS_API int _stdcall FCWCalmWatchdog(CUSBaccess *obj, int deviceNo, int minutes, int minutes2restart) ;
    ;~ _FCWGetVersion@8 --> USBACCESS_API int _stdcall FCWGetVersion(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetUSBType@8 --> USBACCESS_API int _stdcall FCWGetUSBType(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetSerialNumber@8 --> USBACCESS_API int _stdcall FCWGetSerialNumber(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetDLLVersion@0 --> USBACCESS_API int _stdcall FCWGetDLLVersion() ;
    ;~ _FCWGetManualOnCount@8 --> USBACCESS_API int _stdcall FCWGetManualOnCount(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetManualOnTime@8 --> USBACCESS_API int _stdcall FCWGetManualOnTime(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetOnlineOnCount@8 --> USBACCESS_API int _stdcall FCWGetOnlineOnCount(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetOnlineOnTime@8 --> USBACCESS_API int _stdcall FCWGetOnlineOnTime(CUSBaccess *obj, int deviceNo) ;
    ;~ _FCWGetMultiSwitch@20 --> USBACCESS_API int _stdcall FCWGetMultiSwitch(CUSBaccess *obj, int deviceNo, unsigned long int *mask, unsigned long int *value, int seqNumber) ;
    ;~ _FCWSetMultiSwitch@12 --> USBACCESS_API int _stdcall FCWSetMultiSwitch(CUSBaccess *obj, int deviceNo, unsigned long int value) ;
    ;~ _FCWSetMultiConfig@12 --> USBACCESS_API int _stdcall FCWSetMultiConfig(CUSBaccess *obj, int deviceNo, unsigned long int directions) ;
    ;~ _FCWGetCounter@12 --> USBACCESS_API int _stdcall FCWGetCounter(CUSBaccess *obj, int deviceNo, int counter) ;
    ;~ _FCWSyncDevice@12 --> USBACCESS_API int _stdcall FCWSyncDevice(CUSBaccess *obj, int deviceNo, unsigned long int mask) ;
    ;~ _FCWDebugWrite@8 --> USBACCESS_API void _stdcall FCWDebugWrite(CUSBaccess *obj, char *s) ;
    #endregion

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

    #NoTrayIcon
    #include <Array.au3>
    #include <Constants.au3>
    #include <GUIConstants.au3>

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

    Opt("OnExitFunc", "_OnExit")
    Opt("MustDeclareVars", 0)

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

    Global Const $cszDLLPATH = @ScriptDir & "\USBaccess.dll"

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

    Global $h_Dll = -1
    Global $ptrCUSBAccess = _Init($cszDLLPATH)

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

    main()

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

    Func _ClewareGetDLLVersion()
    $dllret = DllCall($h_Dll, "int", "_FCWGetDLLVersion@0")
    MsgBox(0,"",$dllret[0])
    EndFunc

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

    Func _ClewareGetTemp()
    Local $dllret = -1


    $dllret = DllCall($h_Dll, "int", "_FCWOpenCleware@4", "ptr", $ptrCUSBAccess)
    Select
    Case @error == 0
    MsgBox(16, "Notification", "Gefundene Geräte: " & $dllret[0])
    Case @error == 1
    MsgBox(16, "Error", "Unable to use " & $cszDLLPATH)
    Case @error == 2
    MsgBox(16, "Error", "Unknown return type.")
    Case @error == 3
    MsgBox(16, "Error", "Function not found in " & $cszDLLPATH)
    EndSelect

    EndFunc

    Func main()
    Local Const $S_APPTITLE = "USB Temperature"
    Local Const $S_APPVERSION = "1.0"
    Local $h_maingui, $h_readtempbt, $a_msg = -1

    $h_maingui = GUICreate($S_APPTITLE & " v" & $S_APPVERSION, 640, 480, -1, -1, $WS_BORDER + $WS_SYSMENU + $WS_VISIBLE)
    $h_readtempbt = GUICtrlCreateButton("&Read Temperature", 10, 10, 120, 20)
    $h_readDLLVersion = GUICtrlCreateButton("&DLL Version", 160, 10, 120, 20)

    While 1
    $a_msg = GUIGetMsg(1)
    Select
    Case $a_msg[0] == $GUI_EVENT_CLOSE
    ExitLoop
    Case $a_msg[0] == $h_readtempbt
    _ClewareGetTemp()
    Case $a_msg[0] == $h_readDLLVersion
    _ClewareGetDLLVersion()
    EndSelect
    WEnd
    GUIDelete($h_maingui)
    Exit(0)
    EndFunc

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

    Func _Init($s_dllpath)
    $h_dll = DllOpen($s_dllpath)
    If $h_dll == -1 Then
    MsgBox(16, "Error", "Unable to open " & $s_dllpath)
    Exit
    EndIf

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

    $ptrCW = DllCall($h_dll, "ptr", "_FCWInitObject@0")

    If IsArray($ptrCW) And $ptrCW[0] > 0 Then Return $ptrCW[0]
    MsgBox(16, "Error", "Invalid address on FCWInitOject!")
    Exit
    EndFunc

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

    Func _OnExit()
    DllClose($h_dll)
    EndFunc

    [/autoit]
  • Cleware USBaccess.dll in AutoIt nutzen

    • bernd670
    • 29. Mai 2007 um 11:08

    Du rufst DllCall verkehrt auf!

    nicht:

    [autoit]

    $dllret = DllCall($h_dll, "OpenCleware", "int")

    [/autoit]


    sondern:

    [autoit]

    $dllret = DllCall($h_dll, "int", "OpenCleware")

    [/autoit]
  • Kann Checkbox nicht auswählen!

    • bernd670
    • 28. Mai 2007 um 23:14

    Zum Bsp. so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <Array.au3>
    #include <IE.au3>

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

    $UpLoadFile = "D:\Eigene Dateien\Fotos\Bitmap\IMG_0402.JPG"

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

    _IEErrorHandlerRegister ()

    $oIE = _IECreateEmbedded ()
    GUICreate("abload.de - Uploader | [email='alexirsi@gmail.com'][/email]", 300, 300, -1,-1, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 300, 300)

    GUISetState() ;Show GUI

    _IENavigate($oIE, "http://www.abload.de",1)
    $oForm = _IEFormGetCollection ($oIE,0)

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

    ; Dateinamen eintragen
    $oInputFile = _IEFormElementGetObjByName($oForm, "u_file")
    _IEAction($oInputFile, "focus")
    Send($UpLoadFile)

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

    ; Checkbox für Regeln setzten
    _IEFormElementCheckBoxSelect($oForm, 0, "", 1, "byIndex")

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

    ; Bild hochladen
    $oSubmit = _IEFormElementGetObjByName($oForm, "u_submit")
    _IEAction($oSubmit,"click")
    _IELoadWait($oIE)

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

    $sText = _IEBodyReadHTML ($oIE)
    $URL = StringRegExp($sText,"(?i).*<TD class=d_desc>Thumbnail für Foren \(1\) </TD>\s*.*(\[url=.*\[/url\]).*",1)
    MsgBox(0,"",$URL[0])

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd

    [/autoit]
  • schneiden

    • bernd670
    • 28. Mai 2007 um 21:26

    Umsonst ist hier nichts, ist ja ein ganz anderer Lösungsansatz!

  • schneiden

    • bernd670
    • 28. Mai 2007 um 21:20

    So damit Du nicht mehr Stundenlang Batch-Dateien erstellen mußt!

    Die Ausgabe der fragmente wird in ein Verzeichnis ausgebeben. Der Name des Verzeichnisses ist der Name der zu splittenden Datei und als Erweiterung das aktuelle Datum und Uhrzeit im Format "JJJJMMTTHHmm".

    Wenn die CheckBox "Batchdatei zum Zusammenfügen generieren" markiert ist wird die Datei _Merge.bat im Ausgabeverzeichnis erstellt mit der die Ursprungsdatei wieder hergestellt werden kann!

    Spoiler anzeigen
    [autoit]

    ; ----------------------------------------------------------------------------
    ;
    ; AutoIt Version: 3.2.4.0
    ; Author: bernd670
    ; Impulse: Alina
    ;
    ; Script Function:
    ; File Splitting
    ;
    ; ----------------------------------------------------------------------------
    #Region Compiler directives section
    #Compiler_Prompt=y
    #Compiler_Res_Language=1031
    #Compiler_Icon=
    #Compiler_Res_LegalCopyright=bernd670 and Friends
    #Compiler_Res_Description=AutoIt v3 Skript - File Splitting
    #Compiler_Res_Comment=File Splitting
    #Compiler_OutFile_Type=exe
    #Compiler_Compression=4 ;Compression parameter 0-4 0=Low 2=normal 4=High
    #Compiler_Allow_Decompile=n
    #Compiler_Res_Field=Entwickler|bernd670
    #Compiler_Res_Field=Release Datum|%date% %time%
    #Compiler_Res_Field=Programmgruppe|Tools
    #Compiler_Res_Field=Original Dateiname|FileSplit.exe
    #Compiler_Res_Field=Version|1.0
    #Compiler_Run_Obfuscator=n
    #EndRegion

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

    #include <GUIConstants.au3>
    #include <File.au3>

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

    Opt("GUIOnEventMode", 1)

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

    Global $bFileOK = False
    Global $bSplitSizeOK = False

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

    #Region ### START Koda GUI section ### Form=D:\Entwicklung\AutoIt3\MyExamples\Forum\Users\Alina\Filesplit\FrmFileSplit.kxf
    $FrmFileSplit = GUICreate("Datei splitten", 478, 203, -1, -1)
    GUISetFont(10, 400, 0, "Arial")
    GUISetOnEvent($GUI_EVENT_CLOSE, "FrmFileSplitClose")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "FrmFileSplitMinimize")
    GUISetOnEvent($GUI_EVENT_MAXIMIZE, "FrmFileSplitMaximize")
    GUISetOnEvent($GUI_EVENT_RESTORE, "FrmFileSplitRestore")
    $LblFile = GUICtrlCreateLabel("Datei:", 32, 24, 38, 20)
    GUICtrlSetOnEvent(-1, "LblFileClick")
    $IBFile = GUICtrlCreateInput("", 76, 22, 220, 24)
    GUICtrlSetOnEvent(-1, "IBFileChange")
    $ButFileSearch = GUICtrlCreateButton("&Durchsuchen...", 304, 19, 145, 30)
    GUICtrlSetOnEvent(-1, "ButFileSearchClick")
    $LblSplit = GUICtrlCreateLabel("Teilen in max.", 32, 66, 85, 20)
    GUICtrlSetOnEvent(-1, "LblSplitClick")
    $IBSplit = GUICtrlCreateInput("", 120, 64, 176, 24, BitOR($ES_RIGHT, $ES_AUTOHSCROLL))
    GUICtrlSetOnEvent(-1, "IBSplitChange")
    $CBSplitSize = GUICtrlCreateCombo("", 304, 64, 145, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Teile|Bytes|KBytes (x 1.024)|MBytes (x 1.048.576)", "Teile")
    GUICtrlSetOnEvent(-1, "CBSplitSizeChange")
    $CBMerge = GUICtrlCreateCheckbox("Batchdatei zum Zusammenfügen generieren", 32, 108, 275, 17)
    GUICtrlSetOnEvent(-1, "CBMergeClick")
    $ButSplit = GUICtrlCreateButton("&Splitten", 236, 150, 100, 30)
    GUICtrlSetOnEvent(-1, "ButSplitClick")
    GUICtrlSetState(-1, $GUI_DISABLE)
    $ButCancel = GUICtrlCreateButton("&Beenden", 349, 150, 100, 30)
    GUICtrlSetOnEvent(-1, "ButCancelClick")
    #EndRegion ### END Koda GUI section ###

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

    #Region ### START Koda GUI section ### Form=D:\Entwicklung\AutoIt3\MyExamples\Forum\Users\Alina\Filesplit\FrmProgress.kxf
    $FrmProgress = GUICreate("Splitten...", 352, 105, 240, 198, BitOR($WS_DLGFRAME, $WS_POPUP, $WS_CLIPSIBLINGS), -1, $FrmFileSplit)
    GUISetFont(10, 400, 0, "Arial")
    GUISetOnEvent($GUI_EVENT_CLOSE, "FrmProgressClose")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "FrmProgressMinimize")
    GUISetOnEvent($GUI_EVENT_MAXIMIZE, "FrmProgressMaximize")
    GUISetOnEvent($GUI_EVENT_RESTORE, "FrmProgressRestore")
    $LblCount = GUICtrlCreateLabel("", 24, 20, 100, 20)
    GUICtrlSetOnEvent(-1, "LblCountClick")
    $LblFileName = GUICtrlCreateLabel("", 123, 20, 200, 20, $SS_RIGHT)
    GUICtrlSetOnEvent(-1, "LblFileNameClick")
    $PGCount = GUICtrlCreateProgress(24, 44, 300, 32, $PBS_SMOOTH)
    #EndRegion ### END Koda GUI section ###

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

    Func FrmProgressClose()
    EndFunc ;==>FrmProgressClose

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

    Func FrmProgressMaximize()
    EndFunc ;==>FrmProgressMaximize

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

    Func FrmProgressMinimize()
    EndFunc ;==>FrmProgressMinimize

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

    Func FrmProgressRestore()
    EndFunc ;==>FrmProgressRestore

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

    Func LblCountClick()
    EndFunc ;==>LblCountClick

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

    Func LblFileNameClick()
    EndFunc ;==>LblFileNameClick

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

    GUISetState(@SW_SHOW, $FrmFileSplit)

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

    While 1
    If $bFileOK And $bSplitSizeOK Then
    If BitAND(GUICtrlGetState($ButSplit), $GUI_DISABLE) = $GUI_DISABLE Then GUICtrlSetState($ButSplit, $GUI_ENABLE)
    Else
    If BitAND(GUICtrlGetState($ButSplit), $GUI_ENABLE) = $GUI_ENABLE Then GUICtrlSetState($ButSplit, $GUI_DISABLE)
    EndIf
    Sleep(100)
    WEnd

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

    Func ButCancelClick()
    Exit
    EndFunc ;==>ButCancelClick

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

    Func ButFileSearchClick()
    Local $szFileName = FileOpenDialog("Datei wählen", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "All (*.*)", 3)

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

    If Not @error Then
    GUICtrlSetData($IBFile, $szFileName)
    $bFileOK = True
    EndIf
    EndFunc ;==>ButFileSearchClick

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

    Func ButSplitClick()
    Local $szDrive, $szDir, $szExt, $arFile, $szBatchFile = "@ECHO OFF" & @CRLF & "COPY /B "
    Local $dwFileGetSize, $szOutputDir, $dwOutSize, $dwOutCount, $dwParts
    Local $szFileName = GUICtrlRead($IBFile)
    Local $szSplitSize = GUICtrlRead($IBSplit)

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

    $arWGPFS = WinGetPos($FrmFileSplit)
    $arWGPPG = WinGetPos($FrmProgress)

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

    WinMove($FrmProgress, "", $arWGPFS[0] + Floor($arWGPFS[2] / 2) - Floor($arWGPPG[2] / 2), $arWGPFS[1] + Floor($arWGPFS[3] / 2) - Floor($arWGPPG[3] / 2))

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

    $arFile = _PathSplit($szFileName, $szDrive, $szDir, $szFileName, $szExt)

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

    If Not IsArray($arFile) Then
    MsgBox(262160, "Fehler!", "Ein schwerwigender Fehler ist aufgetreten!" & @CRLF & "Programm wird beendet!")
    Exit
    EndIf

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

    $szOutputDir = $szDrive & $szDir & $szFileName & "." & @YEAR & @MON & @MDAY & @HOUR & @MIN & "\"
    If Not FileExists($szOutputDir) Then DirCreate($szOutputDir)

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

    $dwFileGetSize = FileGetSize($arFile[0])

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

    $szSplitSize = StringReplace($szSplitSize, ".", "")
    $szSplitSize = StringReplace($szSplitSize, ",", ".")

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

    Switch GUICtrlRead($CBSplitSize)
    Case "Teile"
    $dwOutSize = Ceiling($dwFileGetSize / Floor($szSplitSize))
    $dwOutCount = Floor($szSplitSize)

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

    Case "Bytes"
    $dwOutSize = Floor($szSplitSize)
    $dwOutCount = Ceiling($dwFileGetSize / Floor($dwOutSize))

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

    Case "KBytes (x 1.024)"
    $dwOutSize = $szSplitSize * 1024
    $dwOutCount = Ceiling($dwFileGetSize / Floor($dwOutSize))

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

    Case "MBytes (x 1.048.576)"
    $dwOutSize = $szSplitSize * 1048576
    $dwOutCount = Ceiling($dwFileGetSize / Floor($dwOutSize))

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

    EndSwitch
    $dwParts = Floor($dwOutSize / 65024) ; 127*512
    $fhRead = FileOpen($arFile[0], 16)

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

    GUISetState(@SW_SHOW, $FrmProgress)

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

    For $iCount = 1 To $dwOutCount
    $szOutFileName = StringFormat("%s.%0" & StringLen($dwOutCount) & "i", $szFileName, $iCount)
    GUICtrlSetData($LblCount, StringFormat("%i / %i", $iCount, $dwOutCount))
    GUICtrlSetData($LblFileName, $szOutFileName)
    GUICtrlSetData($PGCount, 100 / $dwOutCount * $iCount)
    $szBatchFile &= $szOutFileName
    $fhWrite = FileOpen($szOutputDir & $szOutFileName, 18)
    $szBinary = FileRead($fhRead, Mod($dwOutSize, 65024))
    FileWrite($fhWrite, $szBinary)

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

    For $iCountPart = 1 To $dwParts
    $szBinary = FileRead($fhRead, 65024)
    FileWrite($fhWrite, $szBinary)
    Next
    FileClose($fhWrite)
    If $iCount < $dwOutCount Then $szBatchFile &= " + "
    Next

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

    FileClose($fhRead)

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

    $szBatchFile &= " " & $szFileName & $szExt

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

    If BitAND(GUICtrlRead($CBMerge), $GUI_CHECKED) = $GUI_CHECKED Then
    FileWrite($szOutputDir & "_Merge.bat", $szBatchFile)
    EndIf

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

    GUISetState(@SW_HIDE, $FrmProgress)
    EndFunc ;==>ButSplitClick

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

    Func CBMergeClick()
    EndFunc ;==>CBMergeClick

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

    Func CBSplitSizeChange()
    EndFunc ;==>CBSplitSizeChange

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

    Func FrmFileSplitClose()
    Exit
    EndFunc ;==>FrmFileSplitClose

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

    Func FrmFileSplitMaximize()
    EndFunc ;==>FrmFileSplitMaximize

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

    Func FrmFileSplitMinimize()
    EndFunc ;==>FrmFileSplitMinimize

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

    Func FrmFileSplitRestore()
    EndFunc ;==>FrmFileSplitRestore

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

    Func IBFileChange()
    Local $szFileName = GUICtrlRead($IBFile)
    If Not FileExists($szFileName) Then
    $bFileOK = False
    MsgBox(262160, "Fehler!", "Datei " & Chr(34) & $szFileName & Chr(34) & @CRLF & "existiert nicht!")
    GUICtrlSetData($IBFile, "")
    Return
    EndIf
    $bFileOK = True
    EndFunc ;==>IBFileChange

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

    Func IBSplitChange()
    Local $szSplitSize = GUICtrlRead($IBSplit)
    If Not StringRegExp($szSplitSize, "\A[0-9]+(\.[0-9]{3})*(,[0-9]+)?\z") Then ; wenn keine gültige Zahl
    $bSplitSizeOK = False
    MsgBox(262160, "Fehler!", "Ungültige Eingabe!")
    GUICtrlSetState($IBSplit, $GUI_FOCUS)
    GUICtrlSetData($IBSplit, "")
    Return
    EndIf
    $bSplitSizeOK = True
    EndFunc ;==>IBSplitChange

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

    Func LblFileClick()
    EndFunc ;==>LblFileClick

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

    Func LblSplitClick()
    EndFunc ;==>LblSplitClick

    [/autoit]

    Dateien

    FileSplit.au3 8,51 kB – 310 Downloads FileSplit.exe 222,79 kB – 319 Downloads
  • Dateien des Explorers in eine ListView - kleinere Probleme

    • bernd670
    • 28. Mai 2007 um 13:33

    Hast Du es schon mal so probiert:

    [autoit]

    $ListView = GUICtrlCreateListView("Datei|Datum", 300, 10, 400, 250,BitOR($LVS_SHOWSELALWAYS, $LVS_SINGLESEL, $LVS_SORTASCENDING))

    [/autoit]
  • schneiden

    • bernd670
    • 28. Mai 2007 um 13:27

    Hallo!

    Werden damit nur TXT-Dateien geteilt oder auch Binär-Dateien wie Bilder oder änliche!

  • einträge in combo verbieten ?

    • bernd670
    • 28. Mai 2007 um 01:36

    Probier mal das:

    [autoit]

    GuiCtrlCreateCombo("", 110, 130, 440, 21,BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL,$WS_VSCROLL))

    [/autoit]
  • Dateiliste ohne FileOpenDialog

    • bernd670
    • 27. Mai 2007 um 15:03

    Wie @th.meger schon geschrieben hat, einfach

    [autoit]

    ShellExecute("Computer1.doc") ; Pfad nicht vergessen

    [/autoit]

    und es wird die Standard-Anwendung für DOC-Dateien gestartet.

  • Zwei TXT vergleichen und Zeile löschen

    • bernd670
    • 27. Mai 2007 um 14:55

    Hallo!

    _ArrayDelete benötigt die Position im Array zum löschen, nicht den String!
    Warum Du vor dem Löschen nochmal ein _ArrayAdd machst verstehe ich nicht so ganz, wenn Du löschen willst mußt Du doch nicht vorher hinzufügen!

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    #include <Array.au3>
    #include <INet.au3>
    #include <date.au3>
    ;
    Global $pathMain = "G:\referenz\referenz.prob"
    Global $pathCompare = "C:\Datensicherung\fehler.prob"
    Global $mainFile_A
    ;~ Global $oldFile_A = $mainFile_A ; Was soll das für einen Zweck haben?
    Global $compare_A
    TrayTip("MBS-N", "Tagesrohdaten von Verizon werden geladen. Bitte warten...", 60000)
    ;FileWriteLine($PROTFILE, "Am " & _NowDate & " wurden die Datein " & $compare_A[$i] & " gedownloadet."@CRLF)
    $CDR = "*.CDR"
    $PROTFILE = ""
    $Outlook2003 = @ProgramFilesDir & "\Microsoft Office\Office11\Outlook.exe"
    $PID = ProcessExists("Outlook.exe")
    ;
    If Not FileExists($pathCompare) Then
    ;_Liste()
    EndIf

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

    Sleep(12000) ; Da mag es wohl einer das seine Programme extra lange laufen!

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

    If Not _FileReadToArray($pathCompare, $compare_A) Then ;Fehlermail weil tägliche.txt nicht erstellt werden kann
    _errormail1 ()
    Exit
    EndIf
    If Not _FileReadToArray($pathMain, $mainFile_A) Then
    _errormail2 ()
    Exit
    EndIf

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

    For $i = 1 To UBound($compare_A) - 1
    If StringRight($compare_A[$i], 4) = ".CDR" Then
    $iPos = _ArraySearch($mainFile_A, $compare_A[$i], 1)
    If $iPos > -1 Then ; Wenn ein Eintrag gefunden
    _ArrayDelete($mainFile_A, $iPos) ; diesen Löschen
    ;~ Sleep(60000) ; Warum 60 sek. Pause ?
    EndIf
    EndIf
    Next
    _FileWriteFromArray($pathMain, $mainFile_A, 1, 0)

    [/autoit]
  • FOR Schleife so lange bis ARRAY leer ist

    • bernd670
    • 27. Mai 2007 um 14:30

    So kann das nicht funktionieren, schau dir mal die Hilfe zu UBound an (incl. Bsp.)!

    Zeile 91 muss lauten:

    [autoit]

    For $i = 1 To UBound($A_FILEEXTS)-1 Step 1

    [/autoit]


    und Zeile 132:

    [autoit]

    For $i = 1 To UBound($A_FILEEXTM)-1 Step 1

    [/autoit]
  • Kann Checkbox nicht auswählen!

    • bernd670
    • 27. Mai 2007 um 06:42

    Man kann den Dateinamen nicht direkt eintragen da die Inputbox mit TYPE=FILE definiert ist. Es geht nur über den Umweg über Send.

    Zitat

    Note: You cannot use _IEFormElementSetValue to set the value of an INPUT TYPE=FILE element. Browser security restrictions prevent this element from being scripted. See the example below for a workaround.

    So sollte es eigentlich funktionieren, einfach bei $UpLoadFile den Dateinnamen des Bildes eintragen das hochgeladen werden soll!

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <IE.au3>

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

    $UpLoadFile = "IMG_0026.JPG"

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

    _IEErrorHandlerRegister ()

    $oIE = _IECreateEmbedded ()
    GUICreate("abload.de - Uploader | [email='alexirsi@gmail.com'][/email]", 300, 300, -1,-1, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 300, 300)

    GUISetState() ;Show GUI

    _IENavigate($oIE, "http://www.abload.de",1)
    $oForm = _IEFormGetCollection ($oIE,0)

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

    ; Dateinamen eintragen
    $oInputFile = _IEFormElementGetObjByName($oForm, "u_file")
    _IEAction($oInputFile, "focus")
    Send($UpLoadFile)

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

    ; Checkbox für Regeln setzten
    _IEFormElementCheckBoxSelect($oForm, 0, "", 1, "byIndex")

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

    ; Bild hochladen
    $oSubmit = _IEFormElementGetObjByName($oForm, "u_submit")
    _IEAction($oSubmit,"click")

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd

    [/autoit]
  • Happy Birthday GTA

    • bernd670
    • 27. Mai 2007 um 05:17

    Auch von mir alles alles Gute zum Geburtstag!

  • Problem beim setzen von Checkbox

    • bernd670
    • 26. Mai 2007 um 18:27

    Bitte Quellcode mit zur Verfügung stellen!

  • GUI Fenster aktualisieren

    • bernd670
    • 26. Mai 2007 um 18:10

    Du überschreibst dir ja die ID vom Input-Control!

    Spoiler anzeigen
    [autoit]

    ;#############################################################################################################################
    ;
    ;######################################## Hauptfenster #######################################################################
    ;
    ;#############################################################################################################################

    #include <GUIConstants.au3>

    _start()

    Func _start()
    #Region ### START Koda GUI section ### Form=D:\Programme\Script Programme\Autoit\koda_2007.05.08\Forms\Startfenster.kxf
    $Form2 = GUICreate("Dateien Bearbeiten", 318, 209, 690, 489)
    $Button_trennzeichen = GUICtrlCreateButton("Trennzeichen Einer Datei ändern", 8, 8, 300, 30, $BS_FLAT)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit
    case $Button_trennzeichen
    GUIDelete()
    _Trennzeichen()
    EndSwitch

    WEnd
    EndFunc


    ;#############################################################################################################################
    ;
    ;######################################## Function Trennzeichen ##############################################################
    ;
    ;#############################################################################################################################

    Func _Trennzeichen()

    #Region ### START Koda GUI section ### Form=d:\programme\script programme\autoit\koda_2007.05.08\forms\trennzeichen ändern.kxf
    $Form1 = GUICreate("Trennzeichen ändern", 549, 249, 193, 115)
    $Button_Datei_open = GUICtrlCreateButton("Datei Öffnen", 32, 24, 172, 22, $BS_FLAT)
    $Datei_open_feld = GUICtrlCreateInput("Geöffnete Datei", 232, 24, 289, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button_Datei_open
    $Datei = FileOpenDialog("Datei öfffnen", "C:\", "Alle (*.*)" , 1 + 4 )
    GUICtrlSetData($Datei_open_feld, $Datei) ;soll die eingabe vom Input feld Ändern

    EndSwitch
    WEnd

    EndFunc

    [/autoit]
  • rechnen mit "GUICtrlCreateRadio"

    • bernd670
    • 26. Mai 2007 um 16:09

    Geht auch ist alles nur eine Frage der richtigen Formel:

    [autoit]


    #include <GUIConstants.au3>

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

    Dim $Werte[7]
    Global $Ergebnis

    $Form1 = GUICreate("Form1", 534, 447, 252, 247)
    For $iIndex = 0 To 6
    $Werte[$iIndex] = GUICtrlCreateCheckbox("Wert "& 2^$iIndex, 8, 8 + 24 * $iIndex, 57, 25)
    Next

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

    $ButOK = GUICtrlCreateButton("OK", 20, 220, 50)
    GUISetState(@SW_SHOW)


    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    Case $ButOK
    $Ergebnis = 0
    For $iIndex = 0 To 6
    If BitAND(GUICtrlRead($Werte[$iIndex]),$GUI_CHECKED) = $GUI_CHECKED Then
    $Ergebnis += 2^$iIndex
    EndIf
    Next
    MsgBox(0,"",$Ergebnis)

    EndSwitch
    WEnd

    [/autoit]
  • rechnen mit "GUICtrlCreateRadio"

    • bernd670
    • 26. Mai 2007 um 14:55

    Hallo!

    Von den RadioButton kann immer nur einer aktiv sein! Willst Du nur ermitteln welcher aktiv ist?

    Wenn mehrere Werte möglich sein sollen muss man jeden RadioButton einer eigenen Gruppe zuweisen oder CheckBox arbeiten.

    Edit:
    Hier mal die Lösung mit den CheckBoxen:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    Dim $Werte[7]
    Global $Ergebnis

    $Form1 = GUICreate("Form1", 534, 447, 252, 247)
    For $iIndex = 0 To 6
    $Werte[$iIndex] = GUICtrlCreateCheckbox("Wert "& $iIndex + 1, 8, 8 + 24 * $iIndex, 57, 25)
    Next

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

    $ButOK = GUICtrlCreateButton("OK", 20, 220, 50)
    GUISetState(@SW_SHOW)


    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    Case $ButOK
    $Ergebnis = 0
    For $iIndex = 0 To 6
    If BitAND(GUICtrlRead($Werte[$iIndex]),$GUI_CHECKED) = $GUI_CHECKED Then
    $Ergebnis += $iIndex + 1
    EndIf
    Next
    MsgBox(0,"",$Ergebnis)

    EndSwitch
    WEnd

    [/autoit]
  • Kann Checkbox nicht auswählen!

    • bernd670
    • 26. Mai 2007 um 14:01

    Wenn Du auf ein Form-Element zugreifen willst benötigst Du erst mal ein Form-Objekt!

    [autoit]

    #include <GUIConstants.au3>
    #include <IE.au3>

    _IEErrorHandlerRegister ()

    $oIE = _IECreateEmbedded ()
    GUICreate("abload.de - Uploader | [email='alexirsi@gmail.com'][/email]", 300, 300, -1,-1, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 300, 300)

    GUISetState() ;Show GUI

    _IENavigate($oIE, "http://www.abload.de",1)
    $oForm = _IEFormGetCollection ($oIE,0)
    _IEFormElementCheckBoxSelect($oForm, 0, "", 1, "byIndex")

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd

    [/autoit]

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™