Parsing a string. Need help

Please support our Pascal and Delphi advertiser: Programming Forums - DaniWeb Sister Site
Thread Solved

Join Date: Mar 2009
Posts: 9
Reputation: anandkrishnantc is an unknown quantity at this point 
Solved Threads: 0
anandkrishnantc anandkrishnantc is offline Offline
Newbie Poster

Parsing a string. Need help

 
0
  #1
Mar 18th, 2009
Hello,
I am new to delphi. I have a problem. I have a string which can be of any length. Sometimes with delimiter characters for printing in new line.
Now I need to distinguish whether the received string is a number (both -ve and +ve) or any other alpha numeric value. Based on that I need to proceed further.
Any built in function to check this? or how to parse and find out its a number?

regards,
Anand
Reply With Quote Quick reply to this message  
Join Date: Nov 2007
Posts: 68
Reputation: jsosnowski is an unknown quantity at this point 
Solved Threads: 11
jsosnowski's Avatar
jsosnowski jsosnowski is offline Offline
Junior Poster in Training

Re: Parsing a string. Need help

 
0
  #2
Mar 18th, 2009
There are a number of conversion functions the sysutils.pas unit that can test this for you and check out extractstrings in the Classes unit for a basic parsing function.
Reply With Quote Quick reply to this message  
Join Date: Feb 2009
Posts: 473
Reputation: FlamingClaw will become famous soon enough FlamingClaw will become famous soon enough 
Solved Threads: 114
FlamingClaw's Avatar
FlamingClaw FlamingClaw is offline Offline
Posting Pro in Training

Re: Parsing a string. Need help

 
0
  #3
Mar 19th, 2009
I'm not good in delphi...but I want to help you
I looked for you problem on the web,and there was a good idea for your problem.They say:Try to convert that string into number.The StrToIntDef takes an extra argument that is returned, if the string could not be converted to int successfully.
Last edited by FlamingClaw; Mar 19th, 2009 at 10:28 am.
Reply With Quote Quick reply to this message  
Join Date: Oct 2008
Posts: 35
Reputation: m610 is an unknown quantity at this point 
Solved Threads: 1
m610 m610 is offline Offline
Light Poster

Re: Parsing a string. Need help

 
0
  #4
Mar 19th, 2009
Or a simple try... except...end block such as

Pascal and Delphi Syntax (Toggle Plain Text)
  1. function IsInteger(MyString:string):boolean;
  2. begin
  3. try
  4. Result:=true;
  5. strtoint(MyString);
  6. except
  7. Result:=false;
  8. end;
  9. end;

IntToStrDef sounds easier.
Last edited by m610; Mar 19th, 2009 at 1:32 pm.
Reply With Quote Quick reply to this message  
Join Date: Oct 2008
Posts: 35
Reputation: m610 is an unknown quantity at this point 
Solved Threads: 1
m610 m610 is offline Offline
Light Poster

Re: Parsing a string. Need help

 
0
  #5
Mar 19th, 2009
By the way, I had not known about the StrToIntDef function until reading this thread. I checked with Help in my copy of Delphi 6, which is where I have learned most of my Delphi programming, and it did not list it. Then I looked in SysUtils.pas and found it, along with some other nice functions I wish I had known about, such as:

function StrToFloatDef(const S: string; const Default: Extended): Extended;

and

function TryStrToFloat(const S: string; out Value: Extended): Boolean;

I'll be digging around in there a bit more for other things I have missed, like the string-to-int function that converts strings, including hex-formatted strings, to integers.
Reply With Quote Quick reply to this message  
Join Date: Mar 2009
Posts: 9
Reputation: anandkrishnantc is an unknown quantity at this point 
Solved Threads: 0
anandkrishnantc anandkrishnantc is offline Offline
Newbie Poster

Re: Parsing a string. Need help

 
0
  #6
Mar 23rd, 2009
Hello, thanks for the replies. I have a text (Widestring). Which need to be checked (no need or converting it ), if its a float or not. When I tried TexttoFloat, the program behaves worgly. No proper ending of the method.
and I see all the text ends with #0 . should I remove this trailing #0 ?
Reply With Quote Quick reply to this message  
Join Date: Mar 2009
Posts: 9
Reputation: anandkrishnantc is an unknown quantity at this point 
Solved Threads: 0
anandkrishnantc anandkrishnantc is offline Offline
Newbie Poster

Re: Parsing a string. Need help

 
0
  #7
Mar 23rd, 2009
Originally Posted by m610 View Post
Or a simple try... except...end block such as

Pascal and Delphi Syntax (Toggle Plain Text)
  1. function IsInteger(MyString:string):boolean;
  2. begin
  3. try
  4. Result:=true;
  5. strtoint(MyString);
  6. except
  7. Result:=false;
  8. end;
  9. end;

IntToStrDef sounds easier.
It worked. thanks.
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:




Views: 902 | Replies: 6
Thread Tools Search this Thread



Tag cloud for Pascal and Delphi
About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC