Solved

Newbie needs some info..

Posted on 1998-09-18
8
153 Views
Last Modified: 2010-04-06
Hello,
I really need some info to get me going. I am building a
conversion program and have a couple of questions:
1/ From a combobox with a list of 12 conversions the user
would enter a number to convert in an edit box then select from the
combobox which conversion to do then print the result on
screen. (eg..in to mm and meters to in.)
I need to understand how to code this. Can anyone supply
an example of this? I can get this to work only for the first combobox selection.Also I am using the StrToInt function with the Edit box but if my formula includes a
decimal point eg/ Value1 * 3.28 this will not compile unless
I use a 3 with no decimals.
0
Comment
Question by:frw
8 Comments
 

Author Comment

by:frw
ID: 1340164
Adjusted points to 100
0
 
LVL 10

Accepted Solution

by:
viktornet earned 100 total points
ID: 1340165
Here is an example....I have an EditBox on the form and its name is Edit1..here is some code to show you an example convertions....
---------
function CmToMeter(Cm : double):double;
begin
  Result := Cm / 100;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
   try
            //Use the case statement...
         //case ConvertionKind of
         //CmToMeterConv : ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text))));
         //InchToMeterConv: ...
         ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text)))+ ' Meter(s)');
   except
         On EConvertError do MessageDlg('Syntax Error', mtWarning, [mbOK], 0);
   end;
end;
---------
Regards,
Viktor Ivanov
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1340166
I just wanted to give you the code and the comments separately so you don't think one is code and another is comment.....
---------Code----------
//This code is an example that works...just try it out...
function CmToMeter(Cm : double):double;
begin
  Result := Cm / 100;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  try
   ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text)))+ ' Meter(s)');
  except
    On EConvertError do
      MessageDlg('Syntax Error', mtWarning, [mbOK], 0);
   end;
end;
----Comments------
//Use the case statement...
//case ConvertionKind of
//  CmToMeterConv  : ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text))));
//  InchToMeterConv: ...
-------End-----

Regards,
Viktor Ivanov
0
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

 
LVL 10

Expert Comment

by:viktornet
ID: 1340167
If you need other convertions just tell me the formula and I'll show you how to make the code..

//Vik
0
 
LVL 2

Expert Comment

by:kjteng
ID: 1340168
1. Add a onClick even for the ComboBox. Something like this:

procedure TForm1.ComboBox1Click(Sender: TObject);
var i: integer;
begin
  i := ComboBox1.ItemIndex;
  case i of
  0: {do type 0 conversion here};
  1: {do type 0 conversion here};
  2: {do type 0 conversion here};
  3: {do type 0 conversion here};
   ...
   ...
  end; {case}
end;

Please also set the  style property of the combobox to: csDropDownList

2. To use StrToInt(x) function, x must be a str containing nothing other than numeric digits. If you want to convert a float to string. Depending on the types of data you want to convert to and convert from, you may use these function:
str, textToFloat, strToFloat etc.


0
 
LVL 10

Expert Comment

by:viktornet
ID: 1340169
I got an application for you....Just tell me your e-mail address and I'll send it to you...

Regards,
Viktor Ivanov
0
 

Expert Comment

by:gmsacoda
ID: 1340170
I will explain using the default names created by DELPHI3

- Create a new aplication

- On a FORM1 create : COMBOBOX1, EDIT1, LABEL1

- select the FORM1 in object inspector
- doubleclick on the field ONCREATE
- insert the folowing code lines:
  COMBOBOX1.ITEMS.ADD('cm to in');
  COMBOBOX1.ITEMS.ADD('in to cm');
  ...

- select the combobox1 in object inspector
- doubleclick on the field ONCHANGE
- insert the folowing code lines:
  CASE COMBOBOX1.ITEMINDEX OF
  0:LABEL1.CAPTION:=FLOATTOSTR(STRTOFLOAT(EDIT1.TEXT)/2.54);
  1:LABEL1.CAPTION:=FLOATTOSTR(STRTOFLOAT(EDIT1.TEXT)*2.54);
  ...
  END; {case}

Regards
Gilberto
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1340171
Hello frw!

I still got a ready application I created for you to show you a basic program that can convert CmToMeter, MeterToCm, PoundToKg, KgToPound... If you wanted just tell me your e-mail and I'll send it to you with full source code :-)

Regards,
Viktor Ivanov
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Delphi cmd execution 6 60
Show Listview image from database (String field) 5 126
tidtcpserver connection lost handle 2 85
RESTRequest Parameter 4 31
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…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …

777 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