Chat Básico
Publicado: 18 May 2010, 05:48
Hola muy buenas noches a todos los AutoIt-eros
mi dilema es el siguiente.
estoy haciendo un estilo de "chat" para comunicarnos entre mis amigos de la empresa sin tener que instalar ningún software adicional que pueda llevarnos a tener problemas
el problema consiste en mostrar el historial de conversación; ya que por mas que lo configuro siempre me reemplaza la primera linea
es decir que quiero que se muestren las lineas sin que se borren las ya escritas
a continuación posteo el código:
de antemano muchísimas gracias por sus respuestas estaré al tanto de ellas
mi dilema es el siguiente.
estoy haciendo un estilo de "chat" para comunicarnos entre mis amigos de la empresa sin tener que instalar ningún software adicional que pueda llevarnos a tener problemas
el problema consiste en mostrar el historial de conversación; ya que por mas que lo configuro siempre me reemplaza la primera linea
es decir que quiero que se muestren las lineas sin que se borren las ya escritas
a continuación posteo el código:
Código: Seleccionar todo
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#Region ### START Koda GUI section ### Form=chatico.kxf
$Chatico = GUICreate("Chatico", 594, 377, 208, 145)
GUISetIcon("default.ico")
GUISetFont(12, 400, 2, "Segoe UI")
$Label1 = GUICtrlCreateLabel("NickName", 8, 320, 123, 42)
GUICtrlSetFont(-1, 18, 800, 0, "Papyrus")
$salida = GUICtrlCreateInput("", 8, 280, 577, 29) ;Cuadro de texto donde escribes
$entrada = GUICtrlCreateEdit(""& @CRLF, 8, 8, 577, 257, BitOR($WS_VSCROLL, $ES_MULTILINE, $ES_WANTRETURN)) ;Cuadro donde ves lo escrito
;~ GUICtrlSetData(-1, "")
$enviar = GUICtrlCreateButton("Enviar", 472, 312, 113, 49, $WS_GROUP) ;Boton "enviar"
GUICtrlSetFont(-1, 18, 800, 0, "Papyrus")
GUICtrlSetCursor(-1, 0)
$nick = GUICtrlCreateInput("Usuario X", 144, 328, 113, 29) ;NickName
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
If Not FileExists("log.txt") Then
_FileCreate("log.txt")
MsgBox(4096, "Aviso", "Log creado", 1 / 2)
EndIf
HotKeySet("{enter}", "enter_key")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $enviar
Call("enviar")
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func enter_key()
Opt("WinWaitDelay", 100)
Opt("WinDetectHiddenText", 1)
Opt("MouseCoordMode", 0)
Opt("WinTitleMatchMode", 3)
If WinActive("Chatico") Then
Call("enviar")
Else
HotKeySet("{enter}")
Send("{enter}")
HotKeySet("{enter}", "enter_key")
EndIf
EndFunc ;==>enter_key
Func enviar()
$file = FileOpen("log.txt", 1)
If $file = -1 Then
MsgBox(0, "Info", "Aguante mijo que el archivo no esta listo", 1)
Exit
EndIf
FileWriteLine($file, GUICtrlRead($nick) & " Dice: " & GUICtrlRead($salida))
FileClose($file)
GUICtrlSetData($salida, "") ;borrar lo escrito
$file = FileOpen("log.txt", 0)
If $file = -1 Then
MsgBox(0, "Info", "Aguante mijo que el archivo no esta listo", 1)
Exit
EndIf
$line = FileReadLine($file, -1)
FileClose($file)
GUICtrlSetData($entrada, $line&@lf)
EndFunc ;==>enviar
;tmb recibo con gusto ideas de como mejorar mi código ^^