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

  • SIP Telefon Linksys WIP330 Konfigurationsproblem

    • BugFix
    • 4. Januar 2008 um 19:52

    Hi,
    ich habe mir ein SIP-Telefon von Linksys, WIP330-EU, zugelegt.
    Nur leider bekomme ich das Teil nicht dazu, mit meinem SIP-Provider zu connecten. :(
    Der Support des Herstellers hält sich bedeckt und verweist auf den Händler, welcher sich ebenfalls als nicht zuständig erklärt und auf den Hersteller verweist (Ich liebe die Servicewüste Deutschland *kotz*).
    Natürlich könnte ich das Teil jetzt zurückschicken, aber ich will es ja haben.

    Die Verbindung mit dem WLAN funktioniert tadellos und ist auch einfach zu konfigurieren.
    Anders bei den SIP-Einstellungen. Hier werden gleich 3 verschiedene Proxy-IP plus Port abgefragt.
    Im Allgemeinen erhält man von seinem Provider einen oder zwei Proxy.
    Mein Provider ist 1und1 und der bietet einen sip und einen stun Server.
    In der Konfiguration stehen zur Auswahl:
    - Proxy
    - Register Proxy
    - Outbound Proxy
    Laut 1und1 ist der sip-Server der Register Proxy. Aber wohin mit dem stun-Server?
    Ein weiterer Parameter ist der RTP Port. Ich hab keine Ahnung wozu der dient und welchen Port ich dort eintragen muß (Dank des fabelhaften Supports werde ich es wohl auch nicht erfahren).

    Falls also irgendjemand mir hier weiterhelfen kann, wäre ich ganz happy :).


    EDIT
    Also ich kenne inzwischen alle VoIP-Foren im In- und Ausland.
    Resultat: Dieses Gerät läßt sich nicht mit meinem SIP-Provider ein.
    Ergo tritt es nun doch den Rückweg zum Händler an und ich muß mir doch irgendein dösiges DECT-Telefon zulegen.

  • Installations-Menü

    • BugFix
    • 3. Januar 2008 um 13:42

    AspirinJunkie
    Da hast du natürlich vollkommen recht. Da ich aber die Angst vieler User vor Arrays ;) kenne, habe ich es dieses mal nicht erwähnt.
    Aber gerade bei vielen Controls wäre das die bessere Alternative (oder auch ObjectDictionary :P)

  • Installations-Menü

    • BugFix
    • 3. Januar 2008 um 09:35

    Irgendeine Fehlermeldung?

    Übrigens, erspare dir etwas Schreibarbeit :).
    Packe die Aktionen bei Case $Button6 in eine Schleife:

    Spoiler anzeigen
    [autoit]

    ; Statt:
    Case $Button6
    GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox3,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox4,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox5,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox6,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox7,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox8,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox9,$GUI_UNCHECKED)
    ;......

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

    ; Besser:
    Case $Button6
    For $i = $Checkbox1 To $Checkbox31
    GUICtrlSetState($i, $GUI_UNCHECKED)
    Next

    [/autoit]
  • Installations-Menü

    • BugFix
    • 2. Januar 2008 um 18:18

    Also zum Auslesen von Checkboxen (oder Radio-Button) sollte man doch die AutoIt-Syntax einhalten.

    [autoit]

    If GUICtrlRead($Control) = $GUI_CHECKED / $GUI_UNCHECKED Then

    [/autoit]


    Eine andere Möglichkeit wäre noch:

    [autoit]

    If BitAnd(GUICtrlRead($Control), $GUI_CHECKED) Then

    [/autoit]

    Diese Variante

    [autoit]

    Case $Button1
    If GuictrlRead($Checkbox1)=1 then Run("Adobe Rader 8.1.exe")
    If GuictrlRead($Checkbox2)=1 then Run("AnyDVD.exe")
    If GuictrlRead($Checkbox3)=1 then Run("ATI.exe")
    If GuictrlRead($Checkbox4)=1 then Run("autoit.exe")

    [/autoit]


    hat den Nachteil, dass bei mehreren angehakten Checkboxen versucht wird die Installationen gleichzeitig zu starten.
    Hier sollte RunWait oder ShellExecuteWait verwendet werden, damit alles nacheinander abgearbeitet wird.

  • C file in Autoin einfügen...

    • BugFix
    • 2. Januar 2008 um 14:58
    Zitat

    das es diesen dann in den Ring 0 verfrachtet ?


    Meines Wissens ist es nicht möglich separat anzuweisen, auf welcher Ebene AutoIt-Skript implementiert wird. Wenn du so tief ins System eintauchst, solltest du auch eine systemnahe Sprache und keine Skriptsprache verwenden. Wie wärs mit Assembler ;) ?

  • Ein Tool Programmieren

    • BugFix
    • 2. Januar 2008 um 14:52

    Was hast du denn "böses" vor, dass du eine neue WAN-IP brauchst? :P

  • GUICtrlSetData bei GUICtrlSetTip?

    • BugFix
    • 2. Januar 2008 um 14:46

    Was blinkt denn da bei dir?? - Wohl die Weinachtsbaumbeleuchtung. :D
    Hier mal ein ganz simples Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $switch = False
    GUICreate("GUI")
    $lb = GUICtrlCreateLabel ("Label ToolTip DE", 10,20)
    GUICtrlSetTip(-1,"DEUTSCH")
    $bt = GUICtrlCreateButton('Switch ToolTip', 120, 20, 100)
    GUISetState ()

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $bt Then
    If $switch Then
    GUICtrlSetTip($lb, 'DEUTSCH')
    GUICtrlSetData($lb, "Label ToolTip DE")
    Else
    GUICtrlSetTip($lb, 'ENGLISH')
    GUICtrlSetData($lb, "Label ToolTip EN")
    EndIf
    $switch = Not $switch
    EndIf
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    Wend

    [/autoit]
  • Bilder konvertieren

    • BugFix
    • 30. Dezember 2007 um 18:07

    DLL mit runtergeladen und registriert?

  • Fenster vergrößern

    • BugFix
    • 30. Dezember 2007 um 17:15

    Für alle betroffenen Controls mußt du analog vorgehen.

  • Fenster vergrößern

    • BugFix
    • 30. Dezember 2007 um 17:00

    Ich hab mal ein bischen probiert.
    Am besten du "kettest" den Button an die Position des Listview.
    Also Button_X = neuLV_X + neuLV_Höhe + gewünschter Abstand.
    Einfach direkt im Anschluß an die Resize-Funktion ausführen.

  • Fenster vergrößern

    • BugFix
    • 30. Dezember 2007 um 16:15

    Das Problem ist, dass wir einen Mix aus StandardResizing und der neuen Resizing-Funktion haben. Im Standard hast du Dock-Funktionalität, die ich hier nicht anbieten kann.
    Du kanst aber versuchen für den Button die Option GUICtrlResize in Bezug auf das ListView zu setzen. Vielleicht klappt das.

  • True Transparency

    • BugFix
    • 30. Dezember 2007 um 15:35

    Naja, ist ja alles Geschmackssache, aber ich kann diesen ganzen Überblendungen und Transparenzen keinen Nutzen abgewinnen. Und von der Optik her verursacht es auch eher ein Chaos, als dass es die Arbeit unterstützt.
    Aber irgendwie muß der User ja gezwungen werden unbedingte noch mehr Speicher und schnellere Hardware zu verbauen. Also werden sinnlos speicherfressende Programmoberflächen erzeugt. :P

  • Wörter asozeieren

    • BugFix
    • 30. Dezember 2007 um 15:28

    german-bash ==> school-bash

  • Resizing bei Nicht-Standard-Controls, z.B. _GUICtrlListView_Create

    • BugFix
    • 30. Dezember 2007 um 14:57

    Hi,
    wie schon einige leidvoll bemerkt haben, funktionieren in den neuen Funktionen die Standardroutinen von AutoIt nicht mehr.
    Somit muß man hier eigene Funktionen erstellen, die diese Funktionalität wiederherstellen.
    Ich habe jetzt die Funktion
    _ResizeCtrl($hWnd, $hCtrl, $aSzWnd, $aSzCtrl) erstellt.
    • $hWnd - Handle/ID des Fensters
    • $hCtrl - Handle/ID des Controls
    • $aSzWnd - Array mit Angaben Fenstergröße [WinGetPos()] bei Erstellung
    • $aSzCtrl - Array mit AngabenControlgröße [ControlGetPos()] bei Erstellung

    Hiermit wird Größe und Position des Controls bei Größenänderung der GUI angepaßt.
    Ich habe mich nur auf die Basisfunktion beschränkt, wer mag kann ja gerne noch um die verschiedenen Dock-Varianten erweitern.
    Auslöser für dir Funktion ist das Ereignis $GUI_EVENT_RESIZED.
    Da die Größenänderung/Positionierung im Verhältnis zu den Parametern der Controlerstellung steht, müssen sowohl Fenster- als auch Controlgrößenangaben an die Funktion übergeben werden.
    Dazu einfach WinGetPos() und ControlGetPos() verwenden, dann sind die Angaben auch gleich im passenden Format.
    Bei Verwendung von GUIGetMsg() muß dann nur abgefragt werden ob $msg = $GUI_EVENT_RESIZED und dann kann die Funktion mit den Parametern aufgerufen werden.
    Im OnEvent-Mode ist für das Ereignis eine parameterlose Funktion anzugeben, die dann ihrerseits _ResizeCtrl() mit Parametern aufruft - Grund: An mit OnEvent ausgelöste Funktionen können keine Parameter übergeben werden.

    Hier mal mit einem Bsp.: Standard-Combo vs. _GUICtrlComboBoxEx_Create und _GUICtrlListView_Create

    Spoiler anzeigen
    [autoit]

    #include <guiconstants.au3>
    #include <GuiComboBoxEx.au3>
    #Include <GuiListView.au3>

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

    $gui = GUICreate('Test Combo',700,600,-1,-1,$GUI_SS_DEFAULT_GUI + $WS_SIZEBOX)
    $combo = _GUICtrlComboBoxEx_Create($gui,'',110,10,100)
    GUICtrlCreateLabel('mit: _GUICtrlComboBoxEx_Create()', 250, 13, 150, 40)
    $comboStandard = GUICtrlCreateCombo('',110,110,100)
    GUICtrlCreateLabel('mit: GUICtrlCreateCombo()', 250, 113, 150, 40)
    $lv = _GUICtrlListView_Create($gui, 'Bla|Blub|Tralala', 16,200,658,380)
    GUISetState()
    Global $szWnd = WinGetPos($gui)
    Global $szCombo = ControlGetPos($gui, '', $combo)
    Global $szLV = ControlGetPos($gui, '', $lv)

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

    Do
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_RESIZED Then
    _ResizeCtrl($gui, $combo, $szWnd, $szCombo)
    _ResizeCtrl($gui, $lv, $szWnd, $szLV)
    EndIf
    Until $msg = $GUI_EVENT_CLOSE

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

    ;===============================================================================
    ;
    ; Function Name: _ResizeCtrl($hWnd, $hCtrl, $aSzWnd, $aSzCtrl)
    ; Description:: Move a Control after Resize in relative position to the window there is in
    ; Parameter(s): $hWnd - Handle/ID main-window
    ; $hCtrl - Handle/ID control to move
    ; $aSzWnd - Array with start size of window; $ar[4] = [X position, Y position, Width, Height]
    ; $aSzCtrl - Array with start size of control; $ar[4] = [X position, Y position, Width, Height]
    ; Requirement(s): $GUI_EVENT_RESIZED (get with GUIGetMsg() or in OnEvent-Mode: GUISetOnEvent($GUI_EVENT_RESIZED, 'Func')
    ; Note for OnEventMode:
    ; You need a function that calls _ResizeCtrl() because GUISetOnEvent allows no parameters.
    ; Return Value(s): on Success - 1
    ; on Failure - 0 and set @error
    ; @error = 1 window not found
    ; @error = 2 control not found
    ; @error = 3 array for size window or control not given
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;
    ;===============================================================================
    Func _ResizeCtrl($hWnd, $hCtrl, $aSzWnd, $aSzCtrl)
    Local $WinSize = WinGetPos($hWnd)
    If @error Then Return SetError(1)
    If ControlGetHandle($hWnd, '', $hCtrl) = '' Then Return SetError(2)
    If (Not IsArray($aSzWnd)) Or (Not IsArray($aSzCtrl)) Then Return SetError(3)
    Local $saveMode = Opt('GUICoordMode',1)
    Local $newWidth = Round($WinSize[2]*($aSzCtrl[2]/$aSzWnd[2]))
    Local $newHeight = Round($WinSize[3]*($aSzCtrl[3]/$aSzWnd[3]))
    Local $newX = Round($WinSize[2]*($aSzCtrl[0]/$aSzWnd[2]))
    Local $newY = Round($WinSize[3]*($aSzCtrl[1]/$aSzWnd[3]))
    ControlMove($hWnd, '', $hCtrl, $newX, $newY, $newWidth, $newHeight)
    Opt('GUICoordMode',$saveMode)
    Return 1
    EndFunc ;==>_ResizeCtrl

    [/autoit]

    Dateien

    _ResizeCtrl.au3 1,96 kB – 378 Downloads
  • Wörter asozeieren

    • BugFix
    • 30. Dezember 2007 um 12:34

    0815 :P

  • Fenster vergrößern

    • BugFix
    • 30. Dezember 2007 um 10:50

    Ich hatte das Problem in das Bug-Forum des engl. AutoIt-Forums gestellt.
    Lapidare Antwort:

    Zitat

    Es ist völlig offensichtlich, du nutzt nicht die grundlegenden Funktionen von AutoIt und somit sind die grundlegenden Funktionalitäten von AutoIt nicht wirksam. Das ist KEIN BUG.


    Na SUPER - willst du erweiterte Funktionalität nutzen (oder mußt du, weil die alte weg ist!!), sind die grundlegenden AutoIt-Funktionen eingeschränkt.
    Also ich bin einfach nur stinksauer. Ich kann mich ja der Versionsfortschreibung nicht entziehen! Wenn ich meine Skripte weiter unter der 3.2.9-er Version schreibe, sind sie für andere wertlos.
    Hier findet leider eine Entwicklung in AutoIt statt, die so sicher (von den meisten) nie gewollt war und irgendwann AutoIt ebenso kompliziert macht, wie eine Hochsprache.
    Pessimistischerweise würde ich sagen, das ist der Anfang vom Ende.:cursing: Aber der Optimist in mir ist noch nicht gestorben.:evil:

    Carsten8:
    Ich werde jetzt eine Resizing-Funktion schreiben, die dieses Problem beseitigt.
    Der Nachteil wird sein: Ich nutze dazu das Resizing-Ereignis. Das wird erst wirksam, nachdem (und nicht während) ein Fenster aufgezogen/zusammengeschoben wird. Somit "springt" das Steuerelement erst am Ende der Aktion in die neue Position, optisch unschön.

    Edit:
    So, die Funktion ist erstellt. Zu finden hier: Resizing bei Nicht-Standard-Controls, z.B. _GUICtrlListView_Create

  • Wörter asozeieren

    • BugFix
    • 29. Dezember 2007 um 22:49

    ich ==> King :rofl:

  • Fenster vergrößern

    • BugFix
    • 28. Dezember 2007 um 19:28

    Im Allgemeinen (zumindest bei den alten Funktionen :P) mit
    GUICtrlSetResizing($Control, $GUI_DOCKAUTO) ==> DOCKAUTO paßt die Größe automatisch an, andere Varianten s. Hilfe zur Funktion.
    Die GUI benötigt als Style: $WS_SIZEBOX und $WS_SYSMENU

  • Neue 3.2.0.0-Hilfe übersetzen

    • BugFix
    • 28. Dezember 2007 um 13:26

    Beim Reviewen ist mir aufgefallen, dass in den Beispielskripten auch übersetzt wird.
    Bitte beschränkt euch dabei AUSSCHLIESSLICH auf Titel !!
    Sonst lauft ihr Gefahr, dass die Bsp. nicht mehr funktionieren.
    Es war z.B. für eine IE - Funktion der Parameter "textExample" übersetzt worden. Aber damit konnte die Funktion nichts mehr anfangen. ;)

    In diesem Sinne noch viel Spaß beim Übersetzen.

  • Outlook (Verschieben von Email)

    • BugFix
    • 28. Dezember 2007 um 00:43

    Schau bitte mal in die Suche. Zu diesem Thema hatten wir schon min. 1 Thread - weiß ich sicher, da ich dort was von getestet hatte.

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™