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

  • GuiCtrlCreateList-Frage(n)

    • BugFix
    • 19. Juni 2007 um 21:17

    Ich hatte für die Arbeit mit Listbox mal ein Bsp. mit Code-Ausgabe erstellt.
    Vielleicht nützt dir das was.
    FAQ

  • Alle Dateien auflisten - Fehler wenn Ordner leer

    • BugFix
    • 18. Juni 2007 um 19:43
    Zitat

    _ArrayInsert($FileList, $j + $i, $tmpdir & $tmp[$j])
    _ArrayInsert($FileList, $j + $i, $tmpdir & ^ ERROR


    Bedeutet, dass $tmp kein Array ist (klar, wenn leerer Ordner). Da du es als Array ansprichst entsteht der Fehler.
    Also solche Situationen abfangen, indem du vorher prüfst ob die Variable ein Array ist:

    [autoit]

    If IsArray($tmp) Then
    _ArrayInsert($FileList, $j + $i, $tmpdir & $tmp[$j])
    Else
    ; Fehler setzen oder MsgBox
    EndIf

    [/autoit]
  • wichtige Nachricht.... in e-Mail-Postfach

    • BugFix
    • 18. Juni 2007 um 19:35

    Hmm, habe weder 'ne eMail bekommen, noch nervende Popups (allerdings nutze ich auch Adblock :D ).
    Seltsame Dinge, die da geschehen...

  • Script springt zurück, oder was ist falsch?

    • BugFix
    • 18. Juni 2007 um 19:07

    Hi,

    hab noch 'ne Ergänzung.
    So wird das Datum geprüft und ggf. angepaßt falls die Zielzeit kleiner als die aktuelle Zeit ist.

    [autoit]

    #include <Date.au3>

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

    $ShutDownTime = '18:10'
    If $ShutDownTime < @HOUR & ':' & @MIN Then
    $now = @YEAR & '/' & @MON & '/' & @MDAY+1
    Else
    $now = @YEAR & '/' & @MON & '/' & @MDAY
    EndIf

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

    $min = _DateDiff('n', _NowCalc(), $now & ' ' & $ShutDownTime )
    $h = Floor($min/60)
    $m = $min - $h*60
    $h_m = StringFormat("%02u" & ":" & "%02u", $h, $m)

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

    MsgBox(0,'',"verbleibende Zeit: " & $h_m )

    [/autoit]
  • Quiz

    • BugFix
    • 18. Juni 2007 um 18:30

    Puh, harter Brocken.

    Ich werf einfach mal rein, was mir einfällt. In Kombination mit den Ideen der andren wirds ja vielleicht was. :D

    1. muscle / body / schwarzenegger
    2. stairway (to heaven ?)
    3. lone tree
    4. wild boy
    5. thirst / to quench / to have one over the eight :rofl:

    Viel Spaß noch in Schweden. Bring doch ein paar hübsche Mädels mit. ;)

  • Script springt zurück, oder was ist falsch?

    • BugFix
    • 18. Juni 2007 um 10:04
    [autoit]

    #include <Date.au3>

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

    $ShutDownTime = '17:30' ; per InputBox
    $min = _DateDiff('n', _NowCalc(), _NowCalcDate( ) & ' ' & $ShutDownTime )
    $h = Floor($min/60)
    $m = $min - $h*60
    $h_m = $h & ':' & $m
    MsgBox(0,'',"verbleibende Zeit: " & $h_m)

    [/autoit]
  • Zahl wird nicht neu geladen

    • BugFix
    • 17. Juni 2007 um 22:24

    Schreiben in eine bestimmte Zeile? Ganz einfach, hier aus der Hilfe:

    [autoit]

    #include <File.au3>
    ;Example: Write to line 3 of c:\test.txt REPLACING line 3
    _FileWriteToLine("c:\test.txt", 3, "my replacement for line 3", 1)
    ;Example: Write to line 3 of c:\test.txt NOT REPLACING line 3
    _FileWriteToLine("c:\test.txt", 3, "my insertion", 0)

    [/autoit]
  • Denkfejler ?

    • BugFix
    • 17. Juni 2007 um 19:30

    Sag mal, liegt das am Wetter?
    Ist mir auch in einigen anderen Threads aufgefallen, dass die Emotionen ziemlich schnell hochkochen. :D

    Es geht doch überhaupt nicht um Schuldzuweisungen.
    Du hast alles zu FTP durchgelesen, und die in den Bsp. verwendeten Funktionen sind dir rückhaltlos klar? :rolleyes:

  • Horizontal Scroll in Listbox - tuts nicht

    • BugFix
    • 17. Juni 2007 um 18:40

    Hi, Danke Bernd das wars.

  • Denkfejler ?

    • BugFix
    • 17. Juni 2007 um 16:21

    @WoW-Unit

    Also so wie ich das bis jetzt mitbekommen habe, hast du kaum Programmierkenntnisse.
    Daher meine Frage: Warum willst du ein FTP-Upload Programm erstellen, wenn du schon nach wenigen Schritten bemerkst, dass dir dafür z.Zt. noch die Voraussetzungen fehlen?

    Ich kann durchaus die Forenmitglieder verstehen, die dann leicht gereizt reagieren.

    Stelle die Bsp. aus der Hilfe nach, erweitere diese. Kombiniere mit anderen Funktionen. Dabei lernst du die Basics.

    Abfragen, Schleifen - bevor du das einsetzt und dann an der Umsetzung scheiterst, sollte dir klar sein, wie es funktioniert.

    Ich wollte dich hiermit nicht entmutigen, aber dir sollte klar sein, dass die Grundlagen der Programmierung nicht in ein paar Tagen zu erlernen sind.
    Bleib dran und gib nicht auf, versuche zuerst immer selbst einen Ansatz zu finden. Kommst du dann nicht mehr weiter, helfen wir gern.

  • variable in GUI

    • BugFix
    • 17. Juni 2007 um 10:53

    Das kann man schlecht verallgemeinern, kommt immer sehr auf den Einzelfall an, also vom Inhalt / Aufbau der Site, die du abfragen möchtest.

    Sind die gesuchten Daten tatsächlich direkt im Quellcode, holst du dir diesen einfach mit:

    [autoit]

    #include <INet.au3>
    $source = _INetGetSource ( $s_URL )

    [/autoit]

    Dann mußt du sehen, wie sich der gesuchte Text sicher herausfiltern läßt. ( _StringBetween() / StringRegExp() )

    Falls es so nicht machbar ist verwende die <IE.au3>. Hier kann man jetzt aber gar keine allgemeinen Tipps geben. Jetzt muß man genau schauen, wo der gesuchte Inhalt zu finden ist.

  • Auto(It)-Updater

    • BugFix
    • 16. Juni 2007 um 22:54
    Zitat

    Wie kann man das Ganze jetzt automatisieren, also wenn Scite gestartet wird prüfen ob eine Internetverbindung besteht und dann das Update starten...


    [autoit]

    $var = Ping("www.autoit.de")
    If @error = 0 Then
    MsgBox(0, '', 'Verbindung besteht')
    Else
    MsgBox(0, '', 'keine Verbindung')
    Endif

    [/autoit]
  • Array2DInsert

    • BugFix
    • 16. Juni 2007 um 17:02

    Hi,
    um meine Array Funktionen zu komplettieren:

    _Array2DInsert( )

    - analog zu _ArrayInsert( ) aber für 1D-Arrays und 2D-Arrays
    - fügt ein neues Arrayelement an benannter Position ein
    - Anzahl der Elemente in der 2-ten Dimension nicht limitiert (nur durch Autoit selbst)


    Edit:
    Hab es jetzt noch so erweitert, dass es mit 1D und 2D -Arrays arbeitet

    Spoiler anzeigen
    [autoit]

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;
    ; Function _Array2DInsert(ByRef $avArray, $iElement [, $sValue=''])
    ;
    ; Description Insert an Array element on a given position
    ; Works with any occurences in 2nd Dimension
    ; Works also with 1D-Array
    ;
    ; Parameter $avArray Given Array
    ; $iElement 0-based Array Index, to insert new Element
    ; optional $sValue Value of new Element, parts must be seperate with '|'
    ;
    ; Return Succes the given Array with new Element
    ; Failure 0 and set @error
    ; @error = 1 given array is not array
    ; @error = 2 given parts of Element too less/much
    ; @error = 3 $iElement larger then Ubound
    ;
    ; Author BugFix ([email='bugfix@autoit.de'][/email])
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Func _Array2DInsert(ByRef $avArray, $iElement, $sValue='')
    If ( Not IsArray($avArray) ) Then
    SetError(1)
    Return 0
    EndIf
    Local $UBound2nd = UBound($avArray,2)
    If @error = 2 Then
    Local $arTMP[UBound($avArray)+1]
    If $iElement > UBound($avArray) Then
    SetError(3)
    Return 0
    EndIf
    For $i = 0 To UBound($arTMP)-1
    If $i < $iElement Then
    $arTMP[$i] = $avArray[$i]
    ElseIf $i = $iElement Then
    If $i < UBound($avArray) Then
    $arTMP[$i] = $sValue
    $arTMP[$i+1] = $avArray[$i]
    Else
    $arTMP[$i] = $sValue
    EndIf
    ElseIf ($i > $iElement) And ($i < UBound($avArray))Then
    $arTMP[$i+1] = $avArray[$i]
    EndIf
    Next
    Else
    Local $arTMP[UBound($avArray)+1][$UBound2nd], $arValue
    If $sValue = '' Then
    For $i = 0 To $UBound2nd-2
    $sValue &= '|'
    Next
    EndIf
    $arValue = StringSplit($sValue, '|')
    If $arValue[0] <> $UBound2nd Then
    SetError(2)
    Return 0
    EndIf
    If $iElement > UBound($avArray) Then
    SetError(3)
    Return 0
    EndIf
    For $i = 0 To UBound($arTMP)-1
    If $i < $iElement Then
    For $k = 0 To $UBound2nd-1
    $arTMP[$i][$k] = $avArray[$i][$k]
    Next
    ElseIf $i = $iElement Then
    If $i < UBound($avArray) Then
    For $k = 0 To $UBound2nd-1
    $arTMP[$i][$k] = $arValue[$k+1]
    $arTMP[$i+1][$k] = $avArray[$i][$k]
    Next
    Else
    For $k = 0 To $UBound2nd-1
    $arTMP[$i][$k] = $arValue[$k+1]
    Next
    EndIf
    ElseIf ($i > $iElement) And ($i < UBound($avArray))Then
    For $k = 0 To $UBound2nd-1
    $arTMP[$i+1][$k] = $avArray[$i][$k]
    Next
    EndIf
    Next
    EndIf
    $avArray = $arTMP
    EndFunc ;==>_Array2DInsert

    [/autoit]

    Dateien

    _Array2DInsert.au3 2,55 kB – 383 Downloads
  • Horizontal Scroll in Listbox - tuts nicht

    • BugFix
    • 16. Juni 2007 um 11:16

    ;)
    Hatte ich vergessen zu erwähnen, diese Variante habe ich auch schon durch. Mit demselben Ergebnis.

  • Horizontal Scroll in Listbox - tuts nicht

    • BugFix
    • 16. Juni 2007 um 10:56

    Hi,
    habe eine ganz simple Listbox. Da die Einträge wechseln und unterschiedlich lang sind wollte ich den Style "$WS_HSCROLL" verwenden. Leider tut sich dabei nix.
    Definiere ich den Style in der Ctrl-Erstellung passiert gar nix.
    Erstelle ich erst das Ctrl und setze dann den Style, habe ich zwar eine Scrollbar, die scrollt aber nicht.
    Und GUICtrlRecvMsg() arbeitet ohne Fehlermeldung aber auch ohne Wirkung.

    Mehr fällt mir eigentlich nicht ein um den Style zu aktivieren.
    Habt ihr noch Ideen oder findet hierbei 'nen Fehler ?

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Opt("GUIOnEventMode", 1)

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

    Dim $txt1 = 'blablablablablablablablablablablabla'
    Dim $txt2 = 'laberlaberlaberlaberlaberlaberlaber'

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

    $GUI = GUICreate("", 200, 200, -1, -1)
    GUISetOnEvent($GUI_EVENT_CLOSE, "CloseSettings")

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

    ;~ $list = GUICtrlCreateList('', 20, 20, 160, 160, $WS_HSCROLL) ; Scrollbar erscheint nicht

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

    $list = GUICtrlCreateList('', 20, 20, 160, 160)
    GUICtrlSetStyle($list, $WS_HSCROLL) ; Scrollbar erscheint aber scrollen geht nicht
    ;~ $scroll = GUICtrlRecvMsg($list, $WS_HSCROLL,1,0) ; bringt keinen Fehler aber ohne jede Wirkung

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

    GUISetState(@SW_SHOW)
    GUICtrlSetData(-1, $txt1 & '|' & $txt2)

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

    While 1
    Sleep(100)
    WEnd

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

    Func CloseSettings()
    Exit
    EndFunc

    [/autoit]
  • Problem mit Hilfedateien

    • BugFix
    • 15. Juni 2007 um 18:14

    Danke Bernd für deine Bemühungen. Leider ohne Erfolg.
    Genau das gleiche Bild wie vorher.
    Vielleicht ist das noch von Interesse:
    Das Hilfe-Fenster erscheint und die linke Hälfte (Inhaltsverzeichnis) enthält Daten. Die rechte Hälft ist leer.

    Nur ich versteh echt nicht den Zusammenhang:
    Rufe ich die Autoit Hilfe per Doppelklick auf, verschwindet sie wieder.
    Bin ich in Scite und rufe über F1 die Hilfe funktioniert es. Es wird doch aber in beiden Fällen die 'hh.exe' gestartet. ?( ?(

  • Problem mit Hilfedateien

    • BugFix
    • 15. Juni 2007 um 08:59

    Aufruf der "hh.exe" per Doppelklick im Explorer und per Befehlszeile:
    Hh.exe was run without a valid command line
    Aber das ist ja OK, der Parameter für die Datei wurde ja nicht übergeben.

    Aufruf "hh.exe /?":
    Das Fenster öffnet kurz und schließt dann wieder. :(

    Edit: Hab jetzt mal die "hh.exe" ersetzt, keine Änderung.

  • Word öffnen

    • BugFix
    • 14. Juni 2007 um 23:33

    Hier der Weg über Objekte. Da du nicht geschrieben hast, was du mit dem Dokument tun willst, habe ich in dem Bsp.
    - Objekt erstellen
    - DOC öffnen
    - Schriftgröße ändern
    - am Ende des Dokuments Text anfügen (hier Datum + Uhrzeit)
    - DOC speichern
    - DOC drucken (z.Zt. auskommentiert)
    - Objekt schließen

    Spoiler anzeigen
    [autoit]

    #Include <Date.au3>
    Dim $DOC_path = 'D:\Test.doc'

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

    Const $END_OF_STORY = 6
    Const $MOVE_SELECTION = 0

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

    $objWord = ObjCreate("Word.Application")
    $objWord.Visible = True ; oder False, wenn alles im Hintergrund laufen soll

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

    ; Worddokument öffnen
    $objDoc = $objWord.Documents.Open($DOC_path)

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

    $objSelection = $objWord.Selection
    ; zum Ende des Dokuments bewegen
    $objSelection.EndKey($END_OF_STORY, $MOVE_SELECTION)
    ; 2 Zeilenumbrüche setzen
    $objSelection.TypeParagraph()
    $objSelection.TypeParagraph()
    ; Schriftgröße auf 14
    $objSelection.Font.Size = "14"
    ; Datum + Uhrzeit schreiben
    $objSelection.TypeText( "" & _Now() )
    ; 2 Zeilenumbrüche setzen
    $objSelection.TypeParagraph()
    $objSelection.TypeParagraph()
    ; Schriftgröße auf 10
    $objSelection.Font.Size = "10"

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

    ; Dokument speichern
    $objWord.ActiveDocument.SaveAs($DOC_path)

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

    ; Dokument drucken
    ;~ $objDoc.PrintOut()

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

    ; Word beenden
    $objWord.Quit

    [/autoit]

    Falls ernsthafter Bedarf besteht, würde ich mich breitschlagen lassen, und analog zur Excel.UDF eine Word.UDF erstellen. (aber braucht man die wirklich ? ;) )

  • Problem mit Hilfedateien

    • BugFix
    • 14. Juni 2007 um 21:15

    Hi Leute,

    ich habe plötzlich folgendes Problem:
    Wenn ich eine Hilfedatei (*.chm) per KOmmandozeilenaufruf oder im Explorer per Doppelklick öffne, wird die Hilfedatei kurz geöffnet und schließt sich dann wieder von selbst.
    Im Kontext mit einer Anwendung wird die Hilfe normal geöffnet und bleibt offen (z. B. AutoIt-Hilfe aus Scite heraus aufrufen).

    Hat jemand da 'ne Idee ? ?(


    Edit:
    Habs zusätzlich noch hier
    http://board.protecus.de/t29864.htm
    eingestellt

  • Homepage Backup ?

    • BugFix
    • 12. Juni 2007 um 22:55
    [autoit]

    Send("{CTRLDOWN}{TAB}{CTRLUP}")

    [/autoit]

    Es geht auch

    [autoit]

    Send("^{TAB})

    [/autoit]

    Ich verwende aber lieber die erste Variante, da diese eineindeutig zur Kombination führt.

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™