Rafaelinio Posted November 6, 2013 Posted November 6, 2013 ok sso im trying to build my ownn small coding language and i just started... i ran into a big problem.... $Location = InputBox("Location", "Please enter the location of the file you wish to compile:") $file = $Location For $i = 1 to _FileCountLines($file) $Line = FileReadLine($file, $i) Switch $Line Case "MsgBox" MsgBox(0, "", "LOL") EndSwitch so now m program can read the "MsgBox" BUT how does my program read the following two strings for the title and text? Can you post an example script?
BrewManNH Posted November 6, 2013 Posted November 6, 2013 StringSplit using the comma as the delimiter. 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
Rafaelinio Posted November 6, 2013 Author Posted November 6, 2013 Can you please post an example? im new to autoit
BrewManNH Posted November 6, 2013 Posted November 6, 2013 Look in the help file for StringSplit, there's an example in there. It's pretty simple to use. BTW, why are you trying to write your own coding language in AutoIt? It's going to be painfully slow. If you are new to AutoIt, I don't think a script interpreter is the thing to start with. 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
Rafaelinio Posted November 6, 2013 Author Posted November 6, 2013 well, im not THAT new to AutoIt. I know all the basics and gui and stuff, so yeah... Btw can you help me out here? ive seen the example but how do i use it in my place?
Carlo84 Posted November 6, 2013 Posted November 6, 2013 (edited) $sLocation = FileOpenDialog("Location", "", "All (*.*)") $hFile = FileOpen($sLocation) If $hFile <> -1 Then While 1 $sLine = FileReadLine($hFile) If @error = -1 Then ExitLoop If $sLine = "MsgBox" Then $sTitle = FileReadLine($hFile) $sMsg = FileReadLine($hFile) MsgBox(0, $sTitle, $sMsg) EndIf WEnd EndIf Edited November 6, 2013 by Djarlo _SplashProgressImage | _Regionselector | _IsPressed360 | _UserAccountContol_SetLevel | _ListSubFolders
Rafaelinio Posted November 7, 2013 Author Posted November 7, 2013 Guys thats not what i am looking for exactly. i want for example to be able to read this: msg LOL, LOL2 for example and the make a message with title LOL and msg LOL2. any ideas?
water Posted November 7, 2013 Posted November 7, 2013 I can only repeat what BrewManNH said: If you want to write something complex as a "coding language" you should be able to solve such easy problems yourself. And you have already been given the solution by pointing you to the help file. $sLine = "LOL, LOL2" $aSplit = StringSplit($sLine, ",") MsgBox(0, $aSplit[1], $aSplit[2]) 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
Rafaelinio Posted November 7, 2013 Author Posted November 7, 2013 (edited) I can only repeat what BrewManNH said: If you want to write something complex as a "coding language" you should be able to solve such easy problems yourself. And you have already been given the solution by pointing you to the help file. $sLine = "LOL, LOL2" $aSplit = StringSplit($sLine, ",") MsgBox(0, $aSplit[1], $aSplit[2]) Thanks but some times i just dont understand the help file examples. btw what i am askig is what if the "LOL" and "LOL2" are ANYTHING else typed by the user. it could be "sdgsafsdfdfs" that is my main problem. Offtopic: and my dream since i was small was to design my own programming language Edited November 7, 2013 by Rafaelinio
water Posted November 7, 2013 Posted November 7, 2013 Try it yourself. Set $sLine to ""sdgsafsdfdfs, xljfpjpjsfdapi" and see what happens. 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
Carlo84 Posted November 7, 2013 Posted November 7, 2013 (edited) StringRegExp Thanks but some times i just dont understand the help file examples. btw what i am askig is what if the "LOL" and "LOL2" are ANYTHING else typed by the user. it could be "sdgsafsdfdfs" that is my main problem. Offtopic: and my dream since i was small was to design my own programming language The example you quoted does that. PS you're rather writing a interpreter then a actual language it seems ;-) Edited November 7, 2013 by Djarlo _SplashProgressImage | _Regionselector | _IsPressed360 | _UserAccountContol_SetLevel | _ListSubFolders
Rafaelinio Posted November 7, 2013 Author Posted November 7, 2013 Try it yourself. Set $sLine to ""sdgsafsdfdfs, xljfpjpjsfdapi" and see what happens. Yeah but i want those values to be changed from the notepad file. for instance, if the notepad file writes: msg fsfsfdfsfs, reteterrwerfdsfdsf then to make a msgbox with that title and message
water Posted November 7, 2013 Posted November 7, 2013 Then a few questions: Why Notepad? When do you want the MsgBox to appear? When the user hits Enter ...? 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
Rafaelinio Posted November 7, 2013 Author Posted November 7, 2013 1)Notepad for now. Later on ill use a program i make myself 2)when the user saves the file. im trying to make a program that can read the .txt file so that it can generate the msgbox
water Posted November 7, 2013 Posted November 7, 2013 I suggest not to go with Notepad - creating a GUI only takes a few minutes. 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
czardas Posted November 7, 2013 Posted November 7, 2013 (edited) First the syntax of the language has to be clear. Lay out full rules. You have msg (followed by) space (followed by) title (followed by) comma (followed by) text. Look for msg space and comma. Get rid of msg (followed by) space and then split the rest. Edited November 7, 2013 by czardas operator64 ArrayWorkshop
Rafaelinio Posted November 7, 2013 Author Posted November 7, 2013 Yup but i want to be able to make the file runnable with just the complie thingy that i made so it can be more easy to run the file from other computers. and im stuck to that problem of reading the part of the line
Rafaelinio Posted November 7, 2013 Author Posted November 7, 2013 First the syntax of the language has to be clear. Lay out full rules. You have msg (followed by) space (followed by) title (followed by) comma (followed by) text. Look for msg space and comma. Get rid of msg (followed by) space and then split the rest. yeah umm, thats what im trying to do here XD
Solution czardas Posted November 7, 2013 Solution Posted November 7, 2013 (edited) If StringLeft ($sLineFromFile, 4) = "msg " Then ; Do something EndIf ; Look at StringTimLeft() Edited November 7, 2013 by czardas operator64 ArrayWorkshop
Rafaelinio Posted November 7, 2013 Author Posted November 7, 2013 ok , thanks gona try that now and hopefully it works...
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