小编Pet*_*mes的帖子

Android做while循环

嗨这是我的第二个问题.我有下表

|-----|-------|------|------|
|._id.|..INFO.|.DONE.|.LAST.|
|..1..|...A...|...N..|......|
|..2..|...B...|...Y..|..L...|<--- cursor.moveToPosition((int)_id-1);
|..3..|...C...|...Y..|......|
|..4..|...D...|...Y..|......|
|..5..|...E...|...N..|......|
|..6..|...F...|...N..|......|
|-----|-------|------|------|
Run Code Online (Sandbox Code Playgroud)

我用的代码是:

cursor = db.query(TABLE_NAME, new String[]{INFO,DONE,LAST},null,null,null,null,null);
cursor.moveToPosition((int)_id-1);
String Yval = cursor.getString(cursor.getColumnIndex(DONE));
do
{
    cursor.moveToNext();
    Yval= cursor.getString(cursor.getColumnIndex(DONE));
}
while (Yval=="Y");
s = Yval;
Run Code Online (Sandbox Code Playgroud)

我最初将光标指向我访问的最后一行,然后我创建一个循环来遍历DONE列中的值,而不是在列的行中有Y的情况下停止.当N出现在循环中时,循环应该停止.但它不起作用.Yval永远不等于"Y".因此,光标会执行一个'moveToNext',然后退出循环,因为它不会将Yval读为"Y".(我也将所有内容都更改为整数.1表示N,0表示Y,但仍然无效)所以我在这里做错了什么?

android while-loop

5
推荐指数
1
解决办法
3万
查看次数

如何防止嵌入式浏览器提示保存下载文件的位置?

如何在以编程方式单击下载按钮后下载文件,因此无需知道下载文件的URL.

下载文件后,出现提示并询问您是否要保存文件,按"是"后,另一个提示会询问您要保存文件的位置.因此,首先下载文件,可能在某个地方的缓冲区中,在初始下载后,会出现提示.

因此,一旦单击按钮,您如何捕获下载流并将其保存为某个文件,而不显示弹出提示?

(任何单击按钮的方法都可以,以下情况应该没问题.)

procedure TForm1.Button1Click(Sender: TObject);
var
  x: integer;
  ovLinks: OleVariant;
begin
  WebBrowser1.Navigate('The web page');
  //wait for page to down load
  ovLinks := WebBrowser1.OleObject.Document.all.tags('A');
  if ovLinks.Length > 0 then
  begin
    for x := 0 to ovLinks.Length-1 do
      begin
        if Pos('id of button', ovLinks.Item(x).id) > 0 then
        //or if Pos('href of button', ovLinks.Item(x).href) > 0 then
        begin
          ovLinks.Item(x).click;
          Break;
        end;
      end;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

这个问题的原因是:无法始终找到文件的URL.例如:在这个网站上,我无法以编程方式找到网址,但在按下导出按钮后,使用IE,文件被下载到"Temporary Internet Files"文件夹中.在IE'Temporary Internet Files'文件夹中,它有一个列'Internet地址',显示网址.但是在Chrome中没有这样的数据.但是,在这个网站上,我可以以编程方式找到网址,但是当我下载文件时,按"此处",该文件不会出现在IE"Temporary Internet Files"文件夹中.对于其他网站,可以在文件夹中找到网址并通过编程方式找到它,但在其他网站上无法找到网址.

delphi download

2
推荐指数
1
解决办法
5211
查看次数

WebBrowser1DocumentComplete和WebBrowser1NavigateComplete2

以下代码给出了几个错误,其中两个是:

  • [错误] Unit1.pas(28):未声明的标识符:'WebBrowser1NavigateComplete2'
  • [错误] Unit1.pas(34):未声明的标识符:'WebBrowser1DocumentComplete'

我想知道它们是否未在"使用"部分声明.有没有人知道为什么它不会编译.我从Delphi帮助中获取了代码.

此外,不会出现完成的"消息框"或"嘟嘟声".

unit Unit1;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, OleCtrls, SHDocVw, StdCtrls, MSHTML, activex;

type
    TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    WebBrowser1: TWebBrowser;
    procedure Button1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;

var
    Form1: TForm1;
    CurDispatch: IDispatch; {save the interface globally }

implementation

{$R *.dfm}
procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
    if CurDispatch = nil then
    CurDispatch := pDisp; …
Run Code Online (Sandbox Code Playgroud)

delphi twebbrowser

2
推荐指数
1
解决办法
1404
查看次数

标签 统计

delphi ×2

android ×1

download ×1

twebbrowser ×1

while-loop ×1