帶進度條的ListView

来源:http://www.cnblogs.com/yixuanblog/archive/2016/02/04/5182292.html
-Advertisement-
Play Games

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ImgList; type TForm


1

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ImgList;

type
  TForm1 = class(TForm)
    btn1: TButton;
    lv1: TListView;
    trckbr1: TTrackBar;
    il1: TImageList;
    procedure lv1CustomDraw(Sender: TCustomListView; const ARect: TRect; var DefaultDraw: Boolean);
    procedure lv1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
    procedure btn1Click(Sender: TObject);
    procedure trckbr1Change(Sender: TObject);
  private
    function ReDrawItem(HwndLV: HWND; ItemIndex: integer): boolean;
{ Private declarations }
  public
{ Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses
  CommCtrl;

{$R *.dfm}
//代碼來源:http://www.cnblogs.com/snow001x/archive/2008/12/04/1347854.html

//畫狀態條
procedure DrawSubItem(LV: TListView; Item: TListItem; SubItem: Integer; Prosition: Single; Max, Style: Integer; IsShowProgress: Boolean; DrawColor: TColor = $00005B00; FrameColor: TColor = $00002F00);
//獲取SubItem的區域

  function GetItemRect(hWndLV: HWnd; iItem, iSubItem: Integer): TRect;
  var
    Rect: TRect;
  begin
    ListView_GetSubItemRect(hWndLV, iItem, iSubItem, iSubItem, @Rect);
    Result := Rect;
  end;

var
  PaintRect, R: TRect;
  i, iWidth, x, y: Integer;
  S: string;
begin
  with lv do
  begin
    PaintRect := GetItemRect(lv.Handle, Item.Index, SubItem);
    R := PaintRect;
    if Prosition >= Max then
      Prosition := 100
    else
    begin
      if Prosition <= 0 then
        Prosition := 0
      else
        Prosition := Round((Prosition / MAX) * 100);
    end;
    if (Prosition = 0) and (not IsShowProgress) then
      Canvas.FillRect(r) //如果是0 ,直接顯示空白
    else
    begin
//先填充背景
      Canvas.FillRect(r);
      Canvas.Brush.Color := Color;
//畫一個外框
      InflateRect(R, -2, -2);
      Canvas.Brush.Color := FrameColor;
      Canvas.FrameRect(R);
      Canvas.Brush.Color := Color;
      InflateRect(R, -1, -1);
//InflateRect(R,-1,-1);
//根據百分比計算出要花的進度條內容概述
      iWidth := R.Right - Round((R.Right - R.Left) * ((100 - Prosition) / 100));
      case Style of
        0: //實心
          begin
            Canvas.Brush.Color := DrawColor;
            R.Right := iWidth;
            Canvas.FillRect(R);
          end;
        1: //豎線填充
          begin
            i := r.Left;
            while i < iWidth do
            begin
              Canvas.Pen.Color := Color;
              Canvas.MoveTo(i, R.Top);
              Canvas.Pen.Color := DrawColor;
              Canvas.LineTo(i, R.Bottom);
              Inc(i, 3);
            end;
          end;
      end; //case end
//畫好進度條後,現在要做的就是顯示進度數字了
      Canvas.Brush.Style := bsClear;
      if Prosition = Round(Prosition) then
        S := Format('%d%%', [Round(Prosition)])
      else
        S := FormatFloat('#0.0', Prosition);
      with PaintRect do
      begin
        x := Left + (Right - Left + 1 - Canvas.TextWidth(S)) div 2;
        y := Top + (Bottom - Top + 1 - Canvas.TextHeight(S)) div 2;
      end;
      SetBkMode(Canvas.Handle, TRANSPARENT);
      Canvas.TextRect(PaintRect, x, y, S);
    end;
//畫完恢復
    Canvas.Brush.Color := Color;
  end;
end;

procedure TForm1.lv1CustomDraw(Sender: TCustomListView; const ARect: TRect; var DefaultDraw: Boolean);
begin

end;

//上面是畫進度條的,現在要給TlistView處理Item重繪的消息,事件是OnCustomDrawItem,需要說明的是,如果想要隨心所欲的自畫Item,那麼就要全部自己來完成,不再需要系統來處理:
procedure TForm1.lv1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  BoundRect, Rect: TRect;
  i: integer;
  TextFormat: Word;
  LV: TListView; 
//這個子過程是用來畫CheckBox和ImageList的

  procedure Draw_CheckBox_ImageList(r: TRect; aCanvas: TCanvas; Checked: Boolean);
  var
    R1: TRect;
    i: Integer;
  begin
    if Sender.Checkboxes then
    begin
      aCanvas.Pen.Color := clBlack;
      aCanvas.Pen.Width := 2;
//畫CheckBox外框
      aCanvas.Rectangle(R.Left + 2, R.Top + 2, R.Left + 14, R.Bottom - 2);
      if Checked then //畫CheckBox的鉤
      begin
        aCanvas.MoveTo(R.Left + 4, R.Top + 6);
        aCanvas.LineTo(R.Left + 6, R.Top + 11);
        aCanvas.LineTo(R.Left + 11, R.Top + 5);
      end;
      aCanvas.Pen.Width := 1;
    end;
//開始畫圖標
    i := 2; //ImageIndex的值,可以任意
    if i > -1 then
    begin
//獲取圖標的RECT
      if Boolean(ListView_GetSubItemRect(sender.Handle, item.Index, 0, LVIR_ICON, @R1)) then
      begin
//ImageList_Stats.Draw(LV.Canvas, R1.Left, R1.Top, i);
        if item.ImageIndex > -1 then
          LV.SmallImages.Draw(LV.Canvas, R1.Right + 2, R1.Top, item.ImageIndex);
      end;
    end;
  end;

begin
  LV := TListView(Sender);
  BoundRect := Item.DisplayRect(drBounds);
  InflateRect(BoundRect, -1, 0);
//這個地方你可以根據自己的要求設置成想要的顏色,實現突出顯示
  LV.Canvas.Font.Color := clBtnText;
//查看是否被選中
  if Item.Selected then
  begin
    if cdsFocused in State then
    begin
      LV.Canvas.Brush.Color := $00ECCCB9; // //clHighlight;
    end
    else
    begin
      LV.Canvas.Brush.Color := $00F8ECE5; //clSilver;
    end;
  end
  else
  begin
    if (Item.Index mod 2) = 0 then
      LV.Canvas.Brush.Color := clWhite
    else
      LV.Canvas.Brush.Color := $00F2F2F2;
  end;

  LV.Canvas.FillRect(BoundRect); // 初始化背景
  for i := 0 to LV.Columns.Count - 1 do
  begin
//獲取SubItem的Rect
    ListView_GetSubItemRect(LV.Handle, Item.Index, i, LVIR_LABEL, @Rect);
    case LV.Columns[i].Alignment of
      taLeftJustify:
        TextFormat := DT_LEFT;
      taRightJustify:
        TextFormat := DT_RIGHT;
      taCenter:
        TextFormat := DT_CENTER;
    else
      TextFormat := DT_CENTER;
    end;
    case i of
      0: //畫Caption,0表示Caption,不是Subitem
        begin
//先畫選擇框和圖標
          Draw_CheckBox_ImageList(BoundRect, LV.Canvas, Item.Checked);
//再畫Caption的文字
          InflateRect(Rect, -(5 + il1.Width), 0); //向後移3個像素,避免被後面畫線框時覆蓋
//InflateRect(Rect, -(5), 0); //向後移3個像素,避免被後面畫線框時覆蓋
          DrawText(LV.Canvas.Handle, PAnsiChar(Item.Caption), Length(Item.Caption), Rect, DT_VCENTER or DT_SINGLELINE or DT_END_ELLIPSIS or TextFormat);
        end;
      1..MaxInt: //畫SubItem[i]
        begin
          if (i - 1) = 1 then //顯示狀態條,本示例是第三欄顯示,可以隨便定
          begin
            DrawSubItem(LV, Item, i, StrToFloatDef(Item.SubItems[i - 1], 0), 100, 0, True);
          end
          else
          begin
//畫SubItem的文字
            InflateRect(Rect, -2, -2);

            if i - 1 <= Item.SubItems.Count - 1 then
              DrawText(LV.Canvas.Handle, PCHAR(Item.SubItems[i - 1]), Length(Item.SubItems[i - 1]), Rect, DT_VCENTER or DT_SINGLELINE or DT_END_ELLIPSIS or TextFormat);
          end;
        end;
    end; //end case
  end; //end for
  LV.Canvas.Brush.Color := clWhite;

  if Item.Selected then //畫選中條外框
  begin
    if cdsFocused in State then//控制項是否處於激活狀態
      LV.Canvas.Brush.Color := $00DAA07A // $00E2B598; //clHighlight;
    else
      LV.Canvas.Brush.Color := $00E2B598; //$00DAA07A // clHighlight;
    LV.Canvas.FrameRect(BoundRect); //
  end;
  DefaultDraw := False; //不讓系統畫了
  with Sender.Canvas do
    if Assigned(Font.OnChange) then
      Font.OnChange(Font);
end;

function TForm1.ReDrawItem(HwndLV: HWND; ItemIndex: integer): boolean;
begin
  Result := ListView_RedrawItems(HwndLV, ItemIndex, ItemIndex);
end;

procedure TForm1.btn1Click(Sender: TObject);
var
  Item: TListItem;
begin
//使用:
  item := LV1.Items[1];
  if Item = nil then
    Exit;
  item.subitems[1] := '30'; //設置為30%
//然後刷新這個item
  ReDrawItem(LV1.handle, Item.Index);
end;

procedure TForm1.trckbr1Change(Sender: TObject);
var
  Item: TListItem;
begin
//使用:
  item := LV1.Items[0];
  item.subitems[1] := IntToStr(trckbr1.Position);
//然後刷新這個item
  ReDrawItem(LV1.handle, Item.Index);
end;

end.

 

object Form1: TForm1
  Left = 416
  Top = 301
  Width = 494
  Height = 170
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object btn1: TButton
    Left = 272
    Top = 96
    Width = 75
    Height = 25
    Caption = 'btn1'
    TabOrder = 0
    OnClick = btn1Click
  end
  object lv1: TListView
    Left = 16
    Top = 8
    Width = 457
    Height = 81
    Columns = <
      item
        Caption = '名稱'
        Width = 100
      end
      item
        Caption = '分類'
        Width = 100
      end
      item
        Caption = '進度'
        Width = 100
      end
      item
        Caption = '資源'
        Width = 100
      end>
    GridLines = True
    Items.Data = {
      5B000000020000000200000000000000FFFFFFFF020000000000000006B4F3B8
      BBCECC04D3CECFB70333354D01000000FFFFFFFFFFFFFFFF0200000000000000
      08446F7461B4ABC6E604D3CECFB7043130304DFFFFFFFFFFFFFFFF}
    ShowWorkAreas = True
    SmallImages = il1
    TabOrder = 1
    ViewStyle = vsReport
    OnCustomDrawItem = lv1CustomDrawItem
  end
  object trckbr1: TTrackBar
    Left = 16
    Top = 96
    Width = 233
    Height = 33
    Max = 100
    TabOrder = 2
    OnChange = trckbr1Change
  end
  object il1: TImageList
    Left = 384
    Top = 96
    Bitmap = {
      494C010103000F00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
      0000000000003600000028000000400000004000000001002000000000000040
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600004D4D
      4D00000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600004D4D
      4D00000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600004D4D
      4D00000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600004D4D
      4D00000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      00004D4D4D004D4D4D0000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      00004D4D4D004D4D4D0000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      00004D4D4D004D4D4D0000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      00004D4D4D004D4D4D0000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000D90
      1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000D90
      1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000D90
      1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000D90
      1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000
      00000000000000000000000000000000000000000000000000000066000014A0
      270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000
      00000000000000000000000000000000000000000000000000000066000014A0
      270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000
      00000000000000000000000000000000000000000000000000000066000014A0
      270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000
      00000000000000000000000000000000000000000000000000000066000014A0
      270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000
      00000000000000000000000000000000000000000000000000000066000019A5
      32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000
      00000000000000000000000000000000000000000000000000000066000019A5
      32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000
      00000000000000000000000000000000000000000000000000000066000019A5
      32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000
      00000000000000000000000000000000000000000000000000000066000019A5
      32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000
      0000000000000000000000000000000000000000000000000000006600001FAB
      3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000
      0000000000000000000000000000000000000000000000000000006600001FAB
      3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000
      0000000000000000000000000000000000000000000000000000006600001FAB
      3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000
      0000000000000000000000000000000000000000000000000000006600001FAB
      3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000
      00000000000000000000000000000000000000000000000000000066000023B0
      460029C2520022BB44001CB5360017B02D000FA91F0005880B00016A01004D4D
      4D004D4D4D0000000000000000000000000000000000000000000066000023B0
      460029C2520022BB44001CB5360017B02D000FA91F0005880B00016A01004D4D
      4D004D4D4D0000000000000000000000000000000000000000000066000023B0
      460029C2520022BB44001CB5360017B02D000FA91F0005880B00016A01004D4D
      4D004D4D4D0000000000000000000000000000000000000000000066000023B0
      460029C2520022BB44001CB5360017B02D000FA91F0005880B00016A01004D4D
      4D004D4D4D0000000000000000000000000000000000000000000066000026B3
      4D0030C9600029C2520022BB44001CB5360017B02D000FA91F00089B10000271
      030011610B004D4D4D00000000000000000000000000000000000066000026B3
      4D0030C9600029C2520022BB44001CB5360017B02D000FA91F00089B10000271
      030011610B004D4D4D00000000000000000000000000000000000066000026B3
      4D0030C9600029C2520022BB44001CB5360017B02D000FA91F00089B10000271
      030011610B004D4D4D00000000000000000000000000000000000066000026B3
      4D0030C9600029C2520022BB44001CB5360017B02D000FA91F00089B10000271
      030011610B004D4D4D00000000000000000000000000000000000066000027B3
      4D0033CC660030C9600029C2520022BB44001CB5360017B02D000EA41D00037D
      0600066404004D4D4D00000000000000000000000000000000000066000027B3
      4D0033CC660030C9600029C2520022BB44001CB5360017B02D000EA41D00037D
      0600066404004D4D4D00000000000000000000000000000000000066000027B3
      4D0033CC660030C9600029C2520022BB44001CB5360017B02D000EA41D00037D
      0600066404004D4D4D00000000000000000000000000000000000066000027B3
      4D0033CC660030C9600029C2520022BB44001CB5360017B02D000EA41D00037D
      0600066404004D4D4D0000000000000000000000000000000000006600002DB9
      530035CE680033CC660030C9600029C2520022BB440015A12800036F0500165D
      0E00000000000000000000000000000000000000000000000000006600002DB9
      530035CE680033CC660030C9600029C2520022BB440015A12800036F0500165D
      0E00000000000000000000000000000000000000000000000000006600002DB9
      530035CE680033CC660030C9600029C2520022BB440015A12800036F0500165D
      0E00000000000000000000000000000000000000000000000000006600002DB9
      530035CE680033CC660030C9600029C2520022BB440015A12800036F0500165D
      0E000000000000000000000000000000000000000000000000000066000032BE
      58003CD56F0035CE680033CC660030C960001494280005630300000000000000
      00000000000000000000000000000000000000000000000000000066000032BE
      58003CD56F0035CE680033CC660030C960001494280005630300000000000000
      00000000000000000000000000000000000000000000000000000066000032BE
      58003CD56F0035CE680033CC660030C960001494280005630300000000000000
      00000000000000000000000000000000000000000000000000000066000032BE
      58003CD56F0035CE680033CC660030C960001494280005630300000000000000
      00000000000000000000000000000000000000000000000000000066000036C2
      5C0043DC76003CD56F002BBB55000A7913000F5F090000000000000000000000
      00000000000000000000000000000000000000000000000000000066000036C2
      5C0043DC76003CD56F002BBB55000A7913000F5F090000000000000000000000
      00000000000000000000000000000000000000000000000000000066000036C2
      5C0043DC76003CD56F002BBB55000A7913000F5F090000000000000000000000
      00000000000000000000000000000000000000000000000000000066000036C2
      5C0043DC76003CD56F002BBB55000A7913000F5F090000000000000000000000
      0000000000000000000000000000000000000000000000000000006600003DC9
      630049E27C0025A84200046D07002D581E000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600003DC9
      630049E27C0025A84200046D07002D581E000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600003DC9
      630049E27C0025A84200046D07002D581E000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600003DC9
      630049E27C0025A84200046D07002D581E000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600003CC5
      5F00158721000961050000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600003CC5
      5F00158721000961050000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600003CC5
      5F00158721000961050000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600003CC5
      5F00158721000961050000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      0000245E19000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      0000245E19000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      0000245E19000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      0000245E19000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000660000245E
      1900000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000660000245E
      1900000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000660000245E
      1900000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000660000245E
      1900000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      000000000000000000000000000000000000BA877700CE7E6200D07E5D00D07E
      5D00CE7E6200C396880000000000000000000000000000000000006600004D4D
      4D00000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600004D4D
      4D00000000000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000000000000000
      00000000000000000000B7A5A2008D6F6A008D6F6A008D6F6A008D6F6A00A28A
      8600BFAEAB000000000000000000000000000000000000000000000000000000
      0000000000000000000000000000CF795600EDB18D00F3BC9900F1BA9600F0B7
      9400F0B79400E5A07D00CA715200000000000000000000000000006600000066
      00004D4D4D004D4D4D0000000000000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000066
      00004D4D4D004D4D4D0000000000000000000000000000000000000000000000
      000000000000000000000000000000000000000000000000000000000000C5B6
      B4009B817C0093757000B8979100DDB9B200C09E9800BD9E9800BD9D9700AA8B
      850091746F008D6F6A0000000000000000000000000000000000000000000000
      00000000000000000000CD795D00F1A77B00EFA47800EDA07400EB9B7000DA83
      5D00DD886000E4906600DA835D00E4BAAC000000000000000000006600000D90
      1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000
      0000000000000000000000000000000000000000000000000000006600000D90
      1A00026F0400165D0E004D4D4D00000000000000000000000000000000000000
      00000000000000000000000000000000000000000000A9928E008D6F6A00AA8B
      8500D1AEA700F0CAC200F0CAC200F0CAC200E9C7C100F3D3CC00F3D3CC00F0CA
      C200D6B3AC008D6F6A00000000000000000000000000000000005D9D5F003B9E
      3500409F33003B9E3500C06F4400F4A17000F19C6C00ED956600E2875A00C56A
      4D00D06E4700E2845600E2845600E1B3A50000000000000000000066000014A0
      270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000
      00000000000000000000000000000000000000000000000000000066000014A0
      270016AB2B0007840F00056303004D4D4D004D4D4D0000000000000000000000
      00000000000000000000000000000000000000000000997A7500EAC4BD00F0CA
      C200F0CAC200F0CAC200F0CAC200F0CAC200EBCBC600F4D7D100F3D3CC00F3D3
      CC00D6B3AC008D6F6A000000000000000000000000002395240061B9510074C2
      5F007AC9690080CF7200B47A4900F9AA7800F4A17000F19C6C00CA715200E7C7
      C100CB6A4700E88D5E00DF805500E6C0B40000000000000000000066000019A5
      32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000
      00000000000000000000000000000000000000000000000000000066000019A5
      32001CB5360017B02D000C951700016A02001A5C11004D4D4D00000000000000
      00000000000000000000000000000000000000000000A6868000F0CAC200F0CA
      C200F0CAC200F0CAC200F0CAC200F0CAC200D6B3AC00C5ADA900CDB5B000D7BD
      B700BD9E98008D6F6A000000000000000000000000000B99170018AB29000B93
      15001BA52A0033C850007A934700EC986A00F9AA7800D0734E00ECD0C800F4E7
      E500CE7E6200ED956600D3734B00000000000000000000000000006600001FAB
      3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000
      0000000000000000000000000000000000000000000000000000006600001FAB
      3D0022BB44001CB5360017B02D000FA51E0003790600096105004D4D4D000000
      00000000000000000000000000000

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 如果想知道 AngularJs 通過WebAPI 下載Excel。請看下文,這裡僅提供了一種方案。 伺服器端代碼如下: protected HttpResponseMessage GenereateExcelMessage(HttpRequestMessage Request, string fil
  • 分類:C#、Android、百度地圖應用; 日期:2016-02-04 一、簡介 線路規劃支持以下功能: 公交信息查詢:可對公交詳細信息進行查詢; 公交換乘查詢:根據起、終點,查詢策略,進行線路規劃方案; 駕車線路規劃:提供不同策略,規劃駕車路線;(支持設置途經點) 步行路徑檢索:支持步行路徑的規劃...
  • 本文翻譯自《effective modern C++》,由於水平有限,故無法保證翻譯完全正確,歡迎指出錯誤。謝謝! 根據std::move和std::forward不能做什麼來熟悉它們是一個好辦法。std::move沒有move任何東西,std::forward沒有轉發任何東西。在運行期,它們沒有做
  • 數據類型 可以使用BIF type()來查看對象的類型 數字 int float long 布爾(bool) True 機內表示1,機器識別非0 False 機內表示0,機器識別0 空值 None 字元串(str) 移除空格(strip) 分割(split) 長度(len) 列表(list) hel
  • Jemalloc最初是Jason Evans為FreeBSD開發的新一代記憶體分配器, 用來替代原來的 phkmalloc, 最早投入使用是在2005年. 到目前為止, 除了原版Je, 還有很多變種 被用在各種項目里. Google在android5.0里將bionic中的預設分配器從Dl替換為Je,...
  • 一所需架包 spring commom-logging.jar spring.jar 註解 common-annotation.jar aop面向切麵 aspectjrt.jar aspectjweaver.jar cglibb-nodep.ja(許可權帶代理proxy) jdbc database
  • 當一個人開始學習Java或者其他編程語言的時候,會接觸到堆和棧,由於一開始沒有明確清晰的說明解釋,很多人會產生很多疑問,什麼是堆,什麼是棧,堆和棧有什麼區別?更糟糕的是,Java中存在棧這樣一個後進先出(Last In First Out)的順序的數據結構,這就是java.util.Stack。這種
  • /** * @{#} Base64.java Create on Nov 5, 2008 7:19:56 PM * */package com.gren.remotecheck.util; import java.io.BufferedReader;import java.io.BufferedWr
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...