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. autoBert

Beiträge von autoBert

  • Internetprüfer

    • autoBert
    • 14. Februar 2011 um 22:22

    Hallo aflakes,

    die Downloadspeed zeige ich in meinem kleinen Downloader-Beispiel mit an:

    Spoiler anzeigen
    [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <Date.au3>
    #include <array.au3>

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

    HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7") ; User-Agent (Header) von AutoIt3 ändern, da beim Webhoster dieser gesperrt ist

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

    Global $tDiff, $iToDo, $iRTime, $sMSG, $nKBPerSec
    $sUrl = "http://translation.autoit.de/autoitinfo/hilfedateien/AutoIt-Hilfe-Deutsch-3.3.6.1-Stand-07_09_10.zip"
    ;url eventell gegen einen anderen größeren Download tauschen, dann aber bitte auch $sPath ändern
    $sPath = @ScriptDir & "\AutoIt-Hilfe-Deutsch-3.3.6.1-Stand-07_09_10.zip"
    Global $iSize = InetGetSize($sUrl) ;siehe Hilfe zu InetgetSize
    Global $tStart = TimerInit()
    $hDownLoad = InetGet($sUrl, $sPath, 1, 1)
    Dim $aData[3]

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

    Do
    Sleep(250)
    If $aData[0] > 0 Then
    _CalcPerformance($aData[0], $aData[2])
    TrayTip("downloading", $sMSG, 10, 16)
    EndIf
    $aData = InetGetInfo($hDownLoad, -1)
    Until $aData[2]
    $aData = InetGetInfo($hDownLoad, -1)
    _CalcPerformance($aData[0], $aData[2])

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

    InetClose($hDownLoad) ; Handle schließen um die Resourcen freizugeben.
    MsgBox(0, "", "Bytes gelesen: " & $aData[0] & @CRLF & _
    "Größe: " & $aData[1] & @CRLF & _
    "beendet?: " & $aData[2] & @CRLF & _
    "Erfolgreich?: " & $aData[3] & @CRLF & _
    "@error: " & $aData[4] & @CRLF & _
    "@extended: " & $aData[5] & @CRLF & @CRLF & _
    "KiloBytes/sec: " & $nKBPerSec & @CRLF & _
    "benötigte Teit: " & Round($tDiff / 1000, 0) & " Sekunden")
    ConsoleWrite("Bytes gelesen: " & $aData[0] & @CRLF & _
    "Größe: " & $aData[1] & @CRLF & _
    "beendet?: " & $aData[2] & @CRLF & _
    "Erfolgreich?: " & $aData[3] & @CRLF & _
    "@error: " & $aData[4] & @CRLF & _
    "@extended: " & $aData[5] & @CRLF & @CRLF & _
    "KiloBytes/sec: " & $nKBPerSec & @CRLF & _
    "benötigte Teit: " & Round($tDiff / 1000, 0) & " Sekunden")

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

    ;FileDelete(@ScriptDir & "\Testdownload.htm")

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

    Func _CalcPerformance($iRead, $bDone)

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

    $tDiff = TimerDiff($tStart)
    $iToDo = Round(($iSize - $iRead) / 1024, 2)
    $nKBPerSec = Round($iRead / $tDiff * 1000 / 1024, 2)
    $iPercent = Round($iRead / $iSize * 100, 2)
    if ($iSize = 0) And Not $bDone Then
    $iRTime = "unbekannt"
    Else
    $iRTime = Round($iToDo / $nKBPerSec, 0)
    EndIf
    $sMSG = Round($iRead / 1024, 0) & "/" & Round($iSize / 1024, 0) & " KB " & " = " & $iPercent & "%" & @CRLF
    $sMSG &= "durchschnittlich KB/s = " & $nKBPerSec & @CRLF ;& "aktuell: KB/s " & $nKBAct & @CRLF
    If Not $bDone Then
    $sMSG = $sMSG & "vermutlich zu Ende:" & StringLeft(StringRight(_DateAdd('s', $iRTime, _NowCalc()), 8), 5)
    ;ConsoleWrite($sMSG & @CRLF)
    Else
    $sMSG = $sMSG & "benötigte Zeit = " & Round($tDiff / 1000, 0)
    EndIf
    ;if $iSize > 0 Then $sMSG = $sMSG & " sec"
    EndFunc ;==>_CalcPerformance

    [/autoit]

    mfg autoBert

  • Binärdaten werden nicht richtig in Datei geschrieben

    • autoBert
    • 14. Februar 2011 um 18:44

    Hallo Aquaplant,

    hier ein Beispiel, dass die Daten einliest in einem TmpFile binär speichert und danach aus diesem Tmpfile wieder das Original herstellelt:

    [autoit]


    $TMPDatei = @ScriptDir & "\test.tst"
    $DestDatei = @ScriptDir & "\test.jpg"

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

    $FilePfad = FileOpenDialog("Datei", @ScriptDir, "all(*.*)", 3)
    $File = FileOpen($FilePfad, 16)
    $Fileinhalt = StringToBinary(FileRead($File,FileGetSize($FilePfad)))
    FileClose($File)
    $File = FileOpen($TMPDatei, 2)
    FileWrite($File, $Fileinhalt)
    FileClose($File)
    $File = FileOpen($TMPDatei)
    $Fileinhalt = BinaryToString(FileRead($File))
    FileClose($File)
    $File = FileOpen($DestDatei, 18)
    FileWrite($File, $Fileinhalt)
    FileClose($File)

    [/autoit]

    mfg autoBert

  • Dateien mit neuestem Datum kopieren

    • autoBert
    • 14. Februar 2011 um 17:39

    Hallo Scritch,

    die Lösung würde sicher auch andere interessieren, kannt du sie bitte eintellen,

    mfg autoBert

  • löschen von Controlls mittels GUICtrlDelete

    • autoBert
    • 14. Februar 2011 um 17:15
    Zitat von Prickel

    Anhang ist korrigiert.


    leider bekomme ich immer noch die gleiche Fehlermeldung wie in (Post #9)

    Edit: lag an der Auskommentierung also hier Skriptvorschlag:

    Spoiler anzeigen
    [autoit]

    ; ==== - Includes - =============================================================================================================

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

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiStatusBar.au3>
    #include <Date.au3>
    #include <GuiImageList.au3>
    #include <GuiButton.au3>

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

    #include <UDF_Ribbonbar.au3>
    #NoAutoIt3Execute

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

    Opt("TrayAutoPause", 0)
    Opt("TrayMenuMode", 1)
    ;~ Opt("GuiOnEventMode", 1)
    Opt("TrayOnEventMode", 1)

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

    AdlibRegister("_UpdateTime", 1000)

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

    ; ==== - Parameter - Hauptfenster - =============================================================================================

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

    Global $u_HGUI

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

    Global $u_HGUI_Titel = " " ; Titel des Hauptfensters
    Global $u_HGUI_Version = " " ; Version des Hauptfensters
    Global $u_HGUI_Copy = " " ; Copyright des Hauptfensters

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

    Global $u_HGUI_Name = $u_HGUI_Titel & $u_HGUI_Version & $u_HGUI_Copy ; Gesamttitel des Hauptfenster Programmname, Version und Copyright

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

    Global $u_BGC_blue = 0x99B9E3 ; Hauptfenster Hintergrundfarbe blau

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

    Global $u_HGUI_width = 900 ; Breite des Hauptfensters
    Global $u_HGUI_hight = 600 ; Höhe des Hauptfensters
    Global $u_HGUI_left = -1 ; Abstand vom linken Bildschirmrand
    Global $u_HGUI_top = -1 ; Abstand vom oberen Bildschirmrand

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

    Global $u_STAT_width_1 = 100 ; Breite des 1. Statussegmentes
    Global $u_STAT_width_3 = -1 ; Breite des 3. Statussegmentes
    Global $u_STAT_width_2 = 830 ; Breite des 2. Statussegmentes

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

    Global $u_STAT_parts[3] = [$u_STAT_width_1 , $u_STAT_width_2 , $u_STAT_width_3] ; , $u_STAT_width_4]
    Global $u_STAT_bar ;= _GUICtrlStatusBar_Create($u_HGUI)
    Global $u_STAT_text

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

    Global $Edit1, $Edit2

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

    ; ===============================================================================================================================

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

    ; ==== - Parameter - Hauptfenster - Ribbonbar - =================================================================================

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

    Global $u_RIBTABIT_width = 90 ; Breite eines Ribbontabs
    Global $u_TABBUT_center = $u_RIBTABIT_width -18 ; Position des TABICONS, soll zentriert im Tabitem sein

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

    Global $u_TABIT_TM10 = 'TabItem10' ; Bezeichner Tabitem 0 im Menü 1 ( Start )
    Global $u_TABIT_TM11 = 'TabItem11' ; Bezeichner Tabitem 1 im Menü 1 ( Start )

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

    Global $U_BUTTON_width = 150
    Global $U_BUTTON_height = 80

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

    Global $Pic01

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

    ; ===============================================================================================================================

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

    $u_HGUI = GUICreate ( $u_HGUI_Name , $u_HGUI_width , $u_HGUI_hight , 700 , 50)

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

    GUISetBkColor( $u_BGC_blue ) ; Hauptfenster Hintergrundfarbe blau

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

    $hBar = _RibbonsBar_Create( $u_HGUI, 0, 0, $u_HGUI_width, 0, 'blue')

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

    ; ==== - Definition des Menüs START - ==============================================================================================

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

    $hTab_Start = _RibbonsBar_Create_Tab( $hBar, 'Start' )

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

    ; 10 ==== Gruppe Schriftart ====
    $u_Item_TM10 = _RibbonsBar_Create_TabItem ( $hTab_Start, $u_TABIT_TM10 , $u_RIBTABIT_width )
    $hGrandButton_Item_TM10 = _RibbonsBar_Create_GrandButton($u_Item_TM10,'',14,'Name 0', $u_TABBUT_center) ;,True ) ; großer Button "Einfügen ( True = Pfeil nach unten = Untermenüs )

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

    ; 11 ==== Gruppe Zwischenablage ====
    $u_Item_TM11 = _RibbonsBar_Create_TabItem ( $hTab_Start , $u_TABIT_TM11 , $u_RIBTABIT_width ) ; Gruppenbezeichnung "Zwischenablage"
    $hGrandButton_Item_TM11 = _RibbonsBar_Create_GrandButton($u_Item_TM11,'',15,'Name 1', $u_TABBUT_center) ;,True ) ; großer Button "Einfügen ( True = Preil nach unten = Untermenüs )

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

    ; ==== - ENDE Definition des Menüs START - ============================================================================================

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

    _RibbonsBar_Tab_SetState($hTab_Start);aktiven Tab setzen

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

    ; ==== - Definition der Statuszeile - ==============================================================================================

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

    $u_STAT_bar = _GUICtrlStatusBar_Create($u_HGUI) ; Erstellen der Statuszeile im Hauptfenster
    _GUICtrlStatusBar_SetParts($u_STAT_bar, $u_STAT_parts) ; Aufteilen der Statuszeile in Segmente
    _GUICtrlStatusBar_SetIcon($u_STAT_bar, 0, _WinAPI_LoadShell32Icon(221)) ; Icon zum 1. Segment

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

    _Status("Bereit") ; Anzeige von "Bereit" im 1. Segment
    _UpdateTime()
    $Edit1 = GUICtrlCreateEdit("", 20, 135, 860, 320, -1)
    GUICtrlSetColor(-1, 0x99B9E3)
    GUICtrlSetBKColor(-1, 0x000000)
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 400, 0, "Calibri")

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

    $Edit2 = GUICtrlCreateEdit("", 20, 135, 860, 320, -1)
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBKColor(-1, 0x99B9E3)
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 400, 0, "Calibri")
    GUISetState(@SW_SHOW, $u_HGUI)

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

    ; ==== - CASE-ANWEISUNGEN -> TAB START - =====

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

    While 1
    Switch _RibbonsBar_GetMsg()
    Case -3
    Exit

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

    Case $hGrandButton_Item_TM10
    $return = _Array2DSearch($Bar_CreateGrandButton_Array,$hGrandButton_Item_TM10,-1,1,0,0,False,True)
    if IsArray($return) Then
    $ButtonText = GUICtrlRead($Bar_CreateGrandButton_Array[StringTrimRight($return[0],2)][6])
    EndIf
    GUICtrlSetState($Edit2,$GUI_HIDE)
    GUICtrlSetState($Edit1,$GUI_SHOW)
    ;evtl. Mit GuiCtrlSetData($Edit1,"") leeren
    Case $hGrandButton_Item_TM11
    $return = _Array2DSearch($Bar_CreateGrandButton_Array,$hGrandButton_Item_TM11,-1,1,0,0,False,True)
    if IsArray($return) Then
    $ButtonText = GUICtrlRead($Bar_CreateGrandButton_Array[StringTrimRight($return[0],2)][6])
    EndIf
    GUICtrlSetState($Edit1,$GUI_HIDE)
    GUICtrlSetState($Edit2,$GUI_SHOW)

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

    EndSwitch
    WEnd

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

    ; ==== - ENDE Definition der CASE-Anweisungen - =========================================================================================

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

    ;============== FUNKTIONEN ============================================================================================================================================================================

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

    ; 001 ==== - FUNKTION Programmende - ============================================================================================
    ;
    ;~ ; _Exit() [ schnipp - schnapp ]

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

    Func _Exit()
    OnAutoItExitUnregister("_Exit") ; UnRegisters a function that was called when AutoIt exits
    GUIDelete($u_HGUI)
    Exit
    EndFunc

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

    ; ===============================================================================================================================

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

    ;~ Func _child()
    ;~ Global $hGUI_Child = GUICreate("", $u_HGUI_width, $u_HGUI_hight, 0, 0, $WS_POPUP + $WS_CLIPSIBLINGS, $WS_EX_MDICHILD + $WS_EX_LAYERED, $u_HGUI)
    ;~ GUISetBkColor(0x123456)
    ;~ _WinAPI_SetLayeredWindowAttributes($hGUI_Child, 0x123456, 0xFF)
    ;~ EndFunc

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

    Func _Button_Exit()
    $ButtonExit = GUICtrlCreateButton("Beenden", 100, $u_HGUI_hight -100, $U_BUTTON_width, $U_BUTTON_height, $WS_GROUP) ; Erstellen des "Beenden" Buttons
    GUICtrlSetOnEvent($ButtonExit, "_Exit") ; Beendet die Anwendung beim Drücken des Buttons "Beenden"
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit", $u_HGUI) ; Beendet die Anwendung beim Drücken des X - Buttons
    GUICtrlSetTip(-1, "Programm beenden") ; Tooltipp Programm wird beendet
    $U_IMAGE_buttonexit = _GUIImageList_Create(32, 32, 5, 3)
    _GUIImageList_AddIcon($U_IMAGE_buttonexit, "shell32.dll", 215, True)
    _GUICtrlButton_SetImageList($ButtonExit, $U_IMAGE_buttonexit)
    EndFunc

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

    ; ==== - FUNKTION Statuszeile Info - ============================================================================================
    ;
    ; _Status($U_TEXT_Status_1)

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

    Func _Status($u_STAT_text)
    _GUICtrlStatusBar_SetText($u_STAT_bar, $u_STAT_text) ; Funktion und Formatierung der Textanzeige in der Statuszeile ( hier "bereit" )
    EndFunc

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

    ; ===============================================================================================================================

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

    ; ==== - FUNKTION Statuszeile Uhr - =============================================================================================
    ;
    ; _UpdateTime()

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

    Func _UpdateTime()
    _GUICtrlStatusBar_SetText($u_STAT_bar, " " & @HOUR & ":" & @MIN & ":" & @SEC, 2) ; Funktion und Formatierung der Uhr in der Statuszeile
    EndFunc

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

    ; ===============================================================================================================================

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

    ; ===============================================================================================================================

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

    ;----------------------------------------------------------------------------------------------------------------------
    ;AuthorBugFix ([email='bugfix@autoit.de'][/email])
    ;----------------------------------------------------------------------------------------------------------------------
    Func _Array2DSearch($avArray, $vWhat2Find, $iDim=-1, $iStart=0, $iEnd=0, $iCaseSense=0, $fPartialSearch=False, $1stFound=False)
    Local $error = 0, $1D, $arFound[1]=[0]
    If $1stFound Then $arFound[0] = -1
    If ( Not IsArray($avArray) ) Then
    SetError(1)
    Return 0
    EndIf
    Local $UBound2nd = UBound($avArray,2)
    If @error = 2 Then $1D = True
    If ( $iEnd = 0 ) Or ( $iEnd = -1 ) Then $iEnd = UBound($avArray)-1
    If $iStart = -1 Then $iStart = 0
    If $iCaseSense = -1 Then $iCaseSense = 0
    If $iCaseSense <> 0 Then $iCaseSense = 1
    Select
    Case ( $iDim > $UBound2nd ) Or ( $iDim < -1 )
    $error += 2
    Case ( $iStart < 0 ) Or ( $iStart > UBound($avArray)-1 )
    $error += 4
    Case ( $iEnd < $iStart ) Or ( $iEnd > UBound($avArray)-1 )
    $error += 8
    EndSelect
    If $error <> 0 Then
    SetError($error)
    Return 0
    EndIf
    If $fPartialSearch <> True Then $fPartialSearch = False
    If $1D Then
    For $i = $iStart To $iEnd
    Select
    Case $iCaseSense = 0 And (Not $fPartialSearch)
    If $avArray[$i] = $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 1 And (Not $fPartialSearch)
    If $avArray[$i] == $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 0 And $fPartialSearch
    If StringInStr($avArray[$i], $vWhat2Find) Then
    If $1stFound Then
    $arFound[0] = $i
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 1 And $fPartialSearch
    If StringInStr($avArray[$i], $vWhat2Find, 1) Then
    If $1stFound Then
    $arFound[0] = $i
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i
    $arFound[0] += 1
    EndIf
    EndIf
    EndSelect
    Next
    Else
    For $i = $iStart To $iEnd
    If $iDim = -1 Then
    Select
    Case $iCaseSense = 0 And (Not $fPartialSearch)
    For $k = 0 To $UBound2nd-1
    If $avArray[$i][$k] = $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $k
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $k
    $arFound[0] += 1
    EndIf
    EndIf
    Next
    Case $iCaseSense = 1 And (Not $fPartialSearch)
    For $k = 0 To $UBound2nd-1
    If $avArray[$i][$k] == $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $k
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $k
    $arFound[0] += 1
    EndIf
    EndIf
    Next
    Case $iCaseSense = 0 And $fPartialSearch
    For $k = 0 To $UBound2nd-1
    If StringInStr($avArray[$i][$k], $vWhat2Find) Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $k
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $k
    $arFound[0] += 1
    EndIf
    EndIf
    Next
    Case $iCaseSense = 1 And $fPartialSearch
    For $k = 0 To $UBound2nd-1
    If StringInStr($avArray[$i][$k], $vWhat2Find, 1) Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $k
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $k
    $arFound[0] += 1
    EndIf
    EndIf
    Next
    EndSelect
    Else
    Select
    Case $iCaseSense = 0 And (Not $fPartialSearch)
    If $avArray[$i][$iDim] = $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $iDim
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $iDim
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 1 And (Not $fPartialSearch)
    If $avArray[$i][$iDim] == $vWhat2Find Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $iDim
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $iDim
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 0 And $fPartialSearch
    If StringInStr($avArray[$i][$iDim], $vWhat2Find) Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $iDim
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $iDim
    $arFound[0] += 1
    EndIf
    EndIf
    Case $iCaseSense = 1 And $fPartialSearch
    If StringInStr($avArray[$i][$iDim], $vWhat2Find, 1) Then
    If $1stFound Then
    $arFound[0] = $i & '|' & $iDim
    Return $arFound
    Else
    ReDim $arFound[UBound($arFound)+1]
    $arFound[UBound($arFound)-1] = $i & '|' & $iDim
    $arFound[0] += 1
    EndIf
    EndIf
    EndSelect
    EndIf
    Next
    EndIf
    Return $arFound
    EndFunc ;==>_Array2DSearch

    [/autoit]

    mfg autoBert

  • Tablet-PC-Fragen

    • autoBert
    • 14. Februar 2011 um 06:00

    Hallo Antispeed,

    Zitat

    Letztlich macht Windows 7 ohne Tastatur und Maus selbst mit idealen Eingabemethoden keinen Spaß. Die von einigen Herstellern installierten Tools helfen etwas. Aber spätestens wenn normale Windows-Software zum Einsatz kommt, scheitert die Fingerbedienung

    Quelle: http://www.heise.de/mobil/meldung/…-7-1015235.html Lies dir den Artikel komplett durch und entscheide danach ob du so etwas wirklich möchtest, denn

    Zitat von AntiSpeed

    Meine Grenze liegt aber so bei 260€,

    damit sollte gerade so hinkommen für ein NetBook. http://www.chip.de/artikel/Samsun…t_33634739.html sollte mittlerweile in der Grundausstattung für unter 300 € zu bekommen sein. Es wird allerdings mit Win XP Home augeliefert. Hier noch einige Erfahrungsberichte http://www.ciao.de/Erfahrungsberichte/Samsung_NC10__7998411

    mfg autoBert

  • löschen von Controlls mittels GUICtrlDelete

    • autoBert
    • 14. Februar 2011 um 03:42

    Hallo Prickel,

    du hast anscheinend mind. 1 Datei vergessen, denn beim starten von PP-Tools kommt folgend Fehlermeldung:

    Code
    >"C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Programme\AutoIt3\Examples\Tests\Prickel\PP-Tools V.0.3.0 - BETA\PP-Tools.au3" /autoit3dir "C:\Programme\AutoIt3" /UserParams    
    +>03:39:02 Starting AutoIt3Wrapper v.2.0.1.24    Environment(Language:0407  Keyboard:00000407  OS:WIN_XP/Service Pack 3  CPU:X86 OS:X86)
    >Running AU3Check (1.54.19.0)  from:C:\Programme\AutoIt3
    C:\Programme\AutoIt3\Examples\Tests\Prickel\PP-Tools V.0.3.0 - BETA\UDF_Ribbonbar.au3(243,31) : WARNING: $SmallIcons_DLL: possibly used before declaration.
    		$Icon_Path = $SmallIcons_DLL
    		~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\Prickel\PP-Tools V.0.3.0 - BETA\UDF_Ribbonbar.au3(243,31) : ERROR: $SmallIcons_DLL: undeclared global variable.
    		$Icon_Path = $SmallIcons_DLL
    		~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Programme\AutoIt3\Examples\Tests\Prickel\PP-Tools V.0.3.0 - BETA\PP-Tools.au3 - 1 error(s), 1 warning(s)
    !>03:39:02 AU3Check ended.rc:2
    >Exit code: 0    Time: 3.619
    Alles anzeigen

    also fehlt die smallIcons.dll (oder so ähnlich)

    mfg autoBert

  • Befehlsuche für Gesamt-Linien Anzahl

    • autoBert
    • 14. Februar 2011 um 03:18

    Raupi ,

    hatte anscheinend daneben geklickt, wollte eigentlich die AutoIt.chm aber da kommt bei mir gar nichts, ist für mich aber nicht schlimm bin es eh gewohnt über den Index zu gehen.

    Edit: habs jetzt doch gefunden, Nur Titel suchen war noch angewählt,

    mfg autoBert

  • Befehlsuche für Gesamt-Linien Anzahl

    • autoBert
    • 14. Februar 2011 um 02:26

    AspirinJunkie,

    danke, aber diese Art zu suchen ergibt bei mir
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Bleibe deshalb bei meiner Art der Suche über den Index
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    wobei ich gemerkt habe, dass meine nur funktioniert, wenn ich die Hilfe über Scite geöffnet habe.

    Zitat von AspirinJunkie

    Die Hilfe-Datei ist das A und O bei der AutoIt-Programmierung und ohne sie wird man mit AutoIt nicht sehr weit kommen.

    nicht nur bei AutoIt und die AutoIt-Hilfe inkl. der dt. Übersetzung ist so zimlich die beste die ich in meinem langen Programmiererleben kennengelernt habe. Beim erlernen einer neuen Programmiersprache ist es immer eines der wichtigsten Hilfsmittel und als erstes sollte man lernen diese zu beherschen

    mfg autoBert

    Bilder

    • Suche deutsch.JPG
      • 17,21 kB
      • 251 × 241
  • löschen von Controlls mittels GUICtrlDelete

    • autoBert
    • 14. Februar 2011 um 02:04

    Hallo Prickel,

    dass die Ribbonbar funktioniert wissen wir, deshalb ist es sinnlos dort auf das Beispiel zu verweisen es funktoniert. Dort weden ja auch keine Edits gelöscht und wieder (falsch!?) erstellt, deshalb

    Zitat von Raupi

    Am besten postest du mal dein komplettes Script.

    wobei dir Raupi ja schon die zu 98% richtige Lösung gepostet hat:

    Zitat von Raupi

    mußt du Vorher Mit GUISwitch ( winhandle, tabitemID )
    auf diese umschalten

    mfg autoBert

  • Dateipfad aus *.exe auslesen

    • autoBert
    • 13. Februar 2011 um 23:00

    Hallo Deep Vulcano,

    laut Überschrift würde ich sagen du suchst @ScriptFullPath. nach dem lesen des Themas komme ich allerdings zu dem Schluss dass du eine Rotine benötigst die deine Festplatte(n) durchsucht, z.b:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $sFileToFind = "autoit3.chm" ;exakter Name mit Erweiterung WildCards werden nicht unterstützt
    Global $aResult[1]
    $aResult[0] = 0
    $sType = "Fixed" ;möglich sind "ALL", "CDROM", "REMOVABLE", "FIXED", "NETWORK", "RAMDISK" oder "UNKNOWN"
    _SearchForFile($sFileToFind,$sType,$aResult)
    _ArrayDisplay($aResult)

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

    Func _SearchForFile($sFileToFind,$sType,ByRef $aResult)
    $adrives = DriveGetDrive($sType)
    for $i = 1 to $adrives[0]
    $aSearch = _SearchInDrive($sFileToFind, $adrives[$i]& "\")
    for $j = 0 to UBound($aSearch) -1
    $aItem = StringSplit($aSearch[$j],"\")
    if $aItem[$aItem[0]] = $sFileToFind Then ;da auch LNK-Einträge in Recent-Files mit gefunden werden leider nötig
    _ArrayAdd($aResult,$aSearch[$j])
    $aResult[0] += 1
    EndIf
    Next
    Next
    EndFunc

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

    Func _SearchInDrive($sFile, $sDir = "\")
    Local $aReturn
    RunWait(@ComSpec & ' /C dir /S /B /A: H S R A ' & $sDir & ' | FIND /I "' & $sFile & '" > ' & @TempDir & '\TempSearch.TXT', "", @SW_HIDE)
    Return StringSplit(StringStripWS(FileRead(@TempDir & '\TempSearch.txt'), 3), @CRLF, 3)
    EndFunc

    [/autoit]

    das Ergebnis ist ein Array mit allen Vorkommen dieser Datei:

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
    mfg autoBert

    Dateien

    SearchForFile.JPG 32,19 kB – 0 Downloads
  • Befehlsuche für Gesamt-Linien Anzahl

    • autoBert
    • 13. Februar 2011 um 21:36

    Hallo CodaXYZ,

    geh auf Index und gilb dort File(=Datei) direkt im Anschluss ohne Leerstelle Count(=zählen) ein, spätestens beim u sollte die zu suchende Funktion bereits in der Ergebnis-ListBox markiert sein.

    AspirinJunkie, deine Vorgehensweise klappt bei mir nicht und ich dachte ich kenne alle Möglichkeiten sie zu bedienen. Kannst du (vielleicht mit Bildern) erklären welche Schalter für diese Art der Suche gesetzt sein müssen?

    danke autoBert

  • Variable in "Send()"

    • autoBert
    • 13. Februar 2011 um 21:19

    Hallo neofu,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    da du ja selbst sagst es ist ein Leichtes Problem, wirst du es wohl alleine mit der Hilfe schaffen,

    mfg autoBert

  • Textdatei...Verändern? :D

    • autoBert
    • 13. Februar 2011 um 21:14

    Hallo Alisamix,

    da mein Skript für diese Datei:

    Code
    Username1^Basis1^Item1$1^Test^Test
    Username1^Basis1^Item2$1^Test^Test
    Username2^Basis1^Item3$1^Test^Test

    gemacht ist in der Datei aber nirgends eine Anzahl zu erkennen ist solltest du eine vernünftige Datei in diesem Format einstellen am besten noch 1 Überschriftszeile davor hängen, damit auch ich mir etwas darunter vorstellen kann,

    mfg autoBert

  • Problem mit Download-Status Anzeige

    • autoBert
    • 13. Februar 2011 um 19:05

    Hallo CodaXYZ,

    um festzustellen wann der Download beendet ist solltest du das 2. Element der Array-Rückgabe von InetGetInfo verwenden siehe mein Downloader-Beispiel:

    Spoiler anzeigen
    [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <Date.au3>
    #include <array.au3>

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

    HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7") ; User-Agent (Header) von AutoIt3 ändern, da beim Webhoster dieser gesperrt ist

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

    Global $tDiff, $iToDo, $iRTime, $sMSG, $nKBPerSec
    $sUrl = "http://translation.autoit.de/autoitinfo/hilfedateien/AutoIt-Hilfe-Deutsch-3.3.6.1-Stand-07_09_10.zip"
    ;url eventell gegen einen anderen größeren Download tauschen, dann aber bitte auch $sPath ändern
    $sPath = @ScriptDir & "\AutoIt-Hilfe-Deutsch-3.3.6.1-Stand-07_09_10.zip"
    Global $iSize = InetGetSize($sUrl) ;siehe Hilfe zu InetgetSize
    Global $tStart = TimerInit()
    $hDownLoad = InetGet($sUrl, $sPath, 1, 1)
    Dim $aData[3]

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

    Do
    Sleep(250)
    If $aData[0] > 0 Then
    _CalcPerformance($aData[0], $aData[2])
    TrayTip("downloading", $sMSG, 10, 16)
    EndIf
    $aData = InetGetInfo($hDownLoad, -1)
    Until $aData[2]
    $aData = InetGetInfo($hDownLoad, -1)
    _CalcPerformance($aData[0], $aData[2])

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

    InetClose($hDownLoad) ; Handle schließen um die Resourcen freizugeben.
    MsgBox(0, "", "Bytes gelesen: " & $aData[0] & @CRLF & _
    "Größe: " & $aData[1] & @CRLF & _
    "beendet?: " & $aData[2] & @CRLF & _
    "Erfolgreich?: " & $aData[3] & @CRLF & _
    "@error: " & $aData[4] & @CRLF & _
    "@extended: " & $aData[5] & @CRLF & @CRLF & _
    "KiloBytes/sec: " & $nKBPerSec & @CRLF & _
    "benötigte Teit: " & Round($tDiff / 1000, 0) & " Sekunden")
    ConsoleWrite("Bytes gelesen: " & $aData[0] & @CRLF & _
    "Größe: " & $aData[1] & @CRLF & _
    "beendet?: " & $aData[2] & @CRLF & _
    "Erfolgreich?: " & $aData[3] & @CRLF & _
    "@error: " & $aData[4] & @CRLF & _
    "@extended: " & $aData[5] & @CRLF & @CRLF & _
    "KiloBytes/sec: " & $nKBPerSec & @CRLF & _
    "benötigte Teit: " & Round($tDiff / 1000, 0) & " Sekunden")

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

    ;FileDelete(@ScriptDir & "\Testdownload.htm")

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

    Func _CalcPerformance($iRead, $bDone)

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

    $tDiff = TimerDiff($tStart)
    $iToDo = Round(($iSize - $iRead) / 1024, 2)
    $nKBPerSec = Round($iRead / $tDiff * 1000 / 1024, 2)
    $iPercent = Round($iRead / $iSize * 100, 2)
    if ($iSize = 0) And Not $bDone Then
    $iRTime = "unbekannt"
    Else
    $iRTime = Round($iToDo / $nKBPerSec, 0)
    EndIf
    $sMSG = Round($iRead / 1024, 0) & "/" & Round($iSize / 1024, 0) & " KB " & " = " & $iPercent & "%" & @CRLF
    $sMSG &= "durchschnittlich KB/s = " & $nKBPerSec & @CRLF ;& "aktuell: KB/s " & $nKBAct & @CRLF
    If Not $bDone Then
    $sMSG = $sMSG & "vermutlich zu Ende:" & StringLeft(StringRight(_DateAdd('s', $iRTime, _NowCalc()), 8), 5)
    ;ConsoleWrite($sMSG & @CRLF)
    Else
    $sMSG = $sMSG & "benötigte Zeit = " & Round($tDiff / 1000, 0)
    EndIf
    ;if $iSize > 0 Then $sMSG = $sMSG & " sec"
    EndFunc ;==>_CalcPerformance

    [/autoit]
  • _Inireadtoarray: bestimmten key finden und den array dazu ausgeben?

    • autoBert
    • 12. Februar 2011 um 23:50

    Hallo Emperormatem,

    Zitat von Emperormatem

    einen bestimmten Key (wie gesagt: Ungeachtet der Section)

    widerspricht sich irgendwie.

    Aber du kannst mit

    [autoit]

    IniReadSectionNames

    [/autoit]

    alle Sektionsnamen einlesen und diese dann in einer For...Next Schleife durchgehen und darin den Key mit

    [autoit]

    IniDelete

    [/autoit]

    löschen. Achtung es werden dann alle Key 's mit diesem Namen gelöscht, also evtl. mehr als einer.
    Wenn jetzt RegEx Experten dies lesen fäll ihnen sicher auch eine andere Lösung ein,

    mfg autoBert

  • autoitbug

    • autoBert
    • 12. Februar 2011 um 23:05
    Zitat von manuel6000

    ok danke liegt an dem


    schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    Ps.: ich (und hoffentlich auch andere) ignoriere Hilfe-Themen von Verweigern des auf gelöst setzen

    mfg autoBert

  • Script schließen -> batch datei ausführen

    • autoBert
    • 12. Februar 2011 um 17:51
    Zitat von McGangster

    hättest du die lösung geschrieben, wäre das thema geschlossen und mein script fertig


    Es wäre zwar das beste auch dieses Thema zu closen, aber was schau in deinem [ offen ] Datei in einem "Unbekannten Ordner" löschen Thread da ist die Lösung genannt,

    mfg autoBert

  • Taste für selbstgebautes Schaltpult gedrückt halten

    • autoBert
    • 12. Februar 2011 um 17:29

    Hallo xp_fan,

    der Timer von sleep ist nicht der genaueste, also einfach einmal

    [autoit]

    sleep(2500)

    [/autoit]

    testen. Funktionieren denn die anderen send-Befehle oder klappt es da?

    mfg autoBert

  • PID herausfinden

    • autoBert
    • 12. Februar 2011 um 17:15
    Zitat von MasterOfTime

    €: AutoBerts Vorschlag geht, wieso bin ich da nicht drauf gekommen :party:


    schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert

  • Script schließen -> batch datei ausführen

    • autoBert
    • 12. Februar 2011 um 17:14
    Zitat von McGangster

    ich glaube das bei der gen.bat auch ein BeiDemScript (bei autoit @script dir) eingebaut werden muss/soll/kein plan...


    Du solltest endlich dein Skript und die Batchdatei hier einstellen, denn

    Zitat von Oscar

    Aber, und das geht jetzt an Dich McGangster:
    Wenn Du nicht endlich Dein Skript sowie die Batchdatei hier postest, dann verschwindet auch dieser Thread im "Nirvana".

    mfg autoBert

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™