fs1234 Posted May 8, 2013 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
Moderators Melba23 Posted May 8, 2013 Moderators 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
Moderators Melba23 Posted May 8, 2013 Moderators 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
Artisan Posted May 10, 2013 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.
AZJIO Posted May 10, 2013 Posted May 10, 2013 there are no restrictions GUICtrlSendMsg(-1, $EM_LIMITTEXT, -1, 0) My other projects or all
guinness Posted May 10, 2013 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
water Posted May 10, 2013 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 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
AZJIO Posted May 10, 2013 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
Artisan Posted May 10, 2013 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.
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