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

  • security check funktion

    • BugFix
    • 28. Dezember 2007 um 00:25

    Meinst du sowas:

    [autoit]

    $strEncrypted = _StringEncrypt(0, InputBox('Paßwort', 'Bitte Paßwort eingeben', '', '*'), $Schluessel)

    [/autoit]


    Anmerkung
    Wieso sind eigentlich keine Formatierungsmasken mehr vorhanden? - Oder muß ich die erst irgendwo aktivieren?

  • Mit _GUICtrlComboBoxEx_Create() erzeugte Box widersetzt sich Resizing

    • BugFix
    • 27. Dezember 2007 um 15:57

    Hi,
    da die neue Version 3.2.10.0 uns so viele neue Funktionen beschert hat, möchte ich diese auch mal nutzen. Doch leider zeigt sich bei der ComboBox ähnliches wie bei ListView: Die neuen Funktionen bezahlt man damit, dass Altbewährtes und Gutes nicht mehr möglich ist.
    Ich weiß nicht wie ihr das seht, aber ich bin nicht sehr glücklich über diese Art neuer Implementierungen.

    Konkret:
    Ich habe eine mit _GUICtrlComboBoxEx_Create() erzeugte ListBox. Die GUI ist jedoch vom User größenveränderbar, was mit den Standardcontrols kein Problem darstellt. Einige benötigen nicht einmal "GUICtrlSetResizing(-1, $GUI_DOCKAUTO)" um sich analog anzupassen.
    Mit dem neuen Control finde ich jedoch keinen Weg.
    Vielleicht hat sich schon jemand damit rumgeärgert und kann einen Tipp geben.

    Hier mal beide Varianten im direkten Vergleich:

    Spoiler anzeigen
    [autoit]

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

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

    $gui = GUICreate("Combo erzeugt mit 'GUICtrlCreateCombo()'", 500, 200, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX))
    GUISetOnEvent($GUI_EVENT_CLOSE, '_Ende')
    $combo = GUICtrlCreateCombo('',110,10,100)
    $list = GUICtrlCreateList('',10,40,200,120)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $in = GUICtrlCreateInput('', 250, 40, 230, 120, $ES_MULTILINE)
    GUICtrlSetData(-1, 'Beim Verändern der Größe bewegt sich die ComboBox ' & _
    'in relativer Position zu den anderen Controls.' & _
    'Sogar ohne "GUICtrlSetResizing(-1, $GUI_DOCKAUTO)".')
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $button = GUICtrlCreateButton('Ändere Combo-Erstellung', 250, 10, 150, 21)
    GUICtrlSetOnEvent(-1, '_ButtonClick')
    GUISetState()

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

    While 1
    Sleep(100)
    WEnd

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

    Func _Ende()
    Exit
    EndFunc

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

    Func _ButtonClick()
    GUIDelete($gui)
    $gui = GUICreate("Combo erzeugt mit '_GUICtrlComboBoxEx_Create()'", 500, 200, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX))
    GUISetOnEvent($GUI_EVENT_CLOSE, '_Ende')
    $combo = _GUICtrlComboBoxEx_Create($gui,'',110,10)
    GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
    $list = GUICtrlCreateList('', 10,40,200,120)
    $in = GUICtrlCreateInput('', 250, 40, 230, 120, $ES_MULTILINE)
    GUICtrlSetData(-1, 'Beim Verändern der Größe bleibt die ComboBox ' & _
    'in absoluterer Position zum Fenster.' & _
    '"GUICtrlSetResizing(-1, $GUI_DOCKAUTO)" ist wirkungslos.')
    $button = GUICtrlCreateButton('Combo-Erstellung geändert', 250, 10, 150, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState()
    EndFunc

    [/autoit]
  • Wie kann ich das zusammenfassen?

    • BugFix
    • 26. Dezember 2007 um 21:58

    GtaSpider hat aufgrund des vielen Weihnachtspunsches nur eine Kleinigkeit vergessen: ContinueCase

    Spoiler anzeigen
    [autoit]

    Global $Message
    Select
    Case StringIsDigit($XC) = 0
    $Message &= $XC & @CRLF
    ContinueCase
    Case StringIsDigit($MC) = 0
    $Message &= $MC & @CRLF
    ContinueCase
    Case StringIsDigit($HC) = 0
    $Message &= $HC & @CRLF
    ContinueCase
    Case StringIsDigit($AC) = 0
    $Message &= $AC & @CRLF
    ContinueCase
    Case StringIsDigit($MK) = 0
    $Message &= $MK & @CRLF
    ContinueCase
    Case StringIsDigit($HK) = 0
    $Message &= $HK & @CRLF
    ContinueCase
    Case StringIsDigit($AK) = 0
    $Message &= $AK & @CRLF
    EndSelect
    MsgBox(16, "Fehler", $Message)

    [/autoit]
  • ListView: Wieder ein Problem

    • BugFix
    • 26. Dezember 2007 um 21:44

    Also wenn du mit _GUICtrlListView_Create() arbeitest, hast du keine Chance Items farbig zu markieren. Zumindest habe ich bisher keine Möglichkeit gefunden.
    Das Konzept dieser neuen (besch...) ListViewfunktionen basiert darauf, dass die Items keine einzelnen Controls mehr sind. Somit kannst du sie ausschließlich über den Index ansprechen.
    Ich vermeide es tunlichst die neuen ListViewfunktionen zu verwenden.

  • ListView: Wieder ein Problem

    • BugFix
    • 26. Dezember 2007 um 21:09

    Verstehe ich das richtig:
    Du möchtest nur ein Item markieren? - Heißt das jetzt das komplette Item oder nur ein SubItem?
    Letzteres ist meines Wissens nicht möglich. Wegen dem anderen probier ich mal.

  • Hilfe, meine AutoIt Script Sammlung is weg!!!

    • BugFix
    • 26. Dezember 2007 um 11:09

    Schnellformatierung ist auch ein häufig verwendeter aber nicht referenzierter Begriff.
    Es gibt nur 2 Formen der Formatierung:
    1. Low-Level-Formatierung – die physikalische Einteilung eines Speichermediums in Spuren und Sektoren durch die Hardware (Controller).
    2. High-Level-Formatierung – die logische Einteilung des Datenträgers mit einem Dateisystem durch eine Software (meist durch das Betriebssystem).
    Punkt 1 wird im Werk bei der Produktion der Medien ausgeführt und ist im Normalfall (für HDD) vom User selbst nicht ausführbar (wenn auch nicht unmöglich :D). Bei Disketten, CD-ROM, CD-RW oder DVD-ROM/RW laufen beide Formen parallel ab.
    Punkt 2 ist das, was umgangssprachlich als 'Formatieren' bezeichnet wird.
    Der Standardformatbefehl (nix anderes wird von 99% der User verwendet) knallt nur das Inhaltsverzeichnis weg, Daten bleiben unangetastet.Es sei denn, du wechselst in ein anderes Filesystem. Dann wird die Clustergröße neu festgelegt und somit erhältst du eine völlig neue Segmentstruktur. Ob dieses dann mit Profimitteln rückgängig zu machen ist, weiß ich aber nicht.
    Es gibt aber auch Tools für den sicherheitsbewußten User ;), die den gesamten Datenbestand zuerst mehrfach überschreiben und dann die Formatierung ausführen. Danach kannst du eine Datenwiederherstellung wirklich vergessen (was ja auch Sinn der Aktion ist).

  • Hilfe, meine AutoIt Script Sammlung is weg!!!

    • BugFix
    • 26. Dezember 2007 um 00:42
    Zitat

    Ach ja und wenn man die an ein rechner klemmt und man die defragmentieren will


    Also das verstehe ich eindeutig so, dass versucht wurde die Platte zu defragmentieren (woher weißt du sonst das es nicht geht :P). Und eben dieses ist tödlich. :whistling:
    Eine Prüfung auf Beschädigung läßt sich mit Scandisk ausführen. Solange die Partitionstabelle nicht zerschossen ist besteht Hoffnung. Und selbst eine defekte Partitionstabelle läßt sich (wenn auch mit viel Mühe) wiederherstellen.
    Eine Festplatte ist erst dann wirklich nicht mehr lesbar, wenn sie grundlegende physikalische Schäden hat. Ansonsten gibt es immer einen Weg, wenn auch teilweise mit sehr hohem Aufwand.

  • autom. syst. schreiber

    • BugFix
    • 26. Dezember 2007 um 00:28

    Wenn ich dich richtig verstanden habe soll das Ergebnis so aussehen:

    Spoiler anzeigen
    Code
    a
    A
    aa
    AA
    aaa
    AAA
    b
    B
    bb
    BB
    bbb
    BBB
    c
    C
    cc
    CC
    ccc
    CCC
    Alles anzeigen


    Ich hab den Code jetzt mal angepaßt, dass dieses Ergebnis kommt:

    Spoiler anzeigen
    [autoit]

    $max = 3
    For $i = 97 To 122
    For $n = 1 To $max
    $out = ''
    For $ii = 1 To $n
    $out &= Chr($i)
    Next
    ConsoleWrite($out & @CRLF)
    ConsoleWrite(StringUpper($out) & @CRLF)
    Next
    Next

    [/autoit]
  • Hilfe, meine AutoIt Script Sammlung is weg!!!

    • BugFix
    • 26. Dezember 2007 um 00:07

    Wenn du auf deine Festplatte nicht mehr zugreifen kannst, ist so ziemlich das schlechteste, was du machen kannst, diese in einem anderen PC versuchen zu defragmentieren. Damit verbaust du dir u.U. die letzte Chance zur Datenrettung.
    Besser ist immer die Platte als Slave in einen anderen PC einzuhängen und mit einem Datenrettungstool versuchen zu retten was zu retten ist.

  • autom. syst. schreiber

    • BugFix
    • 25. Dezember 2007 um 23:11

    Hier eine Variante.
    Allerdings ist die Ausgabe in der Form, dass erst alle gleichlangen Zeichenketten erstellt werden, immer im Wechsel klein/groß:
    sieht so aus:

    Spoiler anzeigen
    Code
    ....
    y
    Y
    z
    Z
    aa
    AA
    bb
    BB
    ....
    Spoiler anzeigen
    [autoit]

    $end = 1
    $max = 3
    For $n = 1 To $max
    $k = 65
    For $i = 97 To 122
    $out = ''
    For $ii = 1 To $end
    $out &= Chr($i)
    Next
    ConsoleWrite($out & @CRLF)
    $out = ''
    For $ii = 1 To $end
    $out &= Chr($k)
    Next
    ConsoleWrite($out & @CRLF)
    $k += 1
    Next
    $end += 1
    Next

    [/autoit]
  • autom. syst. schreiber

    • BugFix
    • 25. Dezember 2007 um 22:03

    Als Tipp: Zeichen lassen sich über ihren ASCII-Wert definieren und diese Werte kann man in Schleifen durchgehen.

  • Problem mit _GUICtrlListview_AddItem

    • BugFix
    • 25. Dezember 2007 um 20:15

    Edit
    So, ich habe meine erste Lösung verworfen und dir hier mal ein Funktionsbeispiel erstellt ohne _GUICtrlListview_AddItem:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <GUIConstants.au3>

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

    Global $arPlaylist[10][2] = [ _
    ['Ordner1', 4], _
    ['File1', 41], _
    ['File2', 41], _
    ['File3', 41], _
    ['File4', 41], _
    ['File5', 41], _
    ['Ordner2', 4], _
    ['File1', 41], _
    ['File2', 41], _
    ['File3', 41]]
    Global $ListView
    Global $arItem[UBound($arPlaylist)]

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 456, 320, 193, 115)
    $ListView = GUICtrlCreateListView('ListView', 36, 22, 393, 277, BitOR($LVS_SMALLICON,$LVS_SINGLESEL, _
    $LVS_SHOWSELALWAYS))
    For $i = 0 To UBound($arPlaylist) -1
    $arItem[$i] = GUICtrlCreateListViewItem($arPlaylist[$i][0], $ListView)
    GUICtrlSetImage($arItem[$i], "shell32.dll", $arPlaylist[$i][1]) ; "shell32.dll",4-Ordner; 41-Musik
    Next
    GUIRegisterMsg($WM_NOTIFY, "Set_ListView")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    Func Set_ListView ($CtrlHandle, $MsgID, $CtrlID, $LPNMHDR)
    If $CtrlID = $ListView Then
    Local $NMHDR, $Event
    $NMHDR = DllStructCreate("int;int;int", $LPNMHDR)
    If @Error Then Return
    $Event = DllStructGetData($NMHDR, 3)
    If $Event = $NM_DBLCLK Then
    Local $ItemString = $arPlaylist[_GUICtrlListView_GetSelectedIndices($ListView)][0]
    If Not $ItemString = '' Then
    ; DOPPELKLICK auf Eintrag
    MsgBox(0, 'Doppelklick', $ItemString)
    EndIf
    EndIf
    EndIf
    $LPNMHDR = 0
    EndFunc

    [/autoit]
  • Worthäufigkeit eines Textes bestimmen

    • BugFix
    • 24. Dezember 2007 um 10:30
    Zitat

    PS: Das Fileopen-Problem, warum ist das eins? Ich handhabe es oft so. Wieso soll ich die Datei vorher öffnen, bevor ich sie benutze, wenn ich auch so reinschreiben kann? ( in dem Fall währe es ja auch nicht wichtig, ob die Datei zum Lesen oder Schreiben etc. geöffnet ist. Oder ist das einfach nur guter Stil?


    In erster Linie ist es guter Stil und andererseits hilft es dir (zumindest seh ich das so) den Überblick zu behalten was du gerade mit deinen Dateien treibst. :)
    Es stimmt schon, dass wir zur Zeit einen Mix von Funktionen haben, die FileOpen erfordern oder auch nicht. Und damit ich da nicht extra gucken muß ob es erforderlich ist oder nicht, verwende ich halt FileOpen und dann paßt's schon ;)

  • TAN - Verwaltung

    • BugFix
    • 23. Dezember 2007 um 18:46

    Mal sehen ob ich die Weihnachtstage zu komme.

  • Basis-Client für IRC-Chat

    • BugFix
    • 23. Dezember 2007 um 18:05

    Hi,
    ich habe hier mal die Grundform eines IRC-Clienten erstellt. Alle notwendigen Funktionen sind mit enthalten, es braucht also nix includet werden.
    In dieser Variante wird bereits nach den wesentlichen Ereignissen im Chat selektiert, alle eingehenden Nachrichten/Ereignisse werden auf die Console ausgegeben. Hier könnte man z.B. mit einer Auswertung ansetzen für einen Bot 8o .
    Einige Aktionen, die der Client ausführen kann, habe ich in HotKeys hinterlegt.
    Um zu sehen, was der Client tut, geht am besten mit einem IRC-Client (Dana, Miranda o.ä.) in den Chat. Natürlich nicht mit demselben Nick. :whistling:
    Also viel Spaß damit.

    Spoiler anzeigen
    [autoit]

    Global $server = "irc.afterworkchat.com"
    Global $channel = '#autoit'
    Global $nick = 'TestNick1'
    Global $port = 6667
    Global $USER, $USER_alt, $text, $txt

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

    HotKeySet('#!w', '_werfen') ; Aktion des Clients
    HotKeySet('#!a', '_action') ; Aktion des Clients
    HotKeySet('#!s', '_say') ; Client spricht
    HotKeySet('#!q', '_quit') ; Abmelden vom Server, Programmende
    HotKeySet('#!p', '_part') ; Channel verlassen
    HotKeySet('#!j', '_join') ; Channel betreten

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

    TCPStartup ()
    Global $sock = _IRCConnect($server, $port, $nick); Verbindung zu IRC und Identifizierung Nickname

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

    While 1
    $msg = GUIGetMsg()
    If $msg = -3 Then
    Exit
    EndIf
    $recv = TCPRecv($sock, 8192); Empfängt vom Server
    If @error Then
    Exit MsgBox(1, "IRC Example", "Server has errored or disconnected"); Verbindung zum Server besteht nicht mehr
    EndIf
    Local $sData = StringSplit($recv, @CRLF); Splittet die Nachrichten, wenn sie vom Server gruppiert werden
    For $i = 1 To $sData[0] Step 1; behandelt jede Nachricht einzeln
    Local $sTemp = StringSplit($sData[$i], " "); Splittet die Nachricht an den Leerzeichen
    If $sTemp[1] = "" Then ContinueLoop; Weiter, wenn leer
    If $sTemp[1] = "PING" Then _IRCPing($sock, $sTemp[2]); Prüft ob PING zurückgegeben wird
    If $sTemp[0] <= 2 Then ContinueLoop; meist nutzlose Informationen
    Switch $sTemp[2]; Splittet die Command Nachricht
    Case "266"; Indikator der zeigt, dass alle Infos gesendet wurden
    _IRCJoinChannel ($sock, $channel)
    _IRCSendMessage($sock, "Hallo!", $channel)
    _IRCChangeMode ($sock, "+i", $nick)
    Case "332" ; Raumthema
    $titel = ''
    For $k = 6 To $sTemp[0]
    $titel &= $sTemp[$k] & ' '
    Next
    ConsoleWrite('Thema: ' & $titel & @CRLF)
    Case "333" ; Thema von
    ConsoleWrite('Thema von: ' & $sTemp[5] & @CRLF)
    Case "353" ; Userlist
    $text = 'User:' & @CRLF
    For $k = 6 To $sTemp[0]
    If $k = 6 Then
    $text &= @TAB & StringTrimLeft($sTemp[$k],1) & @CRLF
    Else
    $text &= @TAB & $sTemp[$k] & @CRLF
    EndIf
    Next
    ConsoleWrite($text & @CRLF)
    Case 'PRIVMSG' ; Nachricht empfangen
    $USER = StringTrimLeft(StringLeft($sTemp[1], StringInStr($sTemp[1], '!')-1), 1)
    $text = ''
    $txtUSER = ''
    For $k = 4 To $sTemp[0]
    $text &= $sTemp[$k] & ' '
    Next
    $text = StringTrimLeft($text, 1)
    If StringInStr($text, 'ACTION', 1) Then ; Aktion von USER
    $text = StringTrimLeft($text, 8)
    $text = StringLeft($text, StringLen($text)-2)
    ConsoleWrite('***' & $USER & ' ' & $text & @CRLF)
    ElseIf StringInStr($text, 'DCC CHAT', 1) Then ; Direkt-Chatanfrage
    $text = 'DCC-Chatanfrage von ' & $USER
    ConsoleWrite($text & @CRLF)
    Else
    ConsoleWrite('<' & $USER & '> ' & $text & @CRLF) ; USER spricht
    EndIf
    Case 'JOIN' ; Chatraum wird betreten
    $USER = StringTrimLeft(StringLeft($sTemp[1], StringInStr($sTemp[1], '!')-1), 1)
    ConsoleWrite('***' & $USER & 'betritt den Raum' & @CRLF)
    Case 'NICK' ; Nick wird gewechselt
    $USER_alt = StringTrimLeft(StringLeft($sTemp[1], StringInStr($sTemp[1], '!')-1), 1)
    $USER = StringTrimLeft($sTemp[3], 1)
    ConsoleWrite('***' & $USER_alt & ' heißt jetzt: ' & $USER & @CRLF)
    Case 'PART' ; Chatraum wird verlassen
    $USER = StringTrimLeft(StringLeft($sTemp[1], StringInStr($sTemp[1], '!')-1), 1)
    $txt = $USER & ' verläßt den Chatraum '
    $text = ''
    If $sTemp[0] > 3 Then
    For $k = 4 To $sTemp[0]
    If $k = 4 Then
    $text &= StringTrimLeft($sTemp[$k], 1) & ' '
    Else
    $text &= $sTemp[$k] & ' '
    EndIf
    Next
    $text = StringTrimRight($text, 1)
    EndIf
    ConsoleWrite($txt & $text & @CRLF)
    Case 'QUIT' ; Server wird verlassen
    $USER = StringTrimLeft(StringLeft($sTemp[1], StringInStr($sTemp[1], '!')-1), 1)
    $txt = $USER & ' verläßt den Chatraum '
    If $sTemp[0] > 3 Then
    For $k = 4 To $sTemp[0]
    $text &= $sTemp[$k] & ' '
    Next
    $text = StringTrimRight($text, 1)
    $text = $txt & $text
    EndIf
    ConsoleWrite($txt & $text & @CRLF)
    Case Else ; alle Nachrichten, die nicht in andere Kategorien passen, z.B. Server-Infos
    ConsoleWrite('sonstiges: ' & $sData[$i] & @CRLF)
    EndSwitch
    Next
    WEnd

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

    #region HotKey-Funktionen
    Func _say()
    _IRCSendMessage($sock, "Hallo ihr alle!", $channel)
    EndFunc
    Func _action()
    _IRCSendAction ($sock, "begrüßt erst mal alle Chatter persönlich mit Handschlag", $channel)
    EndFunc
    Func _quit()
    _IRCQuit($sock, "Bis zum nächsten Mal")
    Exit
    EndFunc
    Func _werfen()
    _IRCSendAction ($sock, "wirft einen bunten Konfettiregen in den Chat", $channel)
    EndFunc
    Func _part()
    _IRCLeaveChannel($sock, 'Bis gleich', $channel)
    EndFunc
    Func _join()
    _IRCJoinChannel ($sock, $channel)
    EndFunc
    #endregion HotKey-Funktionen
    #region IRC-Func
    ;===============================================================================
    ;
    ; Description: Connects you to a IRC Server, and gives your chosen Nick
    ; Parameter(s): $server - IRC Server you wish to connect to
    ; $port - Port to connect to (Usually 6667)
    ; $nick - Nick you choose to use (You can change later)
    ; Requirement(s): TCPStartup () to be run
    ; Return Value(s): On Success - Socket identifer
    ; On Failure - It will exit on error
    ; Author(s): Chip
    ; Note(s): English only
    ;
    ;===============================================================================
    Func _IRCConnect ($server, $port, $nick)
    Local $i = TCPConnect(TCPNameToIP($server), $port)
    If $i = -1 Then Exit MsgBox(1, "IRC.au3 Error", "Server " & $server & " is not responding.")
    TCPSend($i, "NICK " & $nick & @CRLF)
    $ping = tcprecv($i,2048)
    if stringleft($ping,4) = "PING" Then
    $pong = stringreplace($ping,"PING :","")
    tcpsend($i,"PONG " & $pong & @LF)
    EndIf
    TCPSend($i, "USER " & $nick & " 0 0 " & $nick &@CRLF)
    Return $i
    EndFunc

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

    ;===============================================================================
    ;
    ; Description: Close the IRC Connection
    ; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
    ; $msg - Message to send with quit
    ; Requirement(s): _IRCConnect () to be run
    ; Return Value(s): On Success - 1
    ; On Failure - -1 = Server disconnected.
    ; Author(s): BugFix
    ; Note(s): English only
    ;
    ;===============================================================================
    Func _IRCQuit($irc, $msg="")
    If $irc = -1 Then Return 0
    TCPSend($irc, "QUIT :" & $msg & @CRLF)
    Return 1
    EndFunc

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

    ;===============================================================================
    ;
    ; Description: Leave the IRC Channel
    ; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
    ; $msg - Message to send with part
    ; Requirement(s): _IRCConnect () to be run
    ; Return Value(s): On Success - 1
    ; On Failure - -1 = Server disconnected.
    ; Author(s): BugFix
    ; Note(s): English only
    ;
    ;===============================================================================
    Func _IRCLeaveChannel ($irc, $msg="", $chan="")
    If $irc = -1 Then Return 0
    TCPSend($irc, "PART " & $chan & " :" & $msg & @CRLF)
    If @error Then
    MsgBox(1, "IRC.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndFunc

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

    ;===============================================================================
    ;
    ; Description: Joins an IRC Channel
    ; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
    ; $chan - Channel you wish to join
    ; Requirement(s): _IRCConnect () to be run
    ; Return Value(s): On Success - 1
    ; On Failure - -1 = Server disconnected.
    ; Author(s): Chip
    ; Note(s): English only
    ;
    ;===============================================================================
    Func _IRCJoinChannel ($irc, $chan)
    If $irc = -1 Then Return 0
    TCPSend($irc, "JOIN " & $chan & @CRLF)
    If @error Then
    MsgBox(1, "IRC.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndFunc

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

    ;===============================================================================
    ;
    ; Description: Sends a message using IRC
    ; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
    ; $msg - Message you want to send
    ; $chan - Channel/Nick you wish to send to
    ; Requirement(s): _IRCConnect () to be run
    ; Return Value(s): On Success - 1
    ; On Failure - -1 = Server disconnected.
    ; Author(s): Chip
    ; Note(s): English only
    ;
    ;===============================================================================
    Func _IRCSendMessage ($irc, $msg, $chan="")
    If $irc = -1 Then Return 0
    If $chan = "" Then
    TCPSend($irc, $msg & @CRLF)
    If @error Then
    MsgBox(1, "IRC.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndIf
    TCPSend($irc, "PRIVMSG " & $chan & " :" & $msg & @CRLF)
    If @error Then
    MsgBox(1, "IRC.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndFunc

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

    ;===============================================================================
    ;
    ; Description: Sends a message as ACTION using IRC
    ; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
    ; $msg - Message you want to send
    ; $chan - Channel/Nick you wish to send to
    ; Requirement(s): _IRCConnect () to be run
    ; Return Value(s): On Success - 1
    ; On Failure - -1 = Server disconnected.
    ; Author(s): BugFix
    ; Note(s): English only
    ;
    ;===============================================================================
    Func _IRCSendAction ($irc, $msg, $chan="")
    If $irc = -1 Then Return 0
    If $chan = "" Then
    TCPSend($irc, $msg & @CRLF)
    If @error Then
    MsgBox(1, "IRC.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndIf
    TCPSend($irc, "PRIVMSG " & $chan & " :" & Chr(1) & "ACTION " & $msg & Chr(1) & @CRLF)
    If @error Then
    MsgBox(1, "IRC.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndFunc

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

    ;===============================================================================
    ;
    ; Description: Changes a MODE on IRC
    ; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
    ; $mode - Mode you wish to change
    ; $chan - Channel/Nick you wish to send to
    ; Requirement(s): _IRCConnect () to be run
    ; Return Value(s): On Success - 1
    ; On Failure - -1 = Server disconnected.
    ; Author(s): Chip
    ; Note(s): English only
    ;
    ;===============================================================================
    Func _IRCChangeMode ($irc, $mode, $chan="")
    If $irc = -1 Then Return 0
    If $chan = "" Then
    TCPSend($irc, "MODE " & $mode & @CRLF)
    If @error Then
    MsgBox(1, "IRC.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndIf
    TCPSend($irc, "MODE " & $chan & " " & $mode & @CRLF)
    If @error Then
    MsgBox(1, "IRC.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndFunc

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

    ;===============================================================================
    ;
    ; Description: Returns a PING to Server
    ; Parameter(s): $irc - Socket Identifer from _IRCConnect ()
    ; $ret - The end of the PING to return
    ; Requirement(s): _IRCConnect () to be run
    ; Return Value(s): On Success - 1
    ; On Failure - -1 = Server disconnected.
    ; Author(s): Chip
    ; Note(s): English only
    ;
    ;===============================================================================
    Func _IRCPing($irc, $ret)
    If $irc = -1 Then Return 0
    If $ret = "" Then Return -1
    TCPSend($irc, "PONG " & $ret & @CRLF)
    If @error Then
    MsgBox(1, "irc.au3", "Server has disconnected.")
    Return -1
    EndIf
    Return 1
    EndFunc
    #endregion IRC-Func
    #region IRC-Syntax
    #cs
    Common recieves:
    Nick = User who the message is from
    Name = Settable by user, set in the USER command
    host = ISP host

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

    ~~~~PRIVMSG~~~~
    You recieve this when someone has sent a message in a channel,
    gives you there Nick, host, the channel it was said in and the message.

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

    SYNTAX:
    :Nick!Name@host PRIVMSG #Channel :Message

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

    EXAMPLE:
    :Chip![email='Chip@OMN-8243F63D.dsl.bell.ca'][/email] PRIVMSG #Chip :Hey guy's
    Would be a message from Chip to say 'Hey guy's' in the channel #Chip

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

    :Chip![email='Chip@OMN-8243F63D.dsl.bell.ca'][/email] PRIVMSG Bob :Hey Bob!
    Would be a Personal Message from Chip to Bob saying 'Hey Bob!'
    ~~~~~~~~~

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

    ~~~~MODE~~~~
    You recieve this when a mode is changed, a mode can give/take access change certain
    things like who can join a channel etc..

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

    SYNTAX:
    :Nick!Name@host MODE #Channel +/- MODE (USER)

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

    EXAMPLES:
    :ChanServ!services@host MODE #Chip +o Chip
    This says ChanServ (usually a service bot) has given Chip Operator access in the channel #Chip

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

    :ChanServ!services@host MODE #Chip +i
    This makes #Chip invite only, so only OPs can invite users in the channel.

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

    :Chip![email='Chip@OMN-8243F63D.dsl.bell.ca'][/email] MODE Chip +i
    This will make Chip invisible to WHOIS. These are usermodes.
    ~~~~~~~~~

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

    ~~~~PING~~~~
    You recieves these at random to make sure your still online and
    not disconnected.

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

    SYNTAX:
    PING :Randomletters

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

    Usually a PING has random letters that you have to respond with.

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

    EXAMPLE:
    PING :29809dj0d

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

    You would respond with
    PONG 29809dj0d
    ~~~~~~~~~~~

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

    ~~~~JOIN~~~~
    You recieve this when someone joins a channel.

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

    SYNTAX:
    :Nick!Name@Host JOIN :#Channel

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

    EXAMPLE:
    :Chip![email='Chip@OMN-8243F63D.dsl.bell.ca'][/email] JOIN :#Chip
    This would be sent to everybody in #Chip to show that Chip has joined the channel #Chip
    ~~~~~~~~~~~~~

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

    ~~~~KICK~~~~
    You recieve this when someone gets kicked (Including yourself!)

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

    SYNTAX:
    :Nick!Name@Host KICK #Channel User :Reason

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

    EXAMPLE:
    :Chip!Name@Host KICK #Chip Bob :Talk in private
    Would kick Bob from #Chip and say 'Talk in private' in the reason
    ~~~~~~~~~~~~~~

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

    ~~~~QUIT~~~~
    You recieve this when someone disconnects from IRC.

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

    SYNTAX:
    :Nick!Name@Host QUIT :Reason

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

    EXAMPLE:
    :Chip![email='Chip@OMN-8243F63D.dsl.bell.ca'][/email] QUIT :I'm bored
    Would be sent to everyone in the channels Chip was in to say that he left IRC because He was bored.
    ~~~~~~~~~~~~~~

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

    #ce
    #endregion IRC-Syntax

    [/autoit]

    Dateien

    IRC_TestClient.au3 14,41 kB – 1.079 Downloads
  • Suche hier im Forum

    • BugFix
    • 22. Dezember 2007 um 10:55

    Kann ich nur bestätigen - Wörter mit nur 3 Buchstaben werden nicht gefunden (oder gar nicht erst gesucht??).

  • ListView fragen

    • BugFix
    • 21. Dezember 2007 um 12:22

    Hi,
    da hab ich mich etwas irritieren lassen. Du kannst natürlich weiterhin GUICtrlCreateListViewItem() verwenden.
    Dann geht das in einem Schritt.

    [autoit]

    If FileExists($pathIPs) Then
    _FileReadToArray($pathIPs, $ips)
    For $i = 1 To $ips[0]
    GUICtrlCreateListViewItem($ips[$i], $list)
    Next
    Else
    ;...
    EndIf

    [/autoit]
  • ListView fragen

    • BugFix
    • 20. Dezember 2007 um 11:03

    Hi sc4ry,

    hier die Lösung. Du mußt das zweistufig eintragen. Den Wert für die erste Spalte mit ...AddItem() und den/die Werte für die zweite/weitere Spalte(n) mit ...AddSubItem.
    Bei mehr als zwei Spalten mußt du die SubItem-Erstellung dann in einer Schleife führen.

    [autoit]

    If FileExists($pathIPs) Then
    _FileReadToArray($pathIPs, $ips)
    $lineIndex = 0
    For $i = 1 To $ips[0]
    $str = StringSplit($ips[$i], '|')
    _GUICtrlListView_AddItem($list, $str[1])
    _GUICtrlListView_AddSubItem($list, $lineIndex, $str[2], 1)
    $lineIndex += 1
    Next
    Else
    ;...
    EndIf

    [/autoit]
  • ListView - Suche

    • BugFix
    • 18. Dezember 2007 um 18:42
    Zitat

    Klingt gut aber:


    Was Wunder... :D
    Seit AutoIt Version 3.2.10 läuft kein altes Skript mehr, das mit Listview arbeitet. Ursache in den veränderten Listview-Funktionen. ;(
    Bisher hatte ich weder Zeit noch Lust alle alten Skripte deswegen aufzuarbeiten. :P

  • Doppelklick für (fast) jedes Control

    • BugFix
    • 15. Dezember 2007 um 15:04
    Zitat

    Matschtaucher:
    GUI_EVENT_PRIMARYDOWN wird grundsätzlich in der GUI nur bei Klicks ausserhalb von Labels oder Pics erzeugt... :?:

    Wie kommst du darauf?
    Es existieren folgende GUI-Events:
    $GUI_EVENT_CLOSE
    $GUI_EVENT_MINIMIZE
    $GUI_EVENT_RESTORE
    $GUI_EVENT_MAXIMIZE
    $GUI_EVENT_MOUSEMOVE
    $GUI_EVENT_PRIMARYDOWN
    $GUI_EVENT_PRIMARYUP
    $GUI_EVENT_SECONDARYDOWN
    $GUI_EVENT_SECONDARYUP
    $GUI_EVENT_RESIZED
    $GUI_EVENT_DROPPED

    Und denen ist es gelinde gesagt Wurscht, ob und welche Controls sich auf der GUI befinden. Diese Ereignisse sind an die GUI gekoppelt, deshalb auch der Name GUI_EVENT_...

    Du schreibst, dass es bei dir nicht geht. Werd doch mal genauer. Funktioniert der hier gezeigte Code, so wie er ist, nicht? Oder hast du ihn verändert?

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™