Jump to content

How to read part of line?


Go to solution Solved by czardas,

Recommended Posts

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

$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
Link to comment
Share on other sites

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 2022-02-19 - Version 1.6.1.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 (NEW 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

 

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
Link to comment
Share on other sites

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

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

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
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 2022-02-19 - Version 1.6.1.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 (NEW 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

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

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2022-02-19 - Version 1.6.1.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 (NEW 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

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
Link to comment
Share on other sites

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

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...