|
Luc Pattyn wrote: chances are someone will come up with a case you can't handle.
You're right about that. We'll be presenting our program next week and defend it like our real thesis. this is only a project that will apply data structures. And when i read about parsing there many ways on how to parse a statement. The one that I think will do our program done is the bottom - up parsing which uses a stack and a parse tree. Now the problem is i don't know where to get the pattern that i'll use to accomplish that. I think the best way is to somehow find a way on how to do that and state to our presentation the scope and limitations of our program.
And also since this is only a simple for loop parser, We can only have a one-line statement, meaning we don't have to include the two curly braces for a block statement.
|
|
|
|
|
gamer1127 wrote: Is there a way without using regex class?
Of course there is. Regex is a tool, a non-essential tool. Anything you can do with a Regex, you can do without Regex too. It will take more code, it may or may not be more readable, and chances are it will be faster without Regex. See this test[^].
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
Your right...hehehehe...Now I'm changing the codes on how to verify the entered string using data structures discussed by our professor (stack and tree). Since there is a Stack Collection in C# I think that would make the work a bit easier. Before I changed all the code(That was only yesterday) I was eager to use the Regex class since it has all that i need. But when I can't find a way on how to verify the entered string using Regex I started to look at the harder way which has a long code.
My only problem now is how to verify the entered string..I'm thinking of the way the infix to postfix works using stack. I think that is similar with what i'll be doing to do the job.
Ah..By the way...Can i use the regex class on splitting the strings only? Then apply the stack and parse tree in verifying the string?
|
|
|
|
|
gamer1127 wrote: Can i use the regex class on splitting the strings only?
Not really as my "not a for loop".Length example indicated.
Furthermore, most programming languages can be parsed by an "LALR" parser, meaning you have to backtrack only one token at most, hence you don't need to have all the input at once, which is fine for huge source files (on which a Regex would probably be very slow).
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
Ok then...Can you suggest any good reading materials about parsing that can be found on the web? I already read some in wikipedia but i feel that the explanations there is somewhat incomplete or very hard to understand. I just need to know the basics.
Also should i use the grammar rules(the ones with the terms 'non-terminals' and 'terminals') as my pattern? Or should i use other ways to meet my own criteria in parsing? Right now i'm trying to use the Stack Collection to check the syntax then pass it to a new array, just like how converting from infix to postfix works. What i need are some rules to really come up with that kind of process.
|
|
|
|
|
gamer1127 wrote: Can you suggest any good reading materials about parsing that can be found on the web?
Not really, I learned what I wanted to know about the subject before they invented the internet.
The "Dragon Book" by Aho, Sethi and Ulmann is pretty good. Its real title is "Compilers: Principles, Techniques and Tools" or so.
You can go two ways:
- use a yacc-like program, that reads a BNF description and generates lexer/parser code
- create your own special-purpose lexer/parser, where the methods are probably based on the BNF production rules.
The hardest thing in a parser is parsing expressions; in C-like languages expressions can be almost anything. Now if all you need is something that can find delimiters in a correct and practical code block with only simple expressions, you can skip a lot of stuff. But IMO you do need to handle comments, string literals, and escape characters.
I doubt you will come up with a real good general-purpose C/C++/Java/C# parser in a matter of days...
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
Thank You Very Much for your inputs...Now I can continue creating my program..
|
|
|
|
|
No, string.Split won't include the delimiters. It can be done with a Regular Expression. (But you still won't be able to accomplish what you need.)
|
|
|
|
|
I completed a small project on StudentInformation System. I want to deploy in my friend college, Dear Help me, How i develop setup to deploy the software. Regards Iftikhar my emails is iftikharabc@gmail.com
045251
|
|
|
|
|
Well, you can create a deployment project in VS, or you can download a tool like Advanced Installer to help you.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Follow these steps to start with simple deployment setup
1. Add New Project to existing project,
- on add new project window select 'Setup And Deployment' node, on right hand side you will find some of the template
select the 'Setup Project'[or you can select any other according to your convenience]
- Name the project and click OK
- The New project is added to the Solution explorer
- It also opens a 'File System' Editor
- There you will find three tabs
1. Application Folder - Base directory for your application, you should add all the required assemblies by your application here , exe as well
2. User desktop - you want to add Desktop Shortcut add it here
3. User's Program Menu - here you can link in the Start -> program files
- when you add shortcut for step 2 and 3 provide its target as your applications main exe
- now rest is almost same you need to rebuild and this which produces two files under debud/release folder under your setup project directory , these files are nothing but your installbles
I have just provided you with starting steps, you might want to go for some more details like adding icons, status bar icon etc etc
I Would suggest to look on net to explore it more , there are many articles dedicated to this
Reg
Deep
Happy Coding
|
|
|
|
|
Ok I have tried several different ways to get this to work but either i am confused at what causes the build version to increment and how to retreive that value at run time.
Questions:
1) I want the application to increment it's build version automatically with each compile. How is this possible?
-THe Publish Version I can increment when I compile it in the build menu as publish. But the application goes thru the inhouse setup application with C#. So my first question would be how to increment the build version with each compile. As all my results keep bringing back 1.0.0.0.
2) Once I get the build version to auto increment how do I retrieve that version number.
Here is some of what I have tried....
System.Version version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.;
//System.Version version = System.Reflection.Assembly.GetExecutingAssembly().
System.Diagnostics.Debug.WriteLine(String.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.Revision, version.Build));
//System.Diagnostics.Debug.WriteLine(Application.ProductName.ToString());
//System.Diagnostics.Debug.WriteLine(Application.ProductVersion.ToString());
//System.Diagnostics.Debug.WriteLine(Application.CompanyName.ToString());
//System.Diagnostics.Debug.WriteLine(A
lblAppVersion.Text = (String.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.Revision, version.Build));
System.Version version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.;
//System.Version version = System.Reflection.Assembly.GetExecutingAssembly().
System.Diagnostics.Debug.WriteLine(String.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.Revision, version.Build));
//System.Diagnostics.Debug.WriteLine(Application.ProductName.ToString());
//System.Diagnostics.Debug.WriteLine(Application.ProductVersion.ToString());
//System.Diagnostics.Debug.WriteLine(Application.CompanyName.ToString());
//System.Diagnostics.Debug.WriteLine(A
lblAppVersion.Text = (String.Format("{0}.{1}.{2}.{3}", version.Major, version.Minor, version.Revision, version.Build));
|
|
|
|
|
1 - the only way I've found to do that, is a post build step that runs an exe that changes the app.config file to increment it
2 - I think what you have should work.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
This would be what I am trying to accomplish.
Any suggestions on a exe that does this or do you have a sample blueprint one so I don't have to invent the wheel?
thanks.
So Essentially I will need to manually make sure the build version is set before compiling. Correct.
|
|
|
|
|
Just to be clear you want the publish version that is stored in the manifest from the
publish page in project properties.
versus the assembly version from the assembly information sub form on the application page.
all the code you have tried the results come from the assembly information.
|
|
|
|
|
I want the value that identifies the exe's version for the application. But I want the exe's version to increment each time it compiles so that when the application is running live I can identify if the end user is using the most current version released. And if not to know what specific build version they have.
|
|
|
|
|
<1) I want the application to increment it's build version automatically with each compile. How is this possible?
-THe Publish Version I can increment when I compile it in the build menu as publish. But the application goes thru the inhouse setup application with C#. So my first question would be how to increment the build version with each compile. As all my results keep bringing back 1.0.0.0.
Check out:
http://autobuildversion.codeplex.com/[^]
|
|
|
|
|
Perfect thanks.
|
|
|
|
|
Glad to help!
I agree, it's a feature that's badly missing in Visual Studio 2008.
I also modified a C# backup zip program that I found to do a backup of my current project with the date and time appended to the zip file.
For under $100, you can get 1TB of external storage. So, IMHO, there is no reason at all not to save TONS of versions!
Good Luck!
|
|
|
|
|
Hi Everyone,
Firstly, I think this may be my first post here, but I have been following the code project for quite a little while, and have had an account for almost just as long: one of the best resources online!
Anyway, one thing that I just can't seem to work out, a rather simple problem, is changing the default form that is opened when a WPF program is launched. I can do it in Windows Forms without a problem, but I can't seem to find where to do it in WPF.
All help and input is greatly appreciated!
- Josh
|
|
|
|
|
Look in Program.cs, there you shall find your answer!
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station....
_________________________________________________________
My programs never have bugs, they just develop random features.
|
|
|
|
|
Oops, sorry, missed it was a WPF question.
Look in App.xaml, line 4, the StartupUri property!
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station....
_________________________________________________________
My programs never have bugs, they just develop random features.
|
|
|
|
|
Thanks heaps for that, it is a great help!
|
|
|
|
|
Dear Sirs:
I have searched numerous articles online and in the built-in help file but can't find an answer to this anywhere.
I have a C# WinForms application with a ListView control named "lstVwAddress", containing 4-columns, i.e., "FirstName", "LastName", "Email", and "Phone".
My form also has 4-textboxes with the same names, i.e., "txtFirstName", "txtLastName", "txtEmail", and "txtPhone", for which the user can enter data and save it to the database.
My application has a SQL 2008 Express database with a simple "AddressBook" table with an autoincremented column, i.e., "AddressID" and columns for "FirstName", "LastName", "Email", and "PhoneNumber" fields.
It also has an "AddressBookDataSet" and an "AddressesTableAdapter".
What I would like to know is how can I loop thru and retrieve data from each row/column in the database and use it to populate the ListView's ListItem and SubItem's. I don't need to retrieve the autoincremented ID column, just the remaining ones.
I'm also not using any type of data-bound controls.
I can successfully Insert data into the table but need to know how to retrieve and populate the ListView's ListItems and subitems. Also, can I use the existing TableAdapter, or do I have to declare separate data objects to retrieve this. My TableAdapter's query is "SELECT FirstName, LastName, Email, PhoneNumber FROM dbo.Addresses"
I have tried researching this on the Internet but can't find any good examples. The examples listed were either for a data-bound control like the DataGrid or were for VB.Net and not for C#. The examples found in the built-in help file all showed manually populating the items at design time instead of pulling the data from a SQL database. Please help.
Thank you in advance.
|
|
|
|
|
For each row you read, build a list view item and populate the sub items, one row at a time.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|