poisonkiller Posted October 28, 2005 Share Posted October 28, 2005 (edited) So... I maked text editor, but i cant to some things. First, searching.Second, Word wrap.How can i do them? Code: expandcollapse popup#include <GUIConstants.au3> #include <GUIEdit.au3> #include <String.au3> GUICreate("Poisonkiller's text editor", 680, 500) $text = GUICtrlCreateEdit("", 0, 0, 680, 480) $file = GUICtrlCreateMenu("File") $new = GUICtrlCreateMenuItem("New", $file) $open = GUICtrlCreateMenuItem("Open...", $file) $save = GUICtrlCreateMenuItem("Save", $file) $saveas = GUICtrlCreateMenuItem("Save as...", $file) GUICtrlCreateMenuItem("", $file) $exit = GUICtrlCreateMenuItem("Exit", $file) $edit = GUICtrlCreateMenu("Edit") $undo = GUICtrlCreateMenuItem("Undo", $edit) GUICtrlCreateMenuItem("", $edit) $timedate = GUICtrlCreateMenuItem("Time/Date", $edit) $search = GUICtrlCreateMenu("Search") $find = GUICtrlCreateMenuItem("Find", $search) $m_help = GUICtrlCreateMenu("Help") $help = GUICtrlCreateMenuItem("Help", $m_help) GUICtrlCreateMenuItem("", $m_help) $about = GUICtrlCreateMenuItem("About", $m_help) GUISetState() While 1 $msg = GUIGetMsg() Select Case $msg = $new GUICtrlSetData($text, "") $get_title = WinGetTitle("") WinSetTitle($get_title, "", "Untitled - Poisonkiller's text editor") Case $msg = $open $open_diag = FileOpenDialog("Open text file...", @DesktopDir, "Text files (*.txt)|All files (*.*)") If @error Then ContinueLoop $string_right = StringRight($open_diag, 4) $string_trim = StringTrimRight($string_right, 3) If $string_trim = "." Then $save_for_later = $open_diag Else Dim $save_for_later $save_for_later = $open_diag &".txt" EndIf $file_read_all = FileReadAll($open_diag) GUICtrlSetData($text, $file_read_all) $get_title = WinGetTitle("") WinSetTitle($get_title, "", $open_diag &" - Poisonkiller's text editor") Case $msg = $save $read_text = GUICtrlRead($text) If WinGetTitle("") = "Poisonkiller's text editor" or WinGetTitle("") = "Untitled - Poisonkiller's text editor" Then $save_diag = FileSaveDialog("Save text file...", @DesktopDir, "Text files (*.txt)|All files (*.*)") If @error Then ContinueLoop $save_text = GUICtrlRead($text) Global $save_num = 1 $string_right = StringRight($save_diag, 4) $string_trim = StringTrimRight($string_right, 3) If $string_trim = "." Then $save_for_later = $save_diag Else $save_for_later = $save_diag &".txt" EndIf $string_right = StringRight($save_diag, 4) $string_trim = StringTrimRight($string_right, 3) If $string_trim = "." Then $file_open = FileOpen($save_diag, 1) Else $file_open = FileOpen($save_diag &".txt", 1) $save_diag = $save_diag &".txt" EndIf FileWrite($file_open, $read_text) FileClose($file_open) $get_title = WinGetTitle("") WinSetTitle($get_title, "", $save_diag &" - Poisonkiller's text editor") Else $get_title = WinGetTitle("") $title_trimmed = StringTrimRight($get_title, 29) If FileExists($title_trimmed) Then FileDelete($title_trimmed) $file_open = FileOpen($title_trimmed, 1) FileWrite($file_open, $read_text) FileClose($file_open) $get_title = WinGetTitle("") WinSetTitle($get_title, "", $title_trimmed &" - Poisonkiller's text editor") EndIf EndIf Case $msg = $saveas $read_text = GUICtrlRead($text) $save_diag = FileSaveDialog("Save as...", @DesktopDir, "Text files (*.txt)|All files (*.*)") If @error Then ContinueLoop $string_right = StringRight($save_diag, 4) $string_trim = StringTrimRight($string_right, 3) If $string_trim = "." Then $file_open = FileOpen($save_diag, 1) Else $file_open = FileOpen($save_diag &".txt", 1) $save_diag = $save_diag &".txt" EndIf FileWrite($file_open, $read_text) FileClose($file_open) $get_title = WinGetTitle("") WinSetTitle($get_title, "", $save_diag &" - Poisonkiller's text editor") Case $msg = $find $read_text = GUICtrlRead($text) $str = InputBox("Find...", "Write here string what you want to find:") $find_str = StringInStr(GUICtrlRead($text), $str) ;@Autoit Forum I should use _GUICtrlEditSetSel($text, $find_str, $find_str) but $find_str must be number Case $msg = $undo If _GUICtrlEditCanUndo($text) = 0 Then Else _GUICtrlEditUndo($text) EndIf Case $msg = $timedate $get_title = WinGetState("") Send(@HOUR &":" &@MIN &" "& @MDAY &"." & @MON &"." & @YEAR) Case $msg = $about MsgBox(4096, "About", "Poisonkiller's text editor" &@CRLF &@CRLF &"Made by Poisonkiller" &@CRLF &"You can download this from Autoit v3 forum" &@CRLF &" Year 2005") Case $msg = $help MsgBox(4096, "Help", "This is like Notepad" &@CRLF &"so learn Notepad. :D") EndSelect If $msg = $exit Then Exit If $msg = $GUI_EVENT_CLOSE Then If GUICtrlRead($text) = "" AND WinGetTitle("") = "Poisonkiller's text editor" Then Exit If GUICtrlRead($text) = "" AND WinGetTitle("") = "Untitled - Poisonkiller's text editor" Then Exit $message = MsgBox(4, "Save work", "Do you want to save your work?") If $message = 7 Then Exit Else $read_text = GUICtrlRead($text) If WinGetTitle("") = "Poisonkiller's text editor" Then $save_diag = FileSaveDialog("Save text file...", @DesktopDir, "Text files (*.txt)|All files (*.*)") If @error Then ContinueLoop $string_right = StringRight($save_diag, 4) $string_trim = StringTrimRight($string_right, 3) If $string_trim = "." Then $save_for_later = $save_diag Else $save_for_later = $save_diag &".txt" EndIf $string_right = StringRight($save_diag, 4) $string_trim = StringTrimRight($string_right, 3) If $string_trim = "." Then $file_open = FileOpen($save_diag, 1) Else $file_open = FileOpen($save_diag &".txt", 1) $save_diag = $save_diag &".txt" EndIf FileWrite($file_open, $read_text) FileClose($file_open) $get_title = WinGetTitle("") WinSetTitle($get_title, "", $save_diag &" - Poisonkiller's text editor") Exit Else $get_title = WinGetTitle("") $right_trimmed = StringTrimRight($get_title, 29) If FileExists($right_trimmed) Then FileDelete($right_trimmed) $file_open = FileOpen($right_trimmed, 1) FileWrite($file_open, $read_text) FileClose($file_open) $get_title = WinGetTitle("") WinSetTitle($get_title, "", $right_trimmed &" - Poisonkiller's text editor") Exit EndIf EndIf EndIf EndIf Wend Func FileReadAll($File) $OpenFile = FileOpen($File, 0) If $OpenFile = -1 Then Return -1 $ReadAll = FileRead($OpenFile, FileGetSize($File)) FileClose($OpenFile) Return $ReadAll EndFunc ;==>FileReadAll EDIT: deleted: "#include <File.au3>"included: Func FileReadAll() Edited October 28, 2005 by poisonkiller Link to comment Share on other sites More sharing options...
markusss Posted October 28, 2005 Share Posted October 28, 2005 I think adding the search function won't be that hard but... I get this error when i try to compile your script: C:\Programme\AutoIt3\Projects\Poisonkillerstexteditor.au3(43,44) : ERROR: FileReadAll(): undefined function. $file_read_all = FileReadAll($open_diag) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ C:\Programme\AutoIt3\Projects\Poisonkillerstexteditor.au3 - 1 error(s), 0 warning(s) YES, im using the newest beta (3.1.1.84)! Whats that about, is there a function.au3 you didn't post? Felix N. (tdlrali) Link to comment Share on other sites More sharing options...
w0uter Posted October 28, 2005 Share Posted October 28, 2005 probbly its just a FileRead($open_diag, FileGetSize($open_diag)) My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll Link to comment Share on other sites More sharing options...
poisonkiller Posted October 28, 2005 Author Share Posted October 28, 2005 Sry, add this end of your script: Func FileReadAll($File) $OpenFile = FileOpen($File, 0) If $OpenFile = -1 Then Return -1 $ReadAll = FileRead($OpenFile, FileGetSize($File)) FileClose($OpenFile) Return $ReadAll EndFunc ;==>FileReadAll And delete #include <File.au3> Link to comment Share on other sites More sharing options...
markusss Posted October 28, 2005 Share Posted October 28, 2005 hey poisonkiller! is w0uter right? I'm pretty sure, but still i don't understand why it worked for you? (I guess you try your scripts before you upload them?) FN (tdlrali) Link to comment Share on other sites More sharing options...
poisonkiller Posted October 28, 2005 Author Share Posted October 28, 2005 I have lot of UDF-s...If you want i can post user calltips Link to comment Share on other sites More sharing options...
w0uter Posted October 29, 2005 Share Posted October 29, 2005 (edited) why that long FileReadAll func when you can just use what i posted above ? Edited October 29, 2005 by w0uter My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now