Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 227
  • Last Modified:

listview subitems problem.

look at this line SubItems.Add(FloatToStr(Bumpri));

I need to add subitems based on the caption.
if (label1.Caption = 'R & I Ft Bumper')  then
      sum:= Bumpri * LaborX;
    if (label1.Caption = 'R & I  Lt Head Light')  then
      sum:= rilftheadlilght * LaborX;
    if (label1.Caption = 'R & I Hood')  then
      sum:=  rihood *   laborx ;<<<<<<<
How can i know which caption was used to do the math so I know which On to insert into the listview.
var
Hale,Dent: Boolean;
 rihood, rilftheadlilght, bumpri: Double;
  Sum, laborx: Double;
  ListItem: TListItem;
begin
  Dent:= datamodule1.AQcustomerinfo.FieldByName('DentWork').AsBoolean;
  Hale:= Datamodule1.AQcustomerinfo.FieldByName('HaleWork').AsBoolean;
 
    If Copy(Label1.Caption,1,5) = 'R & I' Then
    begin
      Bumpri:= 1.5;
      rilftheadlilght:= 1.3;
      rihood:= 1.2;
      Laborx:= StrToFloat(frmsetup.Edit5.text);
    if (label1.Caption = 'R & I Ft Bumper')  then
      sum:= Bumpri * LaborX;
    if (label1.Caption = 'R & I  Lt Head Light')  then
      sum:= rilftheadlilght * LaborX;
    if (label1.Caption = 'R & I Hood')  then
      sum:=  rihood *   laborx ;
    begin
    ListItem := form1.ListView1.Items.Add;
     with ListItem do
     begin
     Caption := Datamodule1.AQGlobalID.fieldbyname('GlobalID').AsString;// first column
     SubItems.Add(Form1.Label1.Caption);
     SubItems.Add(FloatToStr(Bumpri));
     SubItems.Add('');
     SubItems.Add('');
     SubItems.Add('');
     SubItems.Add('');
     SubItems.Add(floattostr(sum)) ;
     
     end;
    end;
      end
      else
    if  Dent = True then
  begin
  frmDentRepair.Label3.Caption:= 'Operations:  '+ Form1.Label1.Caption;
  frmDentRepair.ShowModal;
  End
  else
   if Hale = True then
   begin
   frmDentRepair.Label3.Caption:= 'Operations:  '+ Form1.Label1.Caption;
   frmHale.ShowModal;
   end
 
 end;

Open in new window

0
Grant Fullen
Asked:
Grant Fullen
  • 2
1 Solution
 
8080_DiverCommented:
How about setting an integer variable to a differnt value for each of the captions you are testing and then using that in a Case statement to determine what to do?

    if (label1.Caption = 'R & I Ft Bumper')  
    then begin
      sum:= Bumpri * LaborX;
      ActionNdx := 0;
    end
    else begin
      if (label1.Caption = 'R & I  Lt Head Light')  
      then begin
        sum:= rilftheadlilght * LaborX;
        ActionNdx := 0;
      end
      else begin
        if (label1.Caption = 'R & I Hood')  
        then begin
          sum:=  rihood *   laborx ;
          ActionNdx := 0;
        end
        else begin
          rasie Exception.Create("We should never get here!");
        end; {if}
      end; {if}
    end; {if}
  
    case ActionNdx of
      0 : begin
          end;
      0 : begin
          end;
      0 : begin
          end;
     else begin
          end;
    end; {case]

Open in new window

0
 
8080_DiverCommented:
Oops, clicked too soon! ;-)

    if (label1.Caption = 'R & I Ft Bumper')  
    then begin
      sum:= Bumpri * LaborX;
      ActionNdx := 0;
    end
    else begin
      if (label1.Caption = 'R & I  Lt Head Light')  
      then begin
        sum:= rilftheadlilght * LaborX;
        ActionNdx := 1;
      end
      else begin
        if (label1.Caption = 'R & I Hood')  
        then begin
          sum:=  rihood *   laborx ;
          ActionNdx := 2;
        end
        else begin
          rasie Exception.Create("We should never get here!");
        end; {if}
      end; {if}
    end; {if}
  
    case ActionNdx of
      0 : begin
          end;
      1 : begin
          end;
      2 : begin
          end;
     else begin
          end;
    end; {case]

Open in new window

0
 
Grant FullenAuthor Commented:
Thank you.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now