delphi获取 CPUID

type   TCPUID=array[1..4] of Longint;
FUNCTION GetCPUID : TCPUID; assembler; register;
asm
  PUSH    EBX         {Save affected register}
  PUSH    EDI
  MOV     EDI,EAX     {@Resukt}
  MOV     EAX,1
  DW      $A20F       {CPUID Command}
  STOSD              {CPUID[1]}
  MOV     EAX,EBX
  STOSD               {CPUID[2]}
  MOV     EAX,ECX
  STOSD               {CPUID[3]}
  MOV     EAX,EDX
  STOSD               {CPUID[4]}
  POP     EDI          {Restore registers}
  POP     EBX
END;

调用

procedure TForm3.btn1Click(Sender: TObject);
var cpuid:TCPUID; i:integer;
begin
    cpuid:=GetCPUID;
    for i:=1 to 4 do ssss:=ssss+IntToHex(CPUID[i],4);
    ShowMessage(ssss);
end;

delphi7使用idhttp获取https的页面代码

delphi7使用idhttp获取https的页面代码

procedure TForm1.Button1Click(Sender: TObject);
var url:string;
response:TStringStream;
error:string;
begin
  response:=TStringStream.Create('');
  IdHTTP1.IOHandler := IdSSLIOHandlerSocket1;
  IdHTTP1.HandleRedirects:=false;
  IdSSLIOHandlerSocket1.SSLOptions.Method := sslvSSLv3;
  url:='https://passport.jd.com/new/login.aspx';
  try
    IdHTTP1.Get(url);
  except
    on E: Exception do
      error:=E.Message;
  end;
  url:= IdHTTP1.Response.Location;
  if error='HTTP/1.1 302 Found' then
  begin
    IdHTTP1.Get(url,response);
    Memo1.Text := response.DataString;
  end;


  response.Free;
end;

需要把下面两个dll和exe放在一起

注意:不要在delphi ide中按F9运行, 这样(try except)异常会被IDE的调试器捕获,当然可以设置忽略异常,把异常传递给程序,不过并不推荐这样做,会影响下次调试。

看效果直接双击exe即可。

Delphi使用流读写控件数据

Delphi使用流读写控件数据

保存到文件

MS := TMemoryStream.Create;
try
        MS.WriteComponent(listview1);
        MS.SaveToFile('文件名');
finally
        MS.Free;
end;

从文件读入控件

MS := TMemoryStream.Create;
try
     	MS.LoadFromFile('文件名');
     	MS.ReadComponent(listview1);
finally
	MS.Free;
end;

Delphi自动提交表单(这里只有一个表单)

Delphi自动提交表单(这里只有一个表单),弄了一个晚上,经过一个大牛的指点,10分钟搞定

procedure TMainForm.WebBrowser2DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  oFrames:OleVariant;
begin
  oFrames := WebBrowser2.OleObject.document.forms;
  if oframes.length <> 0 then
  begin
  oFrames.item(0).submit;
  end;
end;