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

Beiträge von BugFix

  • schleife abbrechen (do...until)

    • BugFix
    • 18. Mai 2009 um 14:40

    Du startest die Funktion 'Loop'. Solange diese nicht beendet ist, kannst du auch nicht die Funktion 'Stop' aufrufen.
    Befehle werden nacheinander abgearbeitet.

  • Inhalt einer listview in txt o. csv exportieren

    • BugFix
    • 18. Mai 2009 um 13:26
    Zitat von subzero007

    welche listview er laden soll


    $hWnd <== Da übergibst du das Handle oder die ID deines ListView

    Zitat von subzero007

    mit einem FileOpenDialog


    Wozu willst du eine FileOpenDialog? - Du willst doch in eine Datei speichern. Also wohl eher FileSave Dialog:

    [autoit]

    $path = FileSaveDialog('ListView-Export speichern', @MyDocumentsDir, '*.csv')
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Zieldatei gewählt.')
    FileWrite($path, _GUICtrlListView_Export($hWnd, 1, ','))

    [/autoit]
  • Inhalt einer listview in txt o. csv exportieren

    • BugFix
    • 18. Mai 2009 um 12:34

    Ich hab mal schnell eine Funktion erstellt zum wahlweisen Export als Array oder String mit Trennzeichen (Default ist gemäß Opt('GUIDataSeparatorChar'), im Allg. '|').
    Kannst ja die Stringausgabe direkt in eine Datei schreiben.

    [autoit]

    FileWrite('Pfad_Datei.csv', _GUICtrlListView_Export($hWnd, 1, ',')

    [/autoit][autoit]

    #include <GUIListView.au3>
    Func _GUICtrlListView_Export($hWnd, $exType=0, $Delim=Default) ; $exType=0 Array / $exType=1 String
    If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    Local $row = _GUICtrlListView_GetItemCount($hWnd)
    If $exType Then
    If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
    Local $sOut = ''
    For $i = 0 To $row -1
    $sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
    Next
    If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
    Return $sOut
    EndIf
    Local $col = _GUICtrlListView_GetColumnCount($hWnd)
    Local $aOut[$row][$col]
    If $col = 1 Then
    ReDim $aOut[$row]
    For $i = 0 To UBound($aOut) -1
    $aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
    Next
    Return $aOut
    EndIf
    For $i = 0 To UBound($aOut) -1
    For $j = 0 To UBound($aOut, 2) -1
    $aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
    Next
    Next
    Return $aOut
    EndFunc

    [/autoit]
  • Problem mit _WordDocPrint - Soll nicht aufs drucken warten

    • BugFix
    • 17. Mai 2009 um 10:53

    Hi,
    ich hab mal auf die Commandlinevariante gewechselt. Ist etwas einfacher zu händeln.
    Die Registryschlüssel beziehen sich auf die Standardinstallation. Bei Serverinstallation entsprechend anpassen - s. PDFCreator-Hilfe.

    Edit: Noch einen Bug gefixt. :D

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    Local $SourceFolder = 'C:\TEST_ONLY\' ; Quellordner, abschließender Backslash - sonst Fehler bei RunWait!
    Local $TargetFolder = $SourceFolder & 'PDF_OUT' ; Ausgabeordner
    If Not FileExists($TargetFolder) Then DirCreate($TargetFolder)

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

    Local $TargetFormat = 0 ; values: ' 0 = PDF, 1 = PNG, 2 = JPEG, 3 = BMP, 4 = PCX, 5 = TIFF, 6 = PS, 7 = EPS, 8 = TXT,
    ;~ 9 = PDF/A-1b, 10 = PDF/X, 11 = PSD, 12 = PCL, 13 = RAW
    Local $FileType = '*.doc' ; Quelldateityp
    Local $FileSaveName = '<Title>' ; oder folgende Attribute (auch kombinierbar '<Title><DateTime>' )
    ;~ <Author> - Der Ersteller/Autor eines Dokumentes. Dies muss nicht immer der angemeldete Benutzer sein.
    ;~ <Computername> - Der Name des Rechners, auf dem PDFCreator installiert wurde.
    ;~ <ClientComputer> - Der Name oder die IP-Adresse des Rechners, der den Druckauftrag erstellt hat.
    ;~ Liegt eine Standardinstallation vor, entspricht der Clientcomputer dem Computernamen.
    ;~ Wurde die Serverinstallation gewählt, ist der Clientcomputer der Rechner, der über die Freigabe
    ;~ des Druckers einen Druckauftrag erstellt hat. Der Token kann auch für das "Automatische Speichern"-
    ;~ Verzeichnis gewählt werden, um so direkt auf dem Rechner, der den Druckauftrag erstellt hat, ein Dokument
    ;~ zu speichern (Bsp.: "\\<ClientComputer>\c$\files").
    ;~ <DateTime> - Fügt das aktuelle Datum und die aktuelle Zeit ein.
    ;~ <Title> - Fügt den Dokumententitel ein.
    ;~ <Username> - Fügt den Benutzernamen des angemeldeten Benutzers ein.
    ;~ <Counter> - Ein Zähler der bis 922.337.203.685.477 zählt.
    ;~ <MyFiles> - Ist das Verzeichnis "Eigene Dateien" des Benutzers.
    ;~ <MyDesktop> - Steht für den Desktop des Benutzers.

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

    ; Dateien einlesen
    Local $aFiles = _FileListToArray($SourceFolder, $FileType, 1)
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Datei des gesuchten Typs im Ordner.')

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

    ; bestehende AutoSave-Option auslesen
    Local $key = "HKEY_CURRENT_USER\Software\PDFCreator\Program"
    Local $UseAutosave = RegRead($key, 'UseAutosave')

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

    ; Optionen setzen
    RegWrite($key, 'UseAutosave', 'REG_SZ', 1)
    RegWrite($key, 'AutosaveDirectory', 'REG_SZ', $TargetFolder)
    RegWrite($key, 'AutosaveFilename', 'REG_SZ', $FileSaveName)
    RegWrite($key, 'AutosaveFormat', 'REG_SZ', $TargetFormat)

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

    ; Drucken
    For $i = 1 To UBound($aFiles)-1
    RunWait(@ComSpec & " /c " & 'C:\Programme\PDFCreator\PDFCreator.exe /NOSTART /PF"' & $SourceFolder & $aFiles[$i] & '"', "", @SW_HIDE)
    Next
    Local $init = TimerInit()
    Do
    Sleep(50)
    Until (Not ProcessExists('PDFSpool.exe')) Or TimerDiff($init) > 1000

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

    ; ursprüngliche AutoSave-Option zurückschreiben
    RegWrite($key, 'UseAutosave', 'REG_SZ', $UseAutosave)

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

    MsgBox(0, 'Convert2PDF', 'Abgeschlossen.')

    [/autoit]

    Edit2:
    Ich habe die Objektvariante nochmal verbessert. Probier einfach, was dir besser gefällt:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    Local $SourceFolder = 'C:\TEST_ONLY\' ; Quellordner, abschließender Backslash
    Local $TargetFolder = $SourceFolder & 'PDF_OUT' ; Ausgabeordner
    If Not FileExists($TargetFolder) Then DirCreate($TargetFolder)

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

    Local $TargetFormat = 0 ; values: ' 0 = PDF, 1 = PNG, 2 = JPEG, 3 = BMP, 4 = PCX, 5 = TIFF, 6 = PS, 7 = EPS, 8 = TXT,
    ;~ 9 = PDF/A-1b, 10 = PDF/X, 11 = PSD, 12 = PCL, 13 = RAW
    Local $FileType = '*.doc' ; Quelldateityp
    Local $FileSaveName = '<Title>' ; oder folgende Attribute (auch kombinierbar '<Title><DateTime>' )
    ;~ <Author> - Der Ersteller/Autor eines Dokumentes. Dies muss nicht immer der angemeldete Benutzer sein.
    ;~ <Computername> - Der Name des Rechners, auf dem PDFCreator installiert wurde.
    ;~ <ClientComputer> - Der Name oder die IP-Adresse des Rechners, der den Druckauftrag erstellt hat.
    ;~ Liegt eine Standardinstallation vor, entspricht der Clientcomputer dem Computernamen.
    ;~ Wurde die Serverinstallation gewählt, ist der Clientcomputer der Rechner, der über die Freigabe
    ;~ des Druckers einen Druckauftrag erstellt hat. Der Token kann auch für das "Automatische Speichern"-
    ;~ Verzeichnis gewählt werden, um so direkt auf dem Rechner, der den Druckauftrag erstellt hat, ein Dokument
    ;~ zu speichern (Bsp.: "\\<ClientComputer>\c$\files").
    ;~ <DateTime> - Fügt das aktuelle Datum und die aktuelle Zeit ein.
    ;~ <Title> - Fügt den Dokumententitel ein.
    ;~ <Username> - Fügt den Benutzernamen des angemeldeten Benutzers ein.
    ;~ <Counter> - Ein Zähler der bis 922.337.203.685.477 zählt.
    ;~ <MyFiles> - Ist das Verzeichnis "Eigene Dateien" des Benutzers.
    ;~ <MyDesktop> - Steht für den Desktop des Benutzers.

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

    ; Dateien einlesen
    Local $aFiles = _FileListToArray($SourceFolder, $FileType, 1)
    If @error Then Exit MsgBox(0, 'Fehler', 'Keine Datei des gesuchten Typs im Ordner.')

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

    ; PDFCreator Objekt erstellen
    Local $oPDFCreator = ObjCreate("PDFCreator.clsPDFCreator")
    Local $EventObj = ObjEvent($oPDFCreator, 'PDFCreator_')

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

    $oPDFCreator.cStart("/NoProcessingAtStartup")

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

    With $oPDFCreator
    $DefaultPrinter = .cDefaultprinter
    .cDefaultprinter = "PDFCreator"
    .cClearcache
    .cPrinterStop = False
    .cOption('UseAutosave') = 1
    .cOption('AutosaveFormat') = $TargetFormat
    .cOption('UseAutosaveDirectory') = 1
    .cOption('AutosaveDirectory') = $TargetFolder
    .cOption('AutosaveFilename') = $FileSaveName
    EndWith

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

    ; Dateien als PDF drucken
    For $i = 1 To UBound($aFiles) -1
    With $oPDFCreator
    If Not FileExists($SourceFolder & $aFiles[$i]) Then _end('Datei existiert nicht.')
    If Not .cIsPrintable($SourceFolder & $aFiles[$i]) Then _end('Datei ist nicht druckbar.')
    .cPrintfile($SourceFolder & $aFiles[$i])
    Do
    Sleep(20)
    Until .cIsConverted()
    .cIsConverted = False
    EndWith
    Next

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

    _end()

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

    Func PDFCreator_eError()
    $oErr = $oPDFCreator.cError
    _end($oErr.Number & ' : ' & $oErr.Description & @CRLF)
    EndFunc

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

    Func _end($msg = '')
    With $oPDFCreator
    .cPrinterStop = True
    .cDefaultprinter = $DefaultPrinter
    .cClearcache
    Sleep(200)
    .cClose
    EndWith
    If $msg Then
    Exit MsgBox(0, 'Fehler', $msg)
    Else
    Exit MsgBox(0, 'Convert2PDF', 'Abgeschlossen.')
    EndIf
    EndFunc

    [/autoit]
  • LV - Editieren SubItem

    • BugFix
    • 17. Mai 2009 um 06:39
    Zitat von AutoBert

    Das Editfenster ist etwas zu weit oben, also nicht genau in der Zeile die editiert werden soll.

    Zitat von BugFix

    - mit Doppelklick öffnet sich genau überder angeklickten Spalte ein Editfenster

    Genau so ist es gewollt. ;)

  • Problem mit _WordDocPrint - Soll nicht aufs drucken warten

    • BugFix
    • 16. Mai 2009 um 14:57

    Ich kenne diesen Converter nicht, ich verwende PDFCreator.
    Damit läßt sich das gut so automatisieren:

    [autoit]

    Local $FILE = "C:\Test_1.doc" ; kpl. Pfad der zu druckenden Datei
    Local $oPDFCreator = ObjCreate("PDFCreator.clsPDFCreator")
    If Not IsObj($oPDFCreator) Then Exit MsgBox(0, 'Fehler', 'Objekterstellung fehlgeschlagen.')
    $oPDFCreator.cStart("/NoProcessingAtStartup")
    With $oPDFCreator
    .cOption("AutosaveFormat") = 0 ; 0 = PDF
    $DefaultPrinter = .cDefaultprinter
    .cDefaultprinter = "PDFCreator"
    .cClearcache
    .cPrinterStop = False
    If Not FileExists($FILE) Then Exit MsgBox(0, 'Fehler', 'Datei existiert nicht.')
    If Not .cIsPrintable($FILE) Then Exit MsgBox(0, 'Fehler', 'Datei ist nicht druckbar.')
    .cPrintfile($FILE)
    .cDefaultprinter = $DefaultPrinter
    .cClearcache
    Sleep(200)
    .cClose
    EndWith

    [/autoit]
  • Auswertung Web-Zugriffe Tuts

    • BugFix
    • 16. Mai 2009 um 13:13

    Hi,
    ich habe mal interessenhalber die Zugriffsstatistik auf die in meiner Domain gespeicherten Tuts angeschaut.
    Ehrlich - mit soviel (konstanter) Resonanz hatte ich dann doch nicht gerechnet:

    Anzahl der Zugriffe
    2009-04 9.429
    2009-03 9.470
    2009-02 9.075
    2009-01 9.441

    Verweisende URL's

    Code
    103	www.google.de/search   
    86	wiki.autoit.de/wiki/index.php/Tutorial   
    72	www.autoit.de/index.php   
    20	autoit.de/index.php   
    12	www.google.com/search   
    11	www.google.ch/search   
    9	www.google.at/search   
    3	de.search.yahoo.com/search   
    1	www.google.fr/search   
    1	www.scroogle.org/cgi-bin/nbbw.cgi   
    233	sonstige (ni. verwertbar)
    551	Gesamt
    Alles anzeigen

    Domains der Besucher (01.01.09 - 16.05.09)
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Seitenzugriff

    Code
    Das Zugriffs-Verhältnis auf die Seiten ist über den  
    gesamten Zeitraum annähernd konstant:
    
    
    Array - Tutorial : RegExp - Beispiel : Bit - Tutorial
          6          :        2          :     1

    Freut mich, dass es genutzt wird. 8o

  • Abfragebox - eingabe danach in Zwischenspeicher

    • BugFix
    • 16. Mai 2009 um 10:50

    Aber warum schreibst du nicht einfach mit StdinWrite in die Putty-Console?

  • Abfragebox - eingabe danach in Zwischenspeicher

    • BugFix
    • 16. Mai 2009 um 10:27
    Zitat von blackdeath911

    und dann dort mit rechtsklick das was im zwischenspeicher liegt dort einfügen...


    Hast du das schon mal von Hand versucht ;) - Es erscheint dann im Fenster statt des Speicherinhalts nur: ^V (bei Verwendung Strg+V zum Einfügen).
    Und soweit ich bisher erlebt habe, interagieren Terminalfenster nicht mit der Maus.

  • LV - Editieren SubItem

    • BugFix
    • 16. Mai 2009 um 10:06

    Ich kann das Verhalten nicht bestätigen.
    Ich habe das Skript mal als Bsp. um ein Kontextmenü mit Anhängen, Einfügen, Löschen ergänzt. Das klappt tadellos.

    Spoiler anzeigen
    [autoit]

    #include<StaticConstants.au3>
    #include<GUIConstantsEx.au3>
    #include<ListViewConstants.au3>
    #include<StructureConstants.au3>
    #include<WindowsConstants.au3>
    #include <GUIListView.au3>

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

    Global $hListView, $currentItem[2], $title, $currentOpt[2] = ["none"]

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

    $GUI = GUICreate('test')
    $ListView = GUICtrlCreateListView('Spalte1|Spalte2|Spalte3', 10, 10, 300, 200, $LVS_REPORT)
    $hListView = GUICtrlGetHandle(-1)
    $LV_mnu = GUICtrlCreateContextMenu($ListView)
    $mnuAdd = GUICtrlCreateMenuItem('Anhängen - Leeres Item', $LV_mnu)
    $mnuIns = GUICtrlCreateMenuItem('Einfügen - Leeres Item', $LV_mnu)
    GUICtrlCreateMenuItem('', $LV_mnu)
    $mnuDel = GUICtrlCreateMenuItem('Löschen - Markiertes Item', $LV_mnu)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 70)
    _GUICtrlListView_SetColumnWidth($hListView, 1, 60)
    _GUICtrlListView_SetColumnWidth($hListView, 2, $LVSCW_AUTOSIZE_USEHEADER )
    For $i = 1 To 9
    GUICtrlCreateListViewItem('Z. ' & $i & ' - Sp. 1|Z. ' & $i & ' - Sp. 2|Z. ' & $i & ' - Sp. 3', $ListView)
    Next

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

    $EditBox = GUICreate('', 200, 30, -1, -1, BitOR($WS_POPUP,$WS_BORDER), $WS_EX_TOPMOST)
    $dummy = GUICtrlCreateDummy()
    $hEdit = GUICtrlCreateInput('', 5, 5, 190, 20, $SS_CENTER)
    HotKeySet('{ESC}', '_EscEdit')
    Global $AccelKeys[1][2]=[["{ENTER}", $dummy]]
    GUICtrlSetOnEvent($dummy, "_EditEnter")
    GUISetAccelerators($AccelKeys)

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

    GUISetState(@SW_SHOW, $GUI)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $mnuAdd
    _mnuAdd()
    Case $mnuIns
    _mnuIns()
    Case $mnuDel
    _mnuDel()
    EndSwitch
    WEnd

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

    Func _mnuAdd()
    Local $new = _GUICtrlListView_AddItem($hListView, '')
    Local $col = _GUICtrlListView_GetColumnCount($hListView)
    If $col = 1 Then Return
    For $i = 1 To $col -1
    _GUICtrlListView_AddSubItem($hListView, $new, '', $i)
    Next
    EndFunc

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

    Func _mnuIns()
    Local $marked = _GUICtrlListView_GetSelectedIndices($hListView)
    If $marked = '' Then Return MsgBox(0, 'Fehler Einfügen', 'Kein Item markiert!')
    _GUICtrlListView_InsertItem($hListView, '', $marked)
    EndFunc

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

    Func _mnuDel()
    Local $marked = _GUICtrlListView_GetSelectedIndices($hListView)
    If $marked = '' Then Return MsgBox(0, 'Fehler Löschen', 'Kein Item markiert!')
    _GUICtrlListView_DeleteItem($hListView, $marked)
    EndFunc

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

    Func _LeftDblClick($Info)
    If $Info[3] = -1 Then Return
    If $currentOpt[0] = "none" Then
    $currentOpt[0] = Opt('GUICoordMode', 1)
    $currentOpt[1] = Opt("GUIOnEventMode", 1)
    EndIf
    GUICtrlSetOnEvent($hEdit, '_EditEnter')
    _GUICtrlListView_SetSelectedColumn($Info[1], $Info[4])
    $title = WinGetTitle($GUI)
    Local $mouse = MouseGetPos(), $posEdit = WinGetPos($EditBox)
    Local $posGUI = WinGetPos($GUI), $posLV = ControlGetPos($GUI, '', $hListView)
    Local $colInfo = _GUICtrlListView_GetColumn($Info[1], $Info[4]), $sumWidth = 0, $tmp
    WinSetTitle($GUI, '', 'Editiere: Zeile ' & $Info[3]+1 & ', ' & $colInfo[5])
    For $i = 0 To $Info[4]
    $tmp = _GUICtrlListView_GetColumn($Info[1], $i)
    $sumWidth += $tmp[4]
    Next
    $sumWidth -= $colInfo[4]
    Local $xPos = $posGUI[0]+$posLV[0]+$sumWidth
    If $xPos+$colInfo[4]+10 > @DesktopWidth Then $xPos = @DesktopWidth - ($colInfo[4] + 10)
    If $xPos < 0 Then $xPos = 0
    WinMove($EditBox, '', $xPos, $mouse[1]-$posEdit[3], $colInfo[4]+10)
    GUICtrlSetData($hEdit, _GUICtrlListView_GetItemText($Info[1], $Info[3], $Info[4]))
    $currentItem[0] = $Info[3]
    $currentItem[1] = $Info[4]
    GUISetState(@SW_SHOW, $EditBox)
    EndFunc

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

    Func _EscEdit()
    WinSetTitle($GUI, '', $title)
    Opt('GUICoordMode', $currentOpt[0])
    Opt("GUIOnEventMode", $currentOpt[1])
    $currentOpt[0] = "none"
    GUISetState(@SW_HIDE, $EditBox)
    EndFunc

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

    Func _EditEnter()
    WinSetTitle($GUI, '', $title)
    Opt('GUICoordMode', $currentOpt[0])
    Opt("GUIOnEventMode", $currentOpt[1])
    $currentOpt[0] = "none"
    _GUICtrlListView_SetItemText($hListView, $currentItem[0], GUICtrlRead($hEdit), $currentItem[1])
    GUISetState(@SW_HIDE, $EditBox)
    EndFunc

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
    $hWndListView = $hListView ; ID des LV
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView) ; ID des LV
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $NM_DBLCLK
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    Local $aInfo[5] = [$hWndFrom, $iIDFrom, $iCode, DllStructGetData($tInfo, "Index"), _
    DllStructGetData($tInfo, "SubItem")]
    _LeftDblClick($aInfo)
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • LV - Editieren SubItem

    • BugFix
    • 15. Mai 2009 um 15:51

    Mach ein Kontextmenü und dort einen Punkt: Item anfügen, oder Einfügen. ;)

  • LV - Editieren SubItem

    • BugFix
    • 15. Mai 2009 um 15:03
    Zitat von sc4ry

    Aber eine andere Sache, was mache ich, wenn ich eine leere Zelle editieren will? Dann reagiert das Script leider nicht.


    Selbstverständlich kannst du auch leere Zellen editieren.(erstelle doch mal ein paar leere, wirst sehen es geht). Aber du meinst wohl eher nicht existierende Zellen. Die kann man natürlich nicht editieren, die mußt du erst erstellen.

  • Sollte das Posten von ausführbaren Dateien per Regel verboten werden?

    • BugFix
    • 14. Mai 2009 um 14:34

    Andy, ich verstehe dein Ansinnen und gebe dir inhaltlich grundsätzlich recht.
    Aber, ich will den User nicht aus seiner Verantwortung entlassen und weitere Regulierungen festsetzen. Wenn du eine EXE lädst, mosert schon dein Downloadprogramm "Achtung, könnte böse sein!". Willst du die Datei auf dem PC starten meldet auch noch eines deiner Sicherheitsprogramme: "Achtung, eine EXE. Wilsst du das wirklich tun?". D.h. der User wird per se an seine eigene Pflicht und Schuldigkeit erinnert, da will ich nicht auch noch Händchen halten. Soviel Eigenverantwortung verlange ich einfach.

  • Sollte das Posten von ausführbaren Dateien per Regel verboten werden?

    • BugFix
    • 14. Mai 2009 um 13:46

    Zum Einen kann ich durchaus verstehen, wenn jemand seinen Code aus einem Schutzbedürfnis heraus (kommerzielle Nutzung der Software angedacht) nicht offenlegen will. Allerdings hätte ich dann nicht das Bedürfnis die ausführbare Datei allgemein zu präsentieren.
    Ich befürworte OpenSource, verdamme aber nicht jene, die da andere Wege gehen möchten. Das ist eine Sache, die wirklich jeder für sich privat entscheiden muß.
    Wenn nun aber die Datei als EXE angehängt wird, dann ist es m.E. die Pflicht eines jeden Users, sich zu überlegen, ob er diese herunterlädt/ausführt. In unserem Forum gelten doch die gleichen Vorsichtsregeln, wie im übrigen Web. Man kann zwar hoffen, dass unsere Forummitglieder keine Bösewichter sind, aber deswegen blauäugig alles als sicher einzustufen, wäre dasselbe, als ob man sagt: He, meine Nachbarin kenne ich schon seit 10 Jahren. Mit der kann ich ungeschützten Sex haben. Wenn man sich so lange kennt wüßte man doch, falls sie AIDS hat. :S
    Deutschland ist schon dermaßen überhäuft mit Verboten, Geboten und Regulierungen und trotzdem wird immer noch von einer demokratischen Selbstbestimmung gefaselt. Schlußendlich halte ich also nichts davon, dieser Regulierungswut noch ein weiteres Dekret hinzuzufügen. Meine Antwort lautet: Nein.

  • Return ByRef?

    • BugFix
    • 14. Mai 2009 um 13:17
    Zitat von LilProgger208

    ist es möglich, einen parameter byref zurück zugeben?

    Zitat

    zb wenn ein array in einer function erstellt wird - ich erinner da mal an funktionen wie stringsplit....


    Dann deklariere einfach vorab den Ergebnisspeicher und übergib die Variable dazu beim Aufruf der Funktion mit ByRef:

    [autoit]

    #include <Array.au3>
    Local $ergebnisSplit
    If _mySplit('12345', '', $ergebnisSplit) Then _ArrayDisplay($ergebnisSplit)

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

    Func _mySplit($string, $trenner, ByRef $ergebnisSplit)
    $ergebnisSplit = StringSplit($string, $trenner, 2)
    If @error Then
    Return 0
    Else
    Return 1
    EndIf
    EndFunc

    [/autoit]
  • Rekursive Datei/Ordner Auflistung per Objekt

    • BugFix
    • 13. Mai 2009 um 20:34
    Zitat von Xethria

    Den Teil SelectCase habe ich herausgelöscht, weil ich nicht wusste wozu der Teil ist und keine Fehler verursacht hatte (nach dem Herausnehmen).
    Also hatte ich für mich entschieden, dass ich ihn nicht brauch.


    Also Xethria, eigentlich müßte ich mich beleidigt fühlen. :S Ich programmiere gaaaanz sicher nix in meine Funktionen, das ohne Sinn ist. ;)
    Aber die Rache des Programms hat dich ja schon voll erwischt, und somit bin ich auch nicht sauer. :D

  • Progresscolor

    • BugFix
    • 13. Mai 2009 um 15:52

    Vielleicht hast du ja an deinen Farboptionen rumgespielt :whistling:
    Wäre mal interessant, was du da verstellt hast, denn BGR-Mode ist es nicht - dann müßte es blau sein. :D

  • Window Classname immer unterschiedlich; Wie Window ermitteln?

    • BugFix
    • 13. Mai 2009 um 15:48

    Setze am Skriptbeginn

    [autoit]

    opt("wintitlematchmode",2)

    [/autoit]

    Direkt vor dem problematischen Fenster:

    [autoit]

    opt("wintitlematchmode",4) ; Opt wechseln
    WinwaitActive("[REGEXPTITLE:(?i)*- Draft*]")
    opt("wintitlematchmode",2) ; Opt zurück wechseln

    [/autoit]
  • Progresscolor

    • BugFix
    • 13. Mai 2009 um 15:40

    1. Geht nicht, gibts nicht.
    2. Wo ist dein Code, an dem wir das nachvollziehen können?

    Diese Befehle arbeiten 100% mit Progress - aber ich vermute mal (mangels Code), dass du gar kein Progresscontrol erstellst, sondern ProgressOn verwendest. Da kannst du allerdings nichts einfärben.

  • Progresscolor

    • BugFix
    • 13. Mai 2009 um 15:29

    Die Hilfe hilft:

    Zitat

    GUICtrlSetColor ( controlID, textcolor)
    ...Progress controls can currently be colored.
    Checkbox, Radio or Progress controls cannot be painted if the "Windows XP style" is used.

    GUICtrlSetBkColor ( controlID, backgroundcolor )
    ...Progress and Slider controls can currently be colored.
    Progress controls cannot be painted if the "Windows XP style" is used.

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™