ich ==> King ![]()
Beiträge von BugFix
-
-
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 -
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.
-
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.
-
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? -
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>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiComboBoxEx.au3>
Opt('GUIOnEventMode',1)$gui = GUICreate("Combo erzeugt mit 'GUICtrlCreateCombo()'", 500, 200, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX))
[/autoit] [autoit][/autoit] [autoit]
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()While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc _Ende()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _ButtonClick()
[/autoit]
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 -
GtaSpider hat aufgrund des vielen Weihnachtspunsches nur eine Kleinigkeit vergessen: ContinueCase
Spoiler anzeigen
[autoit]Global $Message
[/autoit]
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) -
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. -
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. -
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). -
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.
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. -
Wenn ich dich richtig verstanden habe soll das Ergebnis so aussehen:
Ich hab den Code jetzt mal angepaßt, dass dieses Ergebnis kommt:Spoiler anzeigen
[autoit]$max = 3
[/autoit]
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 -
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. -
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
[autoit]$end = 1
[/autoit]
$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 -
Als Tipp: Zeichen lassen sich über ihren ASCII-Wert definieren und diese Werte kann man in Schleifen durchgehen.
-
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>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>Global $arPlaylist[10][2] = [ _
[/autoit] [autoit][/autoit] [autoit]
['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)]#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$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 ###While 1
[/autoit]
$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 -
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
-
Mal sehen ob ich die Weihnachtstage zu komme.
-
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
.
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.
Also viel Spaß damit.Spoiler anzeigen
[autoit]Global $server = "irc.afterworkchat.com"
[/autoit] [autoit][/autoit] [autoit]
Global $channel = '#autoit'
Global $nick = 'TestNick1'
Global $port = 6667
Global $USER, $USER_alt, $text, $txtHotKeySet('#!w', '_werfen') ; Aktion des Clients
[/autoit] [autoit][/autoit] [autoit]
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 betretenTCPStartup ()
[/autoit] [autoit][/autoit] [autoit]
Global $sock = _IRCConnect($server, $port, $nick); Verbindung zu IRC und Identifizierung NicknameWhile 1
[/autoit] [autoit][/autoit] [autoit]
$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,
$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#region HotKey-Funktionen
[/autoit] [autoit][/autoit] [autoit]
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~~~~PRIVMSG~~~~
[/autoit] [autoit][/autoit] [autoit]
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.SYNTAX:
[/autoit] [autoit][/autoit] [autoit]
:Nick!Name@host PRIVMSG #Channel :MessageEXAMPLE:
[/autoit] [autoit][/autoit] [autoit]
: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:Chip![email='Chip@OMN-8243F63D.dsl.bell.ca'][/email] PRIVMSG Bob :Hey Bob!
[/autoit] [autoit][/autoit] [autoit]
Would be a Personal Message from Chip to Bob saying 'Hey Bob!'
~~~~~~~~~~~~~MODE~~~~
[/autoit] [autoit][/autoit] [autoit]
You recieve this when a mode is changed, a mode can give/take access change certain
things like who can join a channel etc..SYNTAX:
[/autoit] [autoit][/autoit] [autoit]
:Nick!Name@host MODE #Channel +/- MODE (USER)EXAMPLES:
[/autoit] [autoit][/autoit] [autoit]
:ChanServ!services@host MODE #Chip +o Chip
This says ChanServ (usually a service bot) has given Chip Operator access in the channel #Chip:ChanServ!services@host MODE #Chip +i
[/autoit] [autoit][/autoit] [autoit]
This makes #Chip invite only, so only OPs can invite users in the channel.:Chip![email='Chip@OMN-8243F63D.dsl.bell.ca'][/email] MODE Chip +i
[/autoit] [autoit][/autoit] [autoit]
This will make Chip invisible to WHOIS. These are usermodes.
~~~~~~~~~~~~~PING~~~~
[/autoit] [autoit][/autoit] [autoit]
You recieves these at random to make sure your still online and
not disconnected.SYNTAX:
[/autoit] [autoit][/autoit] [autoit]
PING :RandomlettersUsually a PING has random letters that you have to respond with.
[/autoit] [autoit][/autoit] [autoit]EXAMPLE:
[/autoit] [autoit][/autoit] [autoit]
PING :29809dj0dYou would respond with
[/autoit] [autoit][/autoit] [autoit]
PONG 29809dj0d
~~~~~~~~~~~~~~~JOIN~~~~
[/autoit] [autoit][/autoit] [autoit]
You recieve this when someone joins a channel.SYNTAX:
[/autoit] [autoit][/autoit] [autoit]
:Nick!Name@Host JOIN :#ChannelEXAMPLE:
[/autoit] [autoit][/autoit] [autoit]
: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
~~~~~~~~~~~~~~~~~KICK~~~~
[/autoit] [autoit][/autoit] [autoit]
You recieve this when someone gets kicked (Including yourself!)SYNTAX:
[/autoit] [autoit][/autoit] [autoit]
:Nick!Name@Host KICK #Channel User :ReasonEXAMPLE:
[/autoit] [autoit][/autoit] [autoit]
:Chip!Name@Host KICK #Chip Bob :Talk in private
Would kick Bob from #Chip and say 'Talk in private' in the reason
~~~~~~~~~~~~~~~~~~QUIT~~~~
[/autoit] [autoit][/autoit] [autoit]
You recieve this when someone disconnects from IRC.SYNTAX:
[/autoit] [autoit][/autoit] [autoit]
:Nick!Name@Host QUIT :ReasonEXAMPLE:
[/autoit] [autoit][/autoit] [autoit]
: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.
~~~~~~~~~~~~~~#ce
[/autoit]
#endregion IRC-Syntax -
Kann ich nur bestätigen - Wörter mit nur 3 Buchstaben werden nicht gefunden (oder gar nicht erst gesucht??).