anony10 Posted September 13, 2012 Share Posted September 13, 2012 Hello! Im looking for a command, or something that i can read / write a table with. Lets say i write 5 words in a .txt file in one line. I seperate them from each other with something (%, a space, or something), it reads that line, and if it finds the symbol (eg %) it "breaks" the two words and put the first word in Label1, put the other word in Label2, etc etc. I want to be able to read certain lines. I hope you get it. Thanks Link to comment Share on other sites More sharing options...
water Posted September 13, 2012 Share Posted September 13, 2012 You hsould have a look at function StringSplit to "break" the line into pieces. 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 Link to comment Share on other sites More sharing options...
anony10 Posted September 13, 2012 Author Share Posted September 13, 2012 (edited) Thank you, but an other question. How can i "read" the cutted pieces? I mean, i've tried out the example script, with one more line $days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",") ;$days[1] contains "Sun" ... $days[7] contains "Sat" $text = "ThisnlinencontainsnC-style breaks." $array = StringSplit($text, 'n', 1) msgbox(0, "asd", $array) It gets me a blank msgbox. Am i doing it wrong? nvm, solved! i think its enough, thanks. Edited September 13, 2012 by anony10 Link to comment Share on other sites More sharing options...
water Posted September 13, 2012 Share Posted September 13, 2012 You can't display an array with function MsgBox. Use _ArrayDisplay. 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 Link to comment Share on other sites More sharing options...
anony10 Posted September 13, 2012 Author Share Posted September 13, 2012 Can i read out from a .txt file, and break the read out line ? Like $text = "ThisnlinencontainsnC-style breaks." this but instead of the "ThisnlinencontainsnC-style breaks." part i want to split the read out words. Link to comment Share on other sites More sharing options...
BrewManNH Posted September 13, 2012 Share Posted September 13, 2012 StringReplace, use the character you have splitting the words as the delimiter, and @CRLF as the replacement character. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
guinness Posted September 13, 2012 Share Posted September 13, 2012 Or _ArrayToString in the Array UDF. 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...
kylomas Posted September 13, 2012 Share Posted September 13, 2012 anony10, This creates a 2d table (what you seem to be asking about). To understand the code, reference the help file. There are also excellent tutorials for Autoit in general on the Wiki, just do a search for them (Google, Yahoo, whatever...). expandcollapse popup; ; ; #include <array.au3> ; generate test file of 100 lines of 20 coluns per line of random words delimited by a "/" local $hfl = fileopen("C:tmptest010.txt",2) if $hfl = -1 then consolewrite("!> File open error" & @lf) Exit EndIf local $words[10] = ['one','two','three','four','five','six','seven','eight','nine','ten'] for $i = 0 to 100 for $j= 0 to 20 filewrite($hfl,$words[random(0,9,1)] & "/") Next filewrite($hfl,@lf) next fileclose($hfl) $hfl = 0 ; Read file parsing each line to a row and each field(word) within each row to a column ; The end result is a 2 dimensional (spreadsheet like) array local $string_of_file_contents = fileread("C:tmptest010.txt") local $my_2d_array = _stringsplit2d($string_of_file_contents,"/") _arraydisplay($my_2d_array) ; #FUNCTION# ====================================================================================== ; Name ................: _stringsplit2d($str,$del) ; Description .........: create 2d array where each row is a @lf delimited text string comprised ; of columns delimited by a user defined string ; Syntax ..............: _strinsplit2d($str, $del) ; Parameters ..........: $str - string to split ; $del - the delimter for columns ; Return ..............: 2d array ; ================================================================================================= func _stringsplit2d($str,$del) local $a1 = stringsplit($str,@lf,1), $a2 local $rows = ubound($a1),$cols = 0 ; determine max number of columns by splitting each row and keeping highest ubound value for $i = 0 to ubound($a1) - 1 $a2 = stringsplit($a1[$i],$del,1) if ubound($a2) > $cols then $cols = ubound($a2) next ; define and populate array local $o[$rows][$cols] for $i = 1 to $rows - 1 $a2 = stringsplit($a1[$i],$del,1) for $j = 0 to ubound($a2) - 1 $o[$i][$j] = $a2[$j] Next next return $o endfunc There are also a host of user defined functions (UDF's) that are very useful for repetitive and/or complex tasks. These are also documented in the help file (your best friend). You will also find excellent support on this forum, providing that: 1 - you show some effort to learn the language 2 - abide by the forum rules 3 - have attempted to solve the problem before asking Good Luck, kylomas Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
anony10 Posted September 13, 2012 Author Share Posted September 13, 2012 Thank you, i have solved every problem I had, so it seems im pretty set atm. Thank you everybody for the support. Link to comment Share on other sites More sharing options...
water Posted September 13, 2012 Share Posted September 13, 2012 Glad you solved your problems 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 Link to comment Share on other sites More sharing options...
anony10 Posted September 14, 2012 Author Share Posted September 14, 2012 But as im progressing in my script i have new problems... Now im trying to figure out how to use multiple forms (like 3, 4) in one .au3 file, but this is offtopic. Link to comment Share on other sites More sharing options...
kylomas Posted September 14, 2012 Share Posted September 14, 2012 anony10, There is an excellent wiki for managing multiple gui's...jhust search for it kylomas Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill 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