GARANTIR DESCONTO

Fórum problema no loop #348460

05/11/2007

0

amigos, preciso de uma mão... no codigo abaixo eu realizo uma varredura em componentes e seus valores(no caso um ou mais checkboxes ligados aos seus respectivos edits), de um arquivo html .

o fato é que no loop ´for´ quando o checkbox está checked=true eu atribuo true à variavel check e quando o edit ligado aquele checkbox está com algum valor na sua propriedade text, eu atribuo true à variavel result.

isso tudo para por fim verificar se ambas as variaveis tem algum valor atibuido. caso elas tenham entao eu insiro esses valores em uma tabela...

O PROBLEMA: nao está inserindo nada na tabela quando tenho valores atribuidos às variaveis ´check´ e ´result´. nao estou conseguindo enchergar o meu erro, mas creio que seja erro na colocação do codigo no local certo dentro do loop.

se alguem puder me dar uma luz....


var
//http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_20421786.html?qid=20421786
 Doc: IHTMLDocument2;
 I: Integer;
 Element: OleVariant;
 Elements: IHTMLElementCollection;

  ResultSubs,ValueCheck : string;
 check,result : boolean;
begin
Doc := Wb.Document as IHTMLDocument2;
  Elements := Doc.All;
for I := 0 to Elements.length - 1 do
   begin
      check       := false;
      result      := false;
      ValueCheck  := ´´ ;
      ResultSubs  := ´´;

      Element := Elements.item(I, varEmpty);

          if (UpperCase(Element.tagName) = ´INPUT´) and (UpperCase(Element.Type) = ´CHECKBOX´) then
          begin
              if (Element.Checked = true) then
              begin
                check      := true;
                ValueCheck := Element.value;
                //ShowMessage(´CheckBox: ´ + Element.value);
              end;
          end
            else
              // edit responável pelo resultado da substancia escolhida
              if (UpperCase(Element.tagName) = ´INPUT´) and (UpperCase(Element.Type) = ´TEXT´) then
              begin
                if (Element.value <> ´´) then
                begin
                  result     := true;
                  ResultSubs := Element.Value
                  //ShowMessage(´edit: ´ + ResultSubs);
                end;
              end;
       
        // problema aqui... nao ta inserindo no clientdataset
        if (check=true) and (result=true) then
        begin
          cdsSubstancias.Open;
          cdsSubstancias.Insert;
          cdsSubstanciasID.AsInteger        := StrToInt(ValueCheck);
          cdsSubstanciasResultado.AsString  := ResultSubs;
          cdsSubstancias.Post;
        end;
   end;
end;



Mahdak

Mahdak

Responder

Posts

07/11/2007

Mahdak

:(


Responder

Gostei + 0

07/11/2007

Mahdak

:(


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar