|
|
Hi,
I need to parse a text file to scrap information. I have seen various post. This one in particular is good. http://www.codeproject.com/vb/net/TextFileParser.asp#xx1033521xx[^]
However, my data is a bank statement. I need to specify an offset and length to get to a piece of information. My file is not delimited or in fixed lengths. Each line is different. Some of the lines don't have a label to match against. My question is would it be better to use SubString or RegEx? I need to read line by line. It seems silly using a RegEx on a single line. What do you all recommend?
Thanks in advance for any help you can provide.
|
|
|
|
|
It's not silly at all to use a RegEx on a single line. Specify a pattern that will match a legal line and use that to match the line. If you get a match you know that the line is well formed and you can easily get the interesting values from the matches collection.
I used this method recently to parse web logs, and it works quite well.
---
b { font-weight: normal; }
|
|
|
|
|
Thanks for the reply. I have read that RegEx and some string operations are a CPU hit. StringBuilder is suppose to be better. Would SubString be more efficient? I guess this should have been my original question.
|
|
|
|
|
Dale Hegler wrote: I have read that RegEx and some string operations are a CPU hit.
One that you will never ever notice....
|
|
|
|
|
Yes, using RegEx is somewhat expensive, but on the other hand if the match does exactly what you want, you can hardly do it in a more efficient way. A regular expression can do matches that would need quite a lot of code to do with plain string operations.
For an example, checking if a range of characters in a string are digits is very easy to do with a regular expression, while doing the same with string operations would require you to loop through the characters and check each character individually.
-- modified at 7:48 Tuesday 14th March, 2006
As for performance, it will be sufficient in most cases. When I used RegEx for parsing the web logs, it goes through about 20000 lines a second, and I think that most of that time is actually spent reading the data from disk. So as long as you are reading the data from a file, you needn't worry about the performance of the RegEx object.
---
b { font-weight: normal; }
|
|
|
|
|
Thanks for the information.
|
|
|
|
|
I would like to create a graphics form (formA), which is controlled by another form (formB) with a bunch of pushbuttons on it. Each button will draw a certain line, or rectange or some other graphic on formB. I have tried to figure out the even handling to so something like this, but GUI development is pretty new to me.
Thanks
|
|
|
|
|
The ideas in this article, Passing Values Between Forms[^] are exactly the same as calling methods. The properties used in the examples are really just syntactic sugar for methods called get_PropertyName() and set_PropertyName(object value) so the concepts explained are really identical.
ColinMackay.net
Scottish Developers are looking for speakers for user group sessions over the next few months. Do you want to know more?
|
|
|
|
|
Thanks for the response.
For my task, rather than passing a value, I want to cause a graphic to be drawn on the child form (line, arc, rectangle, etc). I can't figure out how to do this using the OnPaint mechanism. Is there a good reference on doing this?
Thanks
|
|
|
|
|
The best reference for drawing graphics in Windows Applications is Charles Petzold.
Also remember that using OnPaint is quite an ephemeral thing because you have to keep a note somewhere of what you drew. When the window is damaged (e.g. another window is placed on top) then it you have to redraw what was there. So, you might want to consider wrapping that up into a custom control and have the control do the drawing.
ColinMackay.net
Scottish Developers are looking for speakers for user group sessions over the next few months. Do you want to know more?
|
|
|
|
|
DataGridView is inherited from "CONTROL" so several properties are reserved like Background Image.
How can i set an image as a background of DataGridView control ?
Thank you in advanced.
|
|
|
|
|
hello....
does this below code mean that int variable are also treated as objects? if not please provide help regardingly...
int var=9;
string st=var.ToString();
if var is not an object how does it act like an instance of an object....
thanks...
haseeb
|
|
|
|
|
Everything in the .NET framework (excluding the rarely used pointers) are of type System.Object. That is the unified type system.
Now, you can start getting into some intricacies of the type system, for example, everything in the unified type system is either a reference type or a value type. Any C# 'struct' is a value type. Any C# 'class' is a reference type. System.Int32 (C#'s 'int') is a value type. When you call .ToString() on it, it will create a string representation of the integer.
Structs/value types are treated differently in .NET. For one, they are high-performance as they do not require a heap allocation or a garbage collection (whereas references type require both). When you pass a value type to a function, a copy of the value is actually passed:
int i = 5;
MyFunc(i);
...
void MyFunc(int theInteger)
{
theInteger = 10;
}
Also, if you cast a value type to type System.Object, a process called boxing is induced:
int i = 5;
object o = i;
Does that answer your question?
Tech, life, family, faith: Give me a visit.
I'm currently blogging about: Moral Muscle
The apostle Paul, modernly speaking: Epistles of Paul
Judah Himango
|
|
|
|
|
Hello haseeb,
Actually in .Net there us two type of object.
1) Value type object (Language define types e.g. int,char,byte,long...)
2) Reference type object (User define types e.g. class with define by user or
included by library).
Divyang Mithaiwala
System Engineer & Software Developer
|
|
|
|
|
there's nothing to stop the user defining a value type!
public struct MyValueType
in oppose to
public class MyReferenceType
|
|
|
|
|
What is the best way to create a folder in the "Documents and settings\user name\local settings\application data\program folder" when creating a deployment project?
|
|
|
|
|
If I remember correctly than System.Windows.Forms.Application.LocalUserAppDataPath will automatically create one when it is accessed.
|
|
|
|
|
hello... i have quite a good idea of java and C sharp... previously i worked in c++ and over there in order to make a string appear in the text box i had to program it manually that is i made a string. Same was the case in java, text in textboxes were shown by programing the event (keypressed or keyup) in the manner that it would form a string. but here in c sharp the textbox string is made automatically ie when i make the text box object i dont really need to attach an event to it to make strings.
My questions are:
1. is this handler already implemented in the textboxbase class? if not where is it implemented?
2. i want to change the handler? do i have to override any member or property? if yes plz provide the name of the member or property...
actually i want my text box to produce a beep when the first character is inserted as a number. also i want not to allow the special characters, though i want underscore to be implemented . please provide an insight
thanx...
haseeb
|
|
|
|
|
haseeb_saeed wrote: is this handler already implemented in the textboxbase class? if not where is it implemented?
What handler?? All you do is set the TextBox's Text property to the string you want and it'll draw the string in the box for you.
haseeb_saeed wrote: i want to change the handler? do i have to override any member or property?
You want to change, or override, the painting of the string in the TextBox?? Then all you have to do is create your own control that inherits from TextBox, and override it's Paint method, supplying your own paint code.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
All the handling for the text in a text box is already implemented. To access the text all you need to do is access TextBox.Text. As for your beep, try using the "OnChanged" event to check and see if there is only one characer, and if it is a number/any other "beepable" character.
|
|
|
|
|
On a pocketpc device with GPS capabilities is there a way to get the device's current coordinates without some type of sdk? I was thinking that if its gps coords are updated periodically anyway, this should just be a property that you can access.
My Music | My Pics | My Articles
BlackDice
|
|
|
|
|
BlackDice wrote: is there a way to get the device's current coordinates without some type of sdk
No. You'll have to consult with the devices manufacturer for any information on how to connect to it.
BlackDice wrote: this should just be a property that you can access
Sure, of some object that is supplied by an SDK specific to your GPS device. There's nothing for it in the .NET Framework.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
FYI:
I've been doing some SERIOUS Googling and have found out that you can access the gps receiver through the COM port and read its output by using createfile().
My Music | My Pics | My Articles
BlackDice
|
|
|
|
|
BlackDice wrote: I've been doing some SERIOUS Googling
That what it takes to do this job!
If all you need to do is open a serial port, then all that takes is a little more Googling[^].
What you get from the GPS receiver is kind of standard, but not every manufacturer supports everything in the standard. So, again, you'll have to Google around for the docs on the GPS output for your receiver.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|