Jump to content
Sign in to follow this  
Rafaelinio

How to read part of line?

Recommended Posts

Rafaelinio

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?

Share this post


Link to post
Share on other sites
BrewManNH

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 Gude
How 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

Share this post


Link to post
Share on other sites
Rafaelinio

Can you please post an example? im new to autoit

Share this post


Link to post
Share on other sites
BrewManNH

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 Gude
How 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

Share this post


Link to post
Share on other sites
Rafaelinio

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?

Share this post


Link to post
Share on other sites
Carlo84

$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 by Djarlo

Share this post


Link to post
Share on other sites
Rafaelinio

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?

Share this post


Link to post
Share on other sites
water

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 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
Rafaelinio

 

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 :P

Edited by Rafaelinio

Share this post


Link to post
Share on other sites
water

Try it yourself. Set $sLine to ""sdgsafsdfdfs, xljfpjpjsfdapi" and see what happens.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
Carlo84

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 :P

The example you quoted does that.

PS you're rather writing a interpreter then a actual language it seems ;-)

Edited by Djarlo

Share this post


Link to post
Share on other sites
Rafaelinio

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

Share this post


Link to post
Share on other sites
water

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 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
Rafaelinio

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

Share this post


Link to post
Share on other sites
water

I suggest not to go with Notepad - creating a GUI only takes a few minutes.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-06-01 - Version 1.4.9.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-01-27 - Version 1.3.3.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites
czardas

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 by czardas

Share this post


Link to post
Share on other sites
Rafaelinio

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

Share this post


Link to post
Share on other sites
Rafaelinio

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

Share this post


Link to post
Share on other sites
Rafaelinio

ok , thanks gona try that now and hopefully it works...

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×