fs1234 Posted May 8, 2013 Share Posted May 8, 2013 Hello! Sorry for my bad english. The test .txt has approx. 3000 rows, but this script is below show me 7xx. What's wrong? Anyone can help me? Tx. GUICreate("gui", 800, 700) $Edit = GUICtrlCreateEdit("", 0, 0, 800, 500, ) $Button = GUICtrlCreateButton("OK", 300, 550, 200, 50) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case -3 Exit Case $Button _OK() EndSwitch WEnd Func _OK() Local $file = FileOpen(@ScriptDir & "\test.txt") While 1 Local $line = FileReadLine($file) If @error = -1 Then ExitLoop GUICtrlSetData($Edit, $line & @CRLF, 1) ; MsgBox(0, "Line read:", $line) WEnd FileClose($file) EndFunc Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted May 8, 2013 Moderators Share Posted May 8, 2013 fs1234,Welcome to the AutoIt forum. You are bumping up to the default 32k character limit of edit controls. Use _GUICtrlEdit_SetLimitText to increase the limit so you can get all your file into the control. And it is much easier to read and load the file content in one go:#include <GUIConstantsEx.au3> #include <GuiEdit.au3> GUICreate("gui", 800, 700) $Edit = GUICtrlCreateEdit("", 0, 0, 800, 500) _GUICtrlEdit_SetLimitText($Edit, 200000) ; Increase text limit $Button = GUICtrlCreateButton("OK", 300, 550, 200, 50) GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ; Try not to use m"agic numbers" Exit Case $Button GUICtrlSetData($Edit, FileRead(@ScriptDir & "\test.txt")) ; Get the file text all in one go EndSwitch WEndAll clear? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
fs1234 Posted May 8, 2013 Author Share Posted May 8, 2013 Thanks for reply Melba! Now perfectly working. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted May 8, 2013 Moderators Share Posted May 8, 2013 fs1234, My pleasure. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Artisan Posted May 10, 2013 Share Posted May 10, 2013 Hey Melba, in your code example you say not to use "magic numbers". I agree with that, but increasing the text character limit to 200,000 looks like a magic number to me. I suggest using FileGetSize() when working with very large files to avoid a potential problem. Is that a good idea, or is that just paranoid? I'm only a hobby coder. Link to comment Share on other sites More sharing options...
AZJIO Posted May 10, 2013 Share Posted May 10, 2013 there are no restrictions GUICtrlSendMsg(-1, $EM_LIMITTEXT, -1, 0) My other projects or all Link to comment Share on other sites More sharing options...
guinness Posted May 10, 2013 Share Posted May 10, 2013 Hey Melba, in your code example you say not to use "magic numbers". I agree with that, but increasing the text character limit to 200,000 looks like a magic number to me.In this example it isn't. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
water Posted May 10, 2013 Share Posted May 10, 2013 A magic number is a number for which AutoIt provides a constant. Like $WS_POPUP from WindowsConstants.au3. $WS_POPUP has a value of 0x80000000. You shouldn't use 0x80000000 in your scripts but $WS_POPUP. Because the value of such a constant can be changed without notice. My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
AZJIO Posted May 10, 2013 Share Posted May 10, 2013 (edited) He wants to: Const $one = 1 Const $two = 2 Const $three = 3 Const $four = 4 Const $five = 5 ; ..... Const $two_hundred_thousand = 200000 ; ..... Named constants are not because they can change, but because the script easier to read Edited May 10, 2013 by AZJIO My other projects or all Link to comment Share on other sites More sharing options...
Artisan Posted May 10, 2013 Share Posted May 10, 2013 A magic number is a number for which AutoIt provides a constant. Like $WS_POPUP from WindowsConstants.au3. $WS_POPUP has a value of 0x80000000. You shouldn't use 0x80000000 in your scripts but $WS_POPUP. Because the value of such a constant can be changed without notice. Ah. Okay, that makes sense. I thought a magic number was a literal "placeholder" number that was just assumed to work. Makes sense now. 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