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

  • GUI-Problem mit Arrays und StrigProblem

    • BugFix
    • 3. November 2008 um 19:52

    Du kannst alle Ctrl in ein Array packen - du kannst sie sogar direkt im Array erzeugen:

    [autoit]

    #include <GUIConstants.au3>
    Local $arGUICtrl[3] = [ _
    Execute('GUICreate("TEST")'), _
    Execute('GUICtrlCreateButton("Button 1", 20, 20, 60, 21)'), _
    Execute('GUICtrlCreateLabel("BlaBla", 100, 23, 50, 17)')]
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $arGUICtrl[1]
    MsgBox(0, '', 'Button geklickt')
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • Mein Internet ist sau langsam

    • BugFix
    • 3. November 2008 um 19:41

    Also dLan hat so einige Tücken, die dir der Anbieter gerne verschweigt :whistling: .
    Damit es funktioniert sind folgende Bedingungen nötig:
    - Multistecker und dein Adapter müssen im selben Stromkreis stecken
    - in diesem Stromkreis darf kein Fernseher oder Transformator in Betrieb sein
    Optimal ist ein eigener Stromkreis ausschließlich für das Netzwerk.
    Aber probier mal, den Adapter in verschiedenen Steckdosen - das könnte schon was bringen.

  • Dateizugriff

    • BugFix
    • 30. Oktober 2008 um 20:55

    @pceumel:
    [OT]
    Nur mal zur Info: Eine Zarge ist der Teil einer Tür, der gemeinhin auch als Rahmen bezeichnet wird.
    Nun schau dir mal unter diesem Aspekt deine Signatur an...
    Ich denke mal, du meinst verzagen.
    [/OT]

  • MsgBox-Buttons Text ändern mal anders :)

    • BugFix
    • 30. Oktober 2008 um 08:57

    Sollte so auch reichen (ungetestet):

    [autoit]

    $str = Execute('#NoTrayIcon' & @LF & _
    'Opt("WinWaitDelay",0)' & @LF & _
    'WinWaitActive("[Class:#32770]")' & @LF & _
    'ControlSetText("","","Button1","Bin dabei")' & @LF & _
    'ControlSetText("","","Button2","Mag nicht")' & @LF & _
    'ControlSetText("","","Button3","Vielleicht")')

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

    Run(RegRead("HKLM\SOFTWARE\Autoit v3\Autoit","Installdir")&"\AutoIt3.exe " & $str)

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

    MsgBox(34,"Frage","Gehst du heute mit mir aus?")

    [/autoit]
  • Problem mit Text und Leerzeichen

    • BugFix
    • 30. Oktober 2008 um 08:50
    Zitat von funkey

    Das Problem mit der Pipe ('|') scheint ein Bug von Stringsplit zu sein. Die Umgehung dieses Problems mit Stringreplace wird wohl die beste Lösung dafür sein.


    Nein, ist kein Bug. Die Pipe ist das Standardtrennzeichen in _ArrayDisplay. Das führt dann zu Fehlern.
    Schaue hier:

    [autoit]

    $str = "abc|def ghi|jklö 123.456 789,012"
    $split = StringSplit($str, ' ', 1)
    For $i = 1 To UBound($split) -1
    ConsoleWrite($split[$i] & @CRLF)
    Next

    [/autoit]
  • Laufwerksbuchstabe ermitteln und Anzahl dateien zählen

    • BugFix
    • 29. Oktober 2008 um 21:59
    [autoit]

    ; ....
    _ArrayDisplay($files)
    ReDim $files[UBound($files)][2]

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

    For $i = 1 To UBound($files, 1) - 1
    If FileExists($files[$i][0]) Then
    $byte = $byte + FileGetSize($files[$i][0])
    $files[$i][1] = FileGetSize($files[$i][0]
    EndIf
    Next
    _ArrayDisplay($files)
    ; ....

    [/autoit]
  • For-To-Next Schleifen-Problem

    • BugFix
    • 29. Oktober 2008 um 21:46

    Nein, in diesem Punkt hast du völlig recht. Global überschreibt Locale Variable gleichen Namens.

  • For-To-Next Schleifen-Problem

    • BugFix
    • 29. Oktober 2008 um 21:25

    Die Zählervariable ist von Haus aus als Local deklariert. Sie braucht also nicht extra deklariert werden.
    UBound ist die Obergrenze des Array, also die Anzahl der Elemente. Da mit Index 0 für das erste Element adressiert wird, hat das letzte Element den Index UBound-1.

    Lies mal mein Tut - Signatur.

  • For-To-Next Schleifen-Problem

    • BugFix
    • 29. Oktober 2008 um 21:13
    [autoit]

    For $i = 1 To $Anzahl

    [/autoit]

    ist falsch, da $Anzahl = UBound ist. Du kannst aber nur bis UBound -1 adressieren.
    Richtig:

    [autoit]

    For $i = 1 To $Anzahl -1

    [/autoit]
  • Problem mit Text und Leerzeichen

    • BugFix
    • 29. Oktober 2008 um 21:09

    Wenn gesplittet wird mit Leerzeichen als Splitter, dann ist logischerweise im Splitarray hinterher kein Leerzeichen mehr vorhanden, da es ja Trennzeichen ist. ;)

  • Brauche Hilfe bei ListView

    • BugFix
    • 29. Oktober 2008 um 19:23

    Oder so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #Include <GuiListView.au3>
    Opt("GUIOnEventMode", 1)

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

    $b_form = GUICreate("Test", 195, 130, 193, 125)
    GUISetOnEvent($GUI_EVENT_CLOSE,"Close")
    $b_list = GUICtrlCreateListView("Button|Frequenz|Delay", 8, 8, 179, 86)
    GUICtrlSendMsg(-1, 0x101E, 0, 50)
    GUICtrlSendMsg(-1, 0x101E, 1, 75)
    GUICtrlSendMsg(-1, 0x101E, 2, 50)
    $b_list_0 = GUICtrlCreateListViewItem("b_1|120|100", $b_list)
    GUICtrlCreateListViewItem("b_2|220|100", $b_list)
    $b_1 = GUICtrlCreateButton("Beep", 8, 96, 179, 25, 0)
    GUICtrlSetOnEvent(-1,"_Beep")
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    Func Close()
    Exit
    EndFunc ;==>Close

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

    Func _Beep()
    Local $aIndex = _GUICtrlListView_GetSelectedIndices($b_list, True)
    If $aIndex[0] = 0 Then Return
    Beep(_GUICtrlListView_GetItemText($b_list, $aIndex[1], 1), _GUICtrlListView_GetItemText($b_list, $aIndex[1], 2))
    EndFunc ;==>_1

    [/autoit]
  • Beim Start Startet Programm

    • BugFix
    • 29. Oktober 2008 um 18:28

    Soweit ich weiß, geht nix vor der Anmeldung.

    Edit:
    Wenn du nur 'ne andere Start-GUI zeigen willst - das geht. Einfach mal googeln, ist ausführlich in etlichen Foren und Beiträgen beschrieben.

  • Beim Start Startet Programm

    • BugFix
    • 29. Oktober 2008 um 18:24

    Du kannst ein Skript per RegistryEintrag im Autostart aufrufen lassen.
    Wenn ich nicht irre, ist das der Schlüssel: HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Run

  • Großbuchstaben in kleine Wandeln

    • BugFix
    • 29. Oktober 2008 um 18:05
    [autoit]

    StringLower ( "string" )

    [/autoit]
  • Assoziatives Array - pur AutoIt , Aufatmen für "Arrayverweigerer" ;-)

    • BugFix
    • 29. Oktober 2008 um 18:03

    Ja, so RICHTIG assoziativ wird das nicht gelingen. Da ich in einem Array speichere, kann ich dessen Struktur nicht aus den Angeln heben. Eigentlich sind es nur die Funktionen, die dem User vorgaukeln, dass keine Index- oder Größenverwaltung stattfindet. Aber im Kern bleibt es ein stinknormales Indexbasiertes Array.

  • Assoziatives Array - pur AutoIt , Aufatmen für "Arrayverweigerer" ;-)

    • BugFix
    • 29. Oktober 2008 um 17:52

    Was du ansprichst ist ein 2D-Array zum Speichern von Schlüssel-Wert-Paaren (oder als Objekt: Scripting.Dictionary).
    Die Erweiterung kommt als nächstes.
    Assoziativ ist es natürlich nur bedingt, da du nicht adressieren mußt sondern den Wert als solchen zufügst, mit dem Wert auf dessen Existenz prüfst.
    Mein Anliegen war hauptsächlich, ein "Objekt" ohne Netframework zu erstellen, dass aber die gesamte Funktionalität einer ArrayList aufweist. Und das ist gelungen. ;)

  • SQL Fehlermeldung in MySQL.au3

    • BugFix
    • 29. Oktober 2008 um 13:40

    Versuchs mal so (mit Limitierung auf 3-mal falsche PW-Eingabe):

    [autoit]

    #include "MySQL.au3"

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

    $susername = "root"
    $sdatabase = "dcot"
    $sserver = "localhost"
    $sDriver = "{MySQL ODBC 5.1 Driver}"
    $count = 0

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

    Do
    $count += 1
    $spassword = InputBox("Passwort", "Bitte Passwort eingeben")
    $sqlinstance = _mysqlconnect($susername, $spassword, $sdatabase, $sserver, $sDriver) ; Connect to SQL-Server
    Until Not @error Or $count = 3

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

    If $count = 3 Then
    MsgBox(0, 'Fehler', 'Das Paßwort wurde 3-mal falsch eingegeben.' & @LF & 'Das Programm wird beendet.')
    Exit
    EndIf

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

    ; der weitere Programmcode

    [/autoit]
  • Array für Beginner

    • BugFix
    • 29. Oktober 2008 um 09:16

    Und in die Kühlschrantür kommt ein Computerbaustein, auf dem die folgende Routine läuft:

    [autoit]

    Switch _GetStatusBier($arBier)
    Case 0
    MsgBox(0, 'NOTFALL', 'MAMA, GEH MA BIER HOLEN - ABA ZACKICH!!')
    Case 1 To 5
    MsgBox(0, 'ÄRGERNIS',"Mama, holst mal schnell paar Bier? - Kannst dir auch 'nen Schokoriegel mitbringen.")
    Case 6 To 10
    MsgBox(0, 'REICHT NOCH', "Liebling, wenn du morgen am Getränkeshop vorbeifährst, bringst mal bitte 'ne Kiste Bier mit?" & @LF & _
    "Wir machen uns auch mal 'nen schönen Fernsehabend.")
    Case 11 To 20
    MsgBox(0, 'OK', "Nachbar fragen, ob wir uns heut abend mal treffen.")
    Case Else
    MsgBox(0, 'PARTY?', "Ma gucken, wer so kommen kann - wenn jeder noch was mitbringt reichts zum lustig feiern.")
    EndSwitch

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

    Func _GetStatusBier(ByRef $ARRAY)
    Local $anzahl = 0
    For $i = 0 To UBound($ARRAY) -1
    For $j = 0 To UBound($ARRAY, 2) -1
    For $k = 0 To UBound($ARRAY, 3) -1
    If ($ARRAY[$i][$j][$k] <> '') And _
    ($ARRAY[$i][$j][$k] <> 0) Then $anzahl += 1
    Next
    Next
    Next
    Return $anzahl
    EndFunc

    [/autoit]

    :rofl:

  • Array für Beginner

    • BugFix
    • 28. Oktober 2008 um 22:48

    LOL
    Aufruf an alle Biertrinker: Füllt das vorgenannte Array, an jeder Position eine unterschiedliche Flasche Bier. :rofl:

  • gui hintergrund halbwegs transparent

    • BugFix
    • 28. Oktober 2008 um 20:42
    Zitat von r1fLeX

    Die Transparens von Bildern kann/sollte jeder Noob runterstellen können mit Photoshop/Gimp/Paint.net !

    Ich bezweifele, dass das was bringt. Warum? - Der Hintergrund ist die GUI, darauf pappst du ein Bild. Ist dieses semitransparent, dann siehst du die GUI dadrunter - nicht den Windows-Hintergrund.

    Es gibt ein, wenn auch aufwändige, Variante.
    - Master-GUI mit Hintergrundbild erstellen
    - Transparenz setzen
    - für JEDES Control ein Child-GUI in Control-größe
    Dann sind alle Controls gut sichtbar und der Hintergrund ist transparent.

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™