Primeiramente gostaria de pedir desculpas por posta este tópico que existe alguns semelhantes dentro do fórum, mas a questão é que não consegui resolver sozinho o os outros tópicos não são específicos..
A questão é não consigo fazer o preenchimento do campo INPUT pa, já tentei de tudo..
estou usando um Código postado já anteriormente como segue a abaixo... mas não consiguo resolve o erro...
procedure SetFieldValue(theForm: IHTMLFormElement; const fieldName: string; const newValue: string; const instance: integer=0); var field: IHTMLElement; inputField: IHTMLInputElement; selectField: IHTMLSelectElement; textField: IHTMLTextAreaElement; begin field := theForm.Item(fieldName,instance) as IHTMLElement; \\erro aqui....... if Assigned(field) then begin if field.tagName = 'INPUT' then begin inputField := field as IHTMLInputElement; if (inputField.type_ <> 'radio') and (inputField.type_ <> 'checkbox') then inputField.value := newValue else inputField.checked := (newValue = 'checked'); end else if field.tagName = 'SELECT' then begin selectField := field as IHTMLSelectElement; selectField.value := newValue; end else if field.tagName = 'TEXTAREA' then begin textField := field as IHTMLTextAreaElement; textField.value := newValue; end; end; end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var document : IHTMLDocument2; theForm : IHTMLFormElement; begin try document := WebBrowser1.Document as IHTMLDocument2; theForm := GetFormByNumber(document,0); SetFieldValue(theForm,'pa', '032010'); //--- Onde pa é o campo e o 032010 o seu valor. theForm.submit; except end; end;
Se alguém puder me ajudar, agradeço muito pois já estou nesta luta a algum tempo.
Pergunta
Picuuai
Prezados amigos.
Primeiramente gostaria de pedir desculpas por posta este tópico que existe alguns semelhantes dentro do fórum, mas a questão é que não consegui resolver sozinho o os outros tópicos não são específicos..
Tenho o código abaixo do site da Fazenda...
const fieldName: string; const newValue: string;
const instance: integer=0);
var
field: IHTMLElement;
inputField: IHTMLInputElement;
selectField: IHTMLSelectElement;
textField: IHTMLTextAreaElement;
begin
field := theForm.Item(fieldName,instance) as IHTMLElement; \\erro aqui.......
if Assigned(field) then
begin
if field.tagName = 'INPUT' then
begin
inputField := field as IHTMLInputElement;
if (inputField.type_ <> 'radio') and
(inputField.type_ <> 'checkbox')
then
inputField.value := newValue
else
inputField.checked := (newValue = 'checked');
end
else if field.tagName = 'SELECT' then
begin
selectField := field as IHTMLSelectElement;
selectField.value := newValue;
end
else if field.tagName = 'TEXTAREA' then
begin
textField := field as IHTMLTextAreaElement;
textField.value := newValue;
end;
end;
end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
document : IHTMLDocument2;
theForm : IHTMLFormElement;
begin
try
document := WebBrowser1.Document as IHTMLDocument2;
theForm := GetFormByNumber(document,0);
SetFieldValue(theForm,'pa', '032010'); //--- Onde pa é o campo e o 032010 o seu valor.
theForm.submit;
except
end;
end;
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.