Solved

break 2 element string into int and string

Posted on 1999-01-12
3
150 Views
Last Modified: 2010-04-06
Reading a line from file that has two elements, first bit of data is price, and 2nd is part description.  These two elements are separated by spaces.  How do I grab the first piece of the line and convert to integer? Example line record below.
 $100.00     Range Hood
0
Comment
Question by:hoffb
3 Comments
 
LVL 20

Accepted Solution

by:
Madshi earned 20 total points
ID: 1356151
Try this:

function ConvertToPriceAndDescr(str: string; var price: integer; var descr: string) : boolean;
begin
  result:=false;
  Trim(str);
  i1:=Pos(' ',str);
  descr:=Copy(str,i1,maxInt);
  Trim(descr);
  Delete(str,i1,maxInt);
  i1:=1;
  while (i1<=length(str)) and (not (str[i1] in ['0'..'9'])) do
    inc(i1);
  Delete(str,1,i1-1);
  i1:=Pos('.',str);
  try
    price:=StrToInt(Copy(str,1,i1-1))*100 + StrToInt(Copy(str,i1+1,maxInt));
  except exit end;
  result:=true;
end;

In your example the result would be: "price=10000" and "descr='Range Hood'". To get the cents, devide price with 100.

Regards, Madshi.
0
 
LVL 5

Expert Comment

by:heathprovost
ID: 1356152
Damn, beat me to it.... Yours is better anyway so I wont bother :)

Heath
0
 

Author Comment

by:hoffb
ID: 1356153
I'll try it.  Fast Answer!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now