I think the title explains enough.
#include <GUIConstants.au3> #include <Misc.au3> #include <String.au3> #include <EditConstants.au3> #include <WindowsConstants.au3> #include <File.au3> Global $EditField $GUI = GUICreate("Notepad Example", 700, 500, -1, -1, $WS_SIZEBOX) $File = GUICtrlCreateMenu("File") $New = GUICtrlCreateMenuItem("New", $File) $Open = GUICtrlCreateMenuItem("Open...", $File) $Save = GUICtrlCreateMenuItem("Save", $File) $SaveAs = GUICtrlCreateMenuItem("Save As...", $File) GUICtrlCreateMenuItem("", $File) $Print = GUICtrlCreateMenuItem("Print...", $File) GUICtrlCreateMenuItem("", $File) $Exit = GUICtrlCreateMenuItem("Exit", $File) $Edit = GUICtrlCreateMenu("Edit") $Undo = GUICtrlCreateMenuItem("Undo", $Edit) GUICtrlCreateMenuItem("", $Edit) $Cut = GUICtrlCreateMenuItem("Cut", $Edit) $Copy = GUICtrlCreateMenuItem("Copy", $Edit) $Paste = GUICtrlCreateMenuItem("Paste", $Edit) $Delete = GUICtrlCreateMenuItem("Delete", $Edit) GUICtrlCreateMenuItem("", $Edit) $SelectAll = GUICtrlCreateMenuItem("Select All", $Edit) $Time = GUICtrlCreateMenuItem("Time/Date", $Edit) $Show = GUICtrlCreateMenu("Show") $Font = GUICtrlCreateMenuItem("Font...", $Show) $Help = GUICtrlCreateMenu("Help") $About = GUICtrlCreateMenuItem("About", $Help) $Extra = GUICtrlCreateMenu("Extra") $Count = GUICtrlCreateMenuItem("Count...", $Extra) $Reverse = GUICtrlCreateMenuItem("Reverse Text", $Extra) $Hex = GUICtrlCreateMenuItem("Hex Text", $Extra) $UnHex = GUICtrlCreateMenuItem("UnHex Text", $Extra) $Encrypt = GUICtrlCreateMenuItem("Encrypt Text...", $Extra) $EditField = GUICtrlCreateEdit("", 0, 0, 700, 460) GUISetState() While 1 $nMsg = GUIGetMsg() Select Case $nMsg = $GUI_EVENT_CLOSE _Exit() Case $nMsg = $New _New() Case $nMsg = $Open _Open() Case $nMsg = $Save _Save() Case $nMsg = $SaveAs _SaveAs() Case $nMsg = $Print _Print() Case $nMsg = $Exit _Exit() Case $nMsg = $Undo Sleep(100) Send("^z") Case $nMsg = $Cut Sleep(100) Send("^x") Case $nMsg = $Copy Sleep(100) Send("^c") Case $nmsg = $Paste Sleep(100) Send("^v") Case $nMsg = $Delete Sleep(100) Send("{DELETE}") Case $nMsg = $SelectAll Sleep(100) Send("{TAB}") Case $nMsg = $Time $TimeDate = @HOUR & ":" & @MIN & " " & @MDAY & "-" & @MON & "-" & @YEAR Sleep(100) Send($TimeDate) Case $nMsg = $Font $aFont = _ChooseFont("", "", "", "", "", "", "", $GUI) If $aFont <> -1 Then GUICtrlSetFont($EditField, $aFont[3], $aFont[4], $aFont[1], $aFont[2]) GUICtrlSetColor($EditField, $aFont[7]) EndIf Case $nMsg = $About MsgBox(64, "About", "Notepad Example made by" & @CRLF & "AlmarM") Case $nMsg = $Count _Count() Case $nMsg = $Reverse _Reverse() Case $nMsg = $Hex _Hex() Case $nMsg = $UnHex _UnHex() Case $nMsg = $Encrypt _Encrypt(GUICtrlRead($EditField)) EndSelect WEnd Func _New() If GUICtrlRead($EditField) <> "" Then $MsgBox = MsgBox(51, "", "Save text first?") If $MsgBox = 6 Then $read_text = GUICtrlRead($EditField) $fod_new_save = FileSaveDialog("Save...", @DesktopDir, "Text Files (*.txt)", 18, "", $GUI) FileWrite($fod_new_save & ".txt", $read_text) GUICtrlSetData($EditField, "") ElseIf $MsgBox = 7 Then GUICtrlSetData($EditField, "") Else EndIf Else GUICtrlSetData($EditField, "") EndIf EndFunc Func _Open() If GUICtrlRead($EditField) <> "" Then $MsgBox = MsgBox(51, "", "Save text first?") If $MsgBox = 6 Then $read_text = GUICtrlRead($EditField) $fod_open_save = FileSaveDialog("Save...", @DesktopDir, "Text Files (*.txt)", 18, "", $GUI) FileWrite($fod_open_save & ".txt", $read_text) $fod_open = FileOpenDialog("Open...", @DesktopDir, "Text Files (*.txt)", 11, "", $GUI) $read = FileRead($fod_open) GUICtrlSetData($EditField, $read) ElseIf $MsgBox = 7 Then $fod_open = FileOpenDialog("Open...", @DesktopDir, "Text Files (*.txt)", 11, "", $GUI) $read = FileRead($fod_open) WinSetTitle(WinGetTitle("[CLASS:AutoIt v3 GUI]"), "", $fod_save & ".txt") GUICtrlSetData($EditField, $read) Else EndIf Else $fod_open = FileOpenDialog("Open...", @DesktopDir, "Text Files (*.txt)", 11, "", $GUI) $read = FileRead($fod_open) $gettitle = WinGetTitle("[CLASS:AutoIt v3 GUI]") WinSetTitle($gettitle, "", $fod_open) GUICtrlSetData($EditField, $read) EndIf EndFunc Func _Save() If WinGetTitle("[CLASS:AutoIt v3 GUI]") <> "Notepad Example" Then $gettitle = WinGetTitle("[CLASS:AutoIt v3 GUI]") FileWrite($gettitle, GUICtrlRead($EditField)) Else $fod_save = FileSaveDialog("Save...", @DesktopDir, "Text Files (*.txt)", 18, "", $GUI) If $fod_save <> "" Then $read = GUICtrlRead($EditField) FileWrite($fod_save & ".txt", $read) WinSetTitle(WinGetTitle("[CLASS:AutoIt v3 GUI]"), "", $fod_save & ".txt") EndIf EndIf EndFunc Func _SaveAs() $fod_saveas = FileSaveDialog("Save As...", @DesktopDir, "Text Files (*.txt)", 18, "", $GUI) If $fod_saveas <> "" Then $read = GUICtrlRead($EditField) FileWrite($fod_save & ".txt", $read) EndIf EndFunc Func _Print() $Read = GUICtrlRead($EditField) $Random = Random(000000, 999999, 1) $x = FileWrite(@TempDir & "\$~" & $Random & ".txt", $Read) $File = @TempDir & "\$~" & $Random & ".txt" _FilePrint($File) Sleep(1000) FileDelete($File) EndFunc Func _Count() $_Split = StringSplit(GUICtrlRead($EditField), Chr(10)) $ReplaceCR = StringReplace(GUICtrlRead($EditField), Chr(10), " ") $Words = StringSplit($ReplaceCR, " ") MsgBox(64, Default, "Total Characters : " & StringLen(GUICtrlRead($EditField)) & @CRLF & _ "Total Words : " & $Words[0] & @CRLF & _ "Total Lines : " & $_Split[0]) EndFunc Func _Reverse() $read = GUICtrlRead($EditField) $rev = _StringReverse($read) GUICtrlSetData($EditField, $rev) EndFunc Func _Hex() $Read = GUICtrlRead($EditField) $x = _StringToHex($Read) GUICtrlSetData($EditField, $x) EndFunc Func _UnHex() $Read = GUICtrlRead($EditField) $x = _HexToString($Read) GUICtrlSetData($EditField, $x) EndFunc Func _Encrypt($nText) $Main = GUICreate("Encrypt", 400, 400, -1, -1) $EditText = GUICtrlCreateEdit("", 5, 5, 390, 350) GUICtrlSetData($EditText, $nText) $InputPass = GUICtrlCreateInput("", 5, 367, 100, 20, BitOR($ES_PASSWORD, $ES_CENTER)) $InputLevel = GUICtrlCreateInput("1", 110, 367, 50, 20, $SM_REMOTECONTROL) $UpDown = GUICtrlCreateUpDown($InputLevel) GUICtrlSetLimit($UpDown, 10, 1) $EncryptButton = GUICtrlCreateButton("Encrypt", 170, 360, 105, 35) $DecryptButton = GUICtrlCreateButton("Decrypt", 285, 360, 105, 35) GUISetState() While 1 $nMsg = GUIGetMsg() Select Case $nMsg = $GUI_EVENT_CLOSE GUIDelete($Main) ExitLoop Case $nMsg = $EncryptButton $Read_Text = GUICtrlRead($EditText) $Read_Level = GUICtrlRead($InputPass) $Read_Pass = GUICtrlRead($InputPass) GUICtrlSetData($EditText, "Encrypting...") $x = _StringEncrypt(1, $Read_Text, $Read_Pass, $Read_Level) GUICtrlSetData($EditText, $x) Case $nmsg = $DecryptButton $Read_Text = GUICtrlRead($EditText) $Read_Level = GUICtrlRead($InputPass) $Read_Pass = GUICtrlRead($InputPass) GUICtrlSetData($EditText, "Decrypting...") $x = _StringEncrypt(0, $Read_Text, $Read_Pass, $Read_Level) GUICtrlSetData($EditText, $x) EndSelect WEnd EndFunc Func _Exit() If GUICtrlRead($EditField) <> "" Then $MsgBox = MsgBox(51, "", "Save text first?") If $MsgBox = 6 Then $read_text = GUICtrlRead($EditField) $fod_new_save = FileSaveDialog("Save...", @DesktopDir, "Text Files (*.txt)", 18, "", $GUI) FileWrite($fod_new_save & ".txt", $read_text) GUICtrlSetData($EditField, "") ElseIf $MsgBox = 7 Then Exit Else EndIf Else Exit EndIf EndFunc
[19-11-2009] Update ~ Fixed some bugs and glitches.
AlmarM
Edited by AlmarM, 19 November 2009 - 08:31 PM.








