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

  • FTP upload,Textdatei klappt,*.mp3-Datei nicht ?!

    • BugFix
    • 23. September 2008 um 19:28

    Warum wollt ihr alles im Leben umsonst? ?(
    Mach deinen eigenen FTP-Server, ist kein Aufwand - bedarf nur etwas Hardware (z.B. NAS mit integriertem FTP-Server) und einen DSL-Anschluß mit ordentlichem UpLoad.

  • Assembler Einstieg ?!

    • BugFix
    • 22. September 2008 um 20:22

    Naja, ich bin z.B. totaler Autodidakt und habe alle meine Kenntnisse durch Bücher/Foren lesen und Probieren erworben.
    Allerdings muß ich zustimmen, dass das bei Assembler u.U. trotzdem nicht ausreicht. Ich hab bisher nur mal ein wenig reingeschnuppert und denke, dass es ziemlich anstrengend ist. :D
    Aber wenn du dich unbedingt ranwagen möchtest.... :whistling:

  • Inhalt Datei in Editfeld

    • BugFix
    • 22. September 2008 um 13:32

    Ich vermute mal ganz stark, dass um diese Funktion herum eine andere GUI werkelt - ebenfalls mit "$msg = GUIGetMsg" ?
    Das überschneidet sich natürlich, bei mehreren Fenstern mußt du dann auch Abfragen von welchem Fenster das Ereignis kommt. ( GUIGetMsg(1) liefert Array mit diesen Infos, s. Hilfe)
    Besser ist sowieso, alle GUI beim Programmstart (nicht in der Funktion) zu erstellen und sie dann mit GUISetState($gui, @SW_SHOW) anzuzeigen.

  • _GetSystemMetrics (kpl. in einem Aufruf)

    • BugFix
    • 22. September 2008 um 10:57

    Hi,
    um Abmaße von Fensterrändern, Clientflächen etc. zu erhalten kann man ja die Funktion _WinAPI_GetSystemMetrics verwenden.
    Diese Funktion gibt für den übergebenen Index den entsprechenden Wert zurück.
    In meiner Funktion werden alle ermittelbaren Werte in einem Array zurückgegeben. Die Funktion enthält einen optionalen Parameter, mit dem die ermittelbaren Größen in einer MsgBox oder über Commandline ausgegeben werden. Dabei wird die Funktion selbst nicht ausgeführt.
    Das soll als Hilfe für den Benutzer dienen - denn wer hat schon immer alle 38 möglichen Abfragegrößen parat ;) .
    Der Vollständigkeit halber sind auch die Namen der Windowskonstanten aufgelistet.

    Spoiler anzeigen
    [autoit]

    #include<array.au3>
    $a = _GetSystemMetrics()
    _ArrayDisplay($a)
    ;===============================================================================
    ; Function Name: _GetSystemMetrics([$ShowVal=-1])
    ; Description:: Rückgabe verschiedener Systeminformationen (Maße)
    ; Parameter(s): optional $ShowVal -1 Parameter nicht verwendet (Standard)
    ; 0 Ausgabe aller möglichen Werte in MsgBox
    ; 1 Ausgabe aller möglichen Werte in Commandline
    ; Bei Verwendung des optionalen Parameters wird die Funktion selbst
    ; NICHT ausgeführt.
    ; Return Value(s): Standard Array mit allen ermittelten Werten
    ; opt. Param entsprechende Auflistung
    ; Author(s): BugFix
    ;===============================================================================
    Func _GetSystemMetrics($ShowVal=-1)
    Local $arSysMetric[38][3] = [ _
    ["SM_CXSCREEN",0,"Bildschirmbreite"], _
    ["SM_CYSCREEN",1,"Bildschirmhöhe"], _
    ["SM_CXFULLSCREEN",16,"Breite der Fenster Client Fläche"], _
    ["SM_CYFULLSCREEN",17,"Höhe der Fenster Client Fläche"], _
    ["SM_CYMENU",15,"Höhe des Menüs"], _
    ["SM_CYCAPTION",4,"Höhe von Überschrift/Titel"], _
    ["SM_CXFRAME",32,"Breite des Fenster Rahmens"], _
    ["SM_CYFRAME",33,"Höhe des Fenster Rahmens"], _
    ["SM_CXHSCROLL",21,"Breite des Pfeil Bitmap auf der horizontalen Scrollbar"], _
    ["SM_CYHSCROLL",3,"Höhe des Pfeil Bitmap auf der horizontalen Scrollbar"], _
    ["SM_CXVSCROLL",2,"Breite des Pfeil Bitmap auf der vertikalen Scrollbar"], _
    ["SM_CYVSCROLL",20,"Höhe des Pfeil Bitmap auf der vertikalen Scrollbar"], _
    ["SM_CXSIZE",30,"Breite des Bitmaps in der Titelleiste"], _
    ["SM_CYSIZE",31,"Höhe des Bitmaps in der Titelleiste"], _
    ["SM_CXCURSOR",13,"Breite des Cursors"], _
    ["SM_CYCURSOR",14,"Höhe des Cursors"], _
    ["SM_CXBORDER",5,"Breite des Fenster Rahmens der nicht ausgemessen werden kann"], _
    ["SM_CYBORDER",6,"Höhe des Fenster Rahmens der nicht ausgemessen werden kann"], _
    ["SM_CXDOUBLECLICK",36,"Breite des Rechtecks um die Position des ersten Klicks. Der zweite Klick muß in denselbem Rechteckbereich auftreten."], _
    ["SM_CYDOUBLECLICK",37,"Höhe des Rechtecks um die Position des ersten Klicks. Der zweite Klick muß in denselbem Rechteckbereich auftreten."], _
    ["SM_CXDLGFRAME",7,"Breite des Dialog Fenster Rahmen"], _
    ["SM_CYDLGFRAME",8,"Höhe des Dialog Fenster Rahmen"], _
    ["SM_CXICON",11,"Breite des Icon"], _
    ["SM_CYICON",12,"Höhe des Icon"], _
    ["SM_CXICONSPACING",38,"Breite des Rechtecks, welches das System nutzt zum Positionieren von gekachelten (tiled) Icons"], _
    ["SM_CYICONSPACING",39,"Höhe des Rechtecks, welches das System nutzt zum Positionieren von gekachelten (tiled) Icons"], _
    ["SM_CXMIN",28,"Minimale Breite des Fensters"], _
    ["SM_CYMIN",29,"Minimale Höhe des Fensters"], _
    ["SM_CXMINTRACK",34,"Minimale Tracking Breite des Fensters"], _
    ["SM_CYMINTRACK",35,"Minimale Tracking Höhe des Fensters"], _
    ["SM_CXHTHUMB",10,"Breite der Scrollbox auf horizontalaer Scrollbar"], _
    ["SM_CYVTHUMB",9,"Breite der Scrollbox auf vertikaler Scrollbar"], _
    ["SM_DBCSENABLED",42,"Rückgabe eines Wertes ungleich Null, wenn die aktuelle Windows Version Double-byte Zeichen verwendet, anderenfalls Rückgabe von Null."], _
    ["SM_DEBUG",22,"Rückgabe eines Wertes ungleich Null, wenn die Windows Version eine Debugging Version ist."], _
    ["SM_MENUDROPALIGNMENT",40,"Ausrichtung von Popup Menüs. Wenn Null, ist die linke Seite ausgerichtet wie die linke Seite des korrespondierenden Menüleisten Eintrags. Wenn Nicht-Null, wie dessen rechte Seite."], _
    ["SM_MOUSEPRESENT",19,"Nicht-Null, wenn eine Hardware Maus installiert ist."], _
    ["SM_PENWINDOWS",41,"Handle der Pen Windows Dynamic Link Library falls Pen Windows installiert ist."], _
    ["SM_SWAPBUTTON",23,"Nicht-Null, wenn linker und rechter Maus-Button getauscht sind."]]
    If $ShowVal = 0 Or $ShowVal = 1 Then
    Local $sOut = ''
    For $i = 0 To UBound($arSysMetric) -1
    $sOut &= '[' & $i & '] - ' & $arSysMetric[$i][0] & @TAB & $arSysMetric[$i][2] & @CRLF
    Next
    $sOut = StringTrimRight($sOut, 2)
    EndIf
    Switch $ShowVal
    Case 0
    Return MsgBox(0, 'Auflistung Rückgabewerte', $sOut)
    Case 1
    Return ConsoleWrite($sOut & @CRLF)
    Case Else
    Local $arOut[38], $ret, $dll = DllOpen("user32.dll")
    For $i = 0 To UBound($arSysMetric) -1
    $ret = DllCall($dll, "int", "GetSystemMetrics", "int", $arSysMetric[$i][1])
    If IsArray($ret) Then $arOut[$i] = $ret[0]
    Next
    DllClose($dll)
    Return $arOut
    EndSwitch
    EndFunc ;==>_GetSystemMetrics

    [/autoit]
  • Geometrie und Längenmessung

    • BugFix
    • 21. September 2008 um 14:58

    Achso, dann hab ich das fehlinterpretiert :D - Ich dachte er will absolut messen.

  • Geometrie und Längenmessung

    • BugFix
    • 21. September 2008 um 14:49

    anno2008:
    Das ist wahrscheinlich sehr optimistisch gedacht, weil:
    - Du hast keine Referenzgröße, weißt gar nicht die Abmaße eines Pixels
    - Ebenfalls nicht bekannt ist die Pixeldichte (PPI)
    - Diese Werte sind variabel und bei jedem User unterschiedlich.

  • tauschen Enter mit Tab

    • BugFix
    • 21. September 2008 um 10:30

    Hi Raupi, Danke für den Link. Werde das mal in eine UDF packen.
    Ist aber auch nur ein Notnagel, da meist die Tastenfunktion nur temporär/programmabhängig geändert werden soll. Der Regwert muß also ständig geswitcht werden.
    Ich bastel grad noch an der Variante, das Tastenevent abzufangen und mit einem neuen Wert zu belegen. Will aber noch nicht richtig.

    Hier mal noch, basierend auf dem GetAsyncKeyState-Aufruf, eine stabile _IsPressed() - Version. Syntax ist mit dieser identisch - also Abfrage String-HexKey.

    [autoit]

    Func _IsPressedAsync($sHexKey)
    Local $ret, $i
    For $i = 1 To 256
    $ret = DllCall("user32.dll", "int", "GetAsyncKeyState", "int", '0x' & Hex($i, 2))
    If $ret[0] <> 0 And Hex($i, 2) = $sHexKey Then Return True
    Next
    Return False
    EndFunc

    [/autoit]
  • tauschen Enter mit Tab

    • BugFix
    • 20. September 2008 um 23:26

    Hab noch 'ne andre Möglichkeit gefunden.
    Hier in Endlosschleife:

    [autoit]

    #Include <WinAPI.au3>
    $iKey = 110

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

    While True
    Sleep(100)
    If _WinAPI_GetAsyncKeyState($iKey) Then Send('{BS}.')
    WEnd

    [/autoit]
  • tauschen Enter mit Tab

    • BugFix
    • 20. September 2008 um 19:29

    Hi Lina,
    ist vllt. nicht die eleganteste Lösung, weil ich das Komma nicht verhindern kann, sondern anschließend lösche und einen Punkt setze.
    Hier schau mal:

    [autoit]

    #Include <Misc.au3>
    While 1
    Sleep(250)
    If _IsPressed('6E') Then Send('{BS}.')
    WEnd

    [/autoit]

    Edit:
    Habs nochmal getestet, _IsPressed() ist sehr unzuverlässig und läßt einige Tastaturanschläge durch. Verwende folgende Variante:

    Spoiler anzeigen
    [autoit]

    Global $dll = DllOpen("user32.dll")

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

    While 1
    Sleep(100)
    If _IsNumCommaPressed($dll) Then Send('{BS}.')
    WEnd
    DllClose($dll)

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

    Func _IsNumCommaPressed($dll)
    Local $ret, $i
    For $i = 1 To 256
    $ret = DllCall($dll, "int", "GetAsyncKeyState", "int", '0x' & Hex($i, 2))
    If $ret[0] <> 0 And Hex($i, 2) = '6E' Then Return True
    Next
    Return False
    EndFunc

    [/autoit]
  • rapidshare downloader

    • BugFix
    • 19. September 2008 um 20:36

    Fehlt mir irgendwie das Verständnis. Sind euch die Nutzungsbedingungen total Banane, dass offensichtlich dagegen verstoßen wird?

    Zitat von Nutzungsbedingungen Rapidshare

    Personen, die Programme schreiben mit dem Ziel, gegen diese Nutzungsbedingungen zu verstossen, werden strafrechtlich verfolgt und für den entstandenen Schaden bzw. Verlust haftbar gemacht.

  • Alles Gute zum Geburtstag Server-Admin

    • BugFix
    • 19. September 2008 um 18:43

    Hi Gun-Food,
    ebenfalls die besten Grüße und Wünsche von mir.
    Auf weiterhin frohe Skripterzeiten. ;)

  • memory-funktionen hilfe

    • BugFix
    • 19. September 2008 um 15:21

    Sag mal klar an, was du tun willst. Du solltest aber vorher unbedingt hier einen Blick drauf werfen:
    https://autoit.de/index.php?page=Forumrules. Vielleicht erübrigt sich dann ja deine Frage.

  • Regulärer Ausdruck.

    • BugFix
    • 19. September 2008 um 14:20
    Zitat von franzp

    Und ich möchte immer das TET raus haben.


    Also verstehe ich richtig: Du willst "TET" - oder 3 andere Buchstaben an diese Position entfernen, also ersatzlos aus dem String löschen?

    [autoit]

    $str = "|!TET13060NAU00!"
    $str = Stringleft($str, 2) & StringTrimLeft($str, 5)

    [/autoit]


    Man muß nicht zwingend RegEx verwenden, wenn Stringoperationen es auch ermöglichen. Zumal diese auch schneller sind als RegEx.

  • man sagt, man könne telnet nicht scripten, dass möchte ich beweisen, dass es geht.

    • BugFix
    • 18. September 2008 um 20:13

    Hast du mal die Links angeschaut, die ich gepostet habe? Da siehst du, wie du ohne DOS-Box die Telnetverbindung aufbauen kannst.

  • man sagt, man könne telnet nicht scripten, dass möchte ich beweisen, dass es geht.

    • BugFix
    • 17. September 2008 um 18:40

    http://www.autoitscript.com/forum/index.php?showtopic=70322&hl=telnet
    http://www.autoitscript.com/forum/index.php?showtopic=66115&hl=telnet
    http://www.autoitscript.com/forum/index.php?showtopic=54147&hl=telnet

  • Teamspeak-Zusatzprogramm // Brauche Hilfe beim Tray-Menü

    • BugFix
    • 17. September 2008 um 15:01
    Zitat von rajah of persia

    Kann man an minimierte Programme Tastenbefehle senden, ohne dass sie dabei geöffnet werden?

    Zitat von AutoIt-Hilfe

    Sends simulated keystrokes to the active window.

    Erklärt alles.

  • Teamspeak-Zusatzprogramm // Brauche Hilfe beim Tray-Menü

    • BugFix
    • 17. September 2008 um 14:21

    Hier mal das Hilfe-Bsp. umgestrickt.

    Spoiler anzeigen
    [autoit]

    #Include <Constants.au3>
    Opt("TrayMenuMode",1)

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

    $microfonitem = TrayCreateItem("Mute Microphone")
    $speakeritem = TrayCreateItem("Mute Speakers")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit")

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

    TraySetState()

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

    While 1
    $msg = TrayGetMsg()
    Select
    Case $msg = $microfonitem
    MsgBox(0, '', 'Func Mikro aus')
    ; Mikro aus
    Case $msg = $speakeritem
    MsgBox(0, '', 'Func Speaker aus')
    ; Speaker aus
    Case $msg = $exititem
    ExitLoop
    EndSelect
    WEnd

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

    Exit

    [/autoit]

    Wenn es für Mic aus und Speaker aus Hotkeys gibt, kannst du diese ja ausführen bei Aufruf des TrayItems.

  • Teamspeak-Zusatzprogramm // Brauche Hilfe beim Tray-Menü

    • BugFix
    • 17. September 2008 um 13:38
    Zitat von eagle

    Es geht ihm nicht um das Traymenü selbst, sondern er will Mute Microphone und Mute Speakers von Ts benutzen.


    Nein, es geht im darum diese Punkte aus einem eigenen Traymenü aufzurufen.

    Ruf die SuFu auf: - Erweiterte Suche - Haken raus bei "exakter Treffer" !! - und dann gib ein: Traymenü ==> über 100 Treffer

  • OnEvent Menü funktioniert nicht

    • BugFix
    • 17. September 2008 um 13:33
    Zitat von dabudai

    Hier bekomme ich die Fehlermeldung, dass die Variable "$TRAY_EVENT_PRIMARYDOUBLE" nicht deklariert ist.


    #Include <Constants.au3> ^^

  • automatisches rechnen

    • BugFix
    • 17. September 2008 um 12:56

    Hi,
    da hatte grad letztens jemand für eine Widerstandsberechnung nach gefragt.
    Ich hoffe mein Bsp. funzt.
    Habbe jetzt nur Addition drin, kannst das ja abändern in den Rechenfunktionen.

    Edit:
    Die Clearbutton sind beabsichtigt, damit legst du fest welches Feld neu berechnet werden soll nach erfolgter erster Rechnung. Denn wenn alle Felder bereits gefüllt sind und du nur einen Wert überschreibst, kann das programm ja nicht ahnen, welchen der zwei anderen Werte du nun berechnen möchtest ;-).

    Spoiler anzeigen
    [autoit]

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

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

    Global $is1 = False, $is2 = False, $is3 = False

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

    GUICreate('Test')
    GUISetOnEvent($GUI_EVENT_CLOSE, 'ende')
    GUICtrlCreateLabel('1: ', 15, 15, 30)
    $1 = GUICtrlCreateInput('', 50, 15, 60, -1, BitOR($ES_RIGHT, $ES_AUTOHSCROLL))
    GUICtrlSetOnEvent(-1, '_1')
    GUICtrlCreateButton('clear', 120, 15, 40, 20)
    GUICtrlSetOnEvent(-1, '_c1')
    GUICtrlCreateLabel('2: ', 15, 45, 30)
    $2 = GUICtrlCreateInput('', 50, 45, 60, -1, BitOR($ES_RIGHT, $ES_AUTOHSCROLL))
    GUICtrlSetOnEvent(-1, '_2')
    GUICtrlCreateButton('clear', 120, 45, 40, 20)
    GUICtrlSetOnEvent(-1, '_c2')
    GUICtrlCreateLabel('3: ', 15, 75, 30)
    $3 = GUICtrlCreateInput('', 50, 75, 60, -1, BitOR($ES_RIGHT, $ES_AUTOHSCROLL))
    GUICtrlSetOnEvent(-1, '_3')
    GUICtrlCreateButton('clear', 120, 75, 40, 20)
    GUICtrlSetOnEvent(-1, '_c3')
    GUISetState()

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

    While 1
    Sleep(100)
    WEnd

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

    Func ende()
    Exit
    EndFunc

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

    Func _1()
    If GUICtrlRead($1) <> '' Then
    $is1 = True
    Else
    $is1 = False
    EndIf
    If $is1 And $is2 Then
    _calc3()
    ElseIf $is1 And $is3 Then
    _calc2()
    EndIf
    EndFunc

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

    Func _2()
    If GUICtrlRead($2) <> '' Then
    $is2 = True
    Else
    $is2 = False
    EndIf
    If $is2 And $is1 Then
    _calc3()
    ElseIf $is2 And $is3 Then
    _calc1()
    EndIf
    EndFunc

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

    Func _3()
    If GUICtrlRead($3) <> '' Then
    $is3 = True
    Else
    $is3 = False
    EndIf
    If $is3 And $is2 Then
    _calc1()
    ElseIf $is3 And $is1 Then
    _calc2()
    EndIf
    EndFunc

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

    Func _calc1()
    GUICtrlSetData($1, GUICtrlRead($2) + GUICtrlRead($3))
    EndFunc

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

    Func _calc2()
    GUICtrlSetData($2, GUICtrlRead($1) + GUICtrlRead($3))
    EndFunc

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

    Func _calc3()
    GUICtrlSetData($3, GUICtrlRead($2) + GUICtrlRead($1))
    EndFunc

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

    Func _c1()
    GUICtrlSetData($1, '')
    _clearCheck(1)
    EndFunc

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

    Func _c2()
    GUICtrlSetData($2, '')
    _clearCheck(2)
    EndFunc

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

    Func _c3()
    GUICtrlSetData($3, '')
    _clearCheck(3)
    EndFunc

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

    Func _clearCheck($N)
    Switch $N
    Case 1
    If (GUICtrlRead($2)<>'') And (GUICtrlRead($3)<>'') Then
    $is2 = True
    $is3 = True
    $is1 = False
    EndIf
    Case 2
    If (GUICtrlRead($1)<>'') And (GUICtrlRead($3)<>'') Then
    $is1 = True
    $is3 = True
    $is2 = False
    EndIf
    Case 3
    If (GUICtrlRead($2)<>'') And (GUICtrlRead($1)<>'') Then
    $is2 = True
    $is1 = True
    $is3 = False
    EndIf
    EndSwitch
    EndFunc

    [/autoit]

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™