吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1812|回复: 9
收起左侧

[求助] 求教如何自动调整列宽?

[复制链接]
冥界3大法王 发表于 2019-8-11 09:36
已经比较好看了,但是列宽不满意。
Snap9.jpg
Snap8.jpg
[Delphi] 纯文本查看 复制代码
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  arr:array[0..19,0..6] of string;
  i,j:integer;
begin

  StringGrid1.ColWidths[0] := 88;
  StringGrid1.ColWidths[1] := 110;
  StringGrid1.ColWidths[2] := 166;
  StringGrid1.ColWidths[3] := 166;
  StringGrid1.ColWidths[4] := 180;


  arr[0][0] := '转移类别';
  arr[0][1] := '标志位';
  arr[0][2] := '含义';
  arr[0][3] := '短转移指令';
  arr[0][4] := '长转移指令';





  arr[1][0] := 'call';
  arr[2][0] := 'jmp';
  arr[3][0] := 'jo';
  arr[4][0] := 'jno';
  arr[5][0] := 'jb/jc/jnae';
  arr[6][0] := 'jae/jnb/jnc';
  arr[7][0] := 'je/jz';
  arr[8][0] := 'jne/jnz';
  arr[9][0] := 'jbe/jna';
  arr[10][0] := 'ja/jnbe';
  arr[11][0] := 'js';
  arr[12][0] := 'jns';
  arr[13][0] := 'jp/jpe';
  arr[14][0] := 'jnp/jpo';
  arr[15][0] := 'jl/jnge';
  arr[16][0] := 'jge/jnl';
  arr[17][0] := 'jle/jng';
  arr[18][0] := 'jg/jnle';

  arr[1][1] := '-';
  arr[2][1] := '-';
  arr[3][1] := 'OF=1';
  arr[4][1] := 'OF=0';
  arr[5][1] := 'CF=1';
  arr[6][1] := 'CF=0';
  arr[7][1] := 'ZF=1';
  arr[8][1] := 'ZF=0';
  arr[9][1] := 'CF=1或ZF=1';
  arr[10][1] := 'CF=0或ZF=0';
  arr[11][1] := 'SF=1';
  arr[12][1] := 'SF=0';
  arr[13][1] := 'PF=1';
  arr[14][1] := 'PF=0';
  arr[15][1] := 'SF≠OF';
  arr[16][1] := 'SF=OF';
  arr[17][1] := 'SF≠0F或ZF=1';
  arr[18][1] := 'SF=OF且ZF=0';

  arr[1][2] := 'call调用指令';
  arr[2][2] := '无条件转移';
  arr[3][2] := '溢出';
  arr[4][2] := '无溢出';
  arr[5][2] := '低于/进位/不高于等于';
  arr[6][2] := '高于等于/不低于/无进位';
  arr[7][2] := '相等/等于0';
  arr[8][2] := '不相等/不等于0';
  arr[9][2] := '低于等于/不高于';
  arr[10][2] := '高于/不低于等于';
  arr[11][2] := '符号为负';
  arr[12][2] := '符号为正';
  arr[13][2] := '1的个数为偶';
  arr[14][2] := '1的个数为奇';
  arr[15][2] := '小于/不大于等于';
  arr[16][2] := '大于等于/不小于';
  arr[17][2] := '小于等于/不大于';
  arr[18][2] := '大于/不小于等于';


  arr[1][3] := 'E8xxxxxx';
  arr[2][3] := 'EBxx';
  arr[3][3] := '70xx';
  arr[4][3] := '71xx';
  arr[5][3] := '72xx';
  arr[6][3] := '73xx';
  arr[7][3] := '74xx';
  arr[8][3] := '75xx';
  arr[9][3] := '76xx';
  arr[10][3] := '77xx';
  arr[11][3] := '78xx';
  arr[12][3] := '79xx';
  arr[13][3] := '7Axx';
  arr[14][3] := '7Bxx';
  arr[15][3] := '7Cxx';
  arr[16][3] := '7Dxx';
  arr[17][3] := '7Exx';
  arr[18][3] := '7Fxx';



  arr[1][4] := 'E8xxxxxx';
  arr[2][4] := 'E9xxxxxx';
  arr[3][4] := '0F80xxxx';
  arr[4][4] := '0F81xxxx';
  arr[5][4] := '0F82xxxx';
  arr[6][4] := '0F83xxxx';
  arr[7][4] := '0F84xxxx';
  arr[8][4] := '0F85xxxx';
  arr[9][4] := '0F86xxxx';
  arr[10][4] := '0F87xxxx';
  arr[11][4] := '0F88xxxx';
  arr[12][4] := '0F89xxxx';
  arr[13][4] := '0F8Axxxx';
  arr[14][4] := '0F8Bxxxx';
  arr[15][4] := '0F8Cxxxx';
  arr[16][4] := '0F8Dxxxx';
  arr[17][4] := '0F8Exxxx';
  arr[18][4] := '0F8Fxxxx';


  StringGrid1.ColCount:=6;
  StringGrid1.RowCount:=19;
  StringGrid1.ColWidths[0]:=0;
  for i:=Low(arr) to High(arr) do
    for j:= Low(arr[i])+1 to High(arr[i])+1 do
    begin
      StringGrid1.Cells[j,i]:=arr[i][j-1]
    end;
end;

end.

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lizhipei78 发表于 2019-8-11 09:39
技术帖,不懂得,我以为是Excel表格呢,原来你这个是VBA自动
 楼主| 冥界3大法王 发表于 2019-8-11 10:24
本帖最后由 冥界3大法王 于 2019-8-11 10:28 编辑

知道了
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  arr:array[0..19,0..6] of string;
  i,j:integer;
begin
  arr[0][0] := '转移类别';
  arr[0][1] := '标志位';
  arr[0][2] := '含义';
  arr[0][3] := '短转移指令';
  arr[0][4] := '长转移指令';

  arr[1][0] := 'call';
  arr[2][0] := 'jmp';
  arr[3][0] := 'jo';
  arr[4][0] := 'jno';
  arr[5][0] := 'jb/jc/jnae';
  arr[6][0] := 'jae/jnb/jnc';
  arr[7][0] := 'je/jz';
  arr[8][0] := 'jne/jnz';
  arr[9][0] := 'jbe/jna';
  arr[10][0] := 'ja/jnbe';
  arr[11][0] := 'js';
  arr[12][0] := 'jns';
  arr[13][0] := 'jp/jpe';
  arr[14][0] := 'jnp/jpo';
  arr[15][0] := 'jl/jnge';
  arr[16][0] := 'jge/jnl';
  arr[17][0] := 'jle/jng';
  arr[18][0] := 'jg/jnle';

  arr[1][1] := '-';
  arr[2][1] := '-';
  arr[3][1] := 'OF=1';
  arr[4][1] := 'OF=0';
  arr[5][1] := 'CF=1';
  arr[6][1] := 'CF=0';
  arr[7][1] := 'ZF=1';
  arr[8][1] := 'ZF=0';
  arr[9][1] := 'CF=1或ZF=1';
  arr[10][1] := 'CF=0或ZF=0';
  arr[11][1] := 'SF=1';
  arr[12][1] := 'SF=0';
  arr[13][1] := 'PF=1';
  arr[14][1] := 'PF=0';
  arr[15][1] := 'SF≠OF';
  arr[16][1] := 'SF=OF';
  arr[17][1] := 'SF≠0F或ZF=1';
  arr[18][1] := 'SF=OF且ZF=0';

  arr[1][2] := 'call调用指令';
  arr[2][2] := '无条件转移';
  arr[3][2] := '溢出';
  arr[4][2] := '无溢出';
  arr[5][2] := '低于/进位/不高于等于';
  arr[6][2] := '高于等于/不低于/无进位';
  arr[7][2] := '相等/等于0';
  arr[8][2] := '不相等/不等于0';
  arr[9][2] := '低于等于/不高于';
  arr[10][2] := '高于/不低于等于';
  arr[11][2] := '符号为负';
  arr[12][2] := '符号为正';
  arr[13][2] := '1的个数为偶';
  arr[14][2] := '1的个数为奇';
  arr[15][2] := '小于/不大于等于';
  arr[16][2] := '大于等于/不小于';
  arr[17][2] := '小于等于/不大于';
  arr[18][2] := '大于/不小于等于';

  arr[1][3] := 'E8xxxxxx';
  arr[2][3] := 'EBxx';
  arr[3][3] := '70xx';
  arr[4][3] := '71xx';
  arr[5][3] := '72xx';
  arr[6][3] := '73xx';
  arr[7][3] := '74xx';
  arr[8][3] := '75xx';
  arr[9][3] := '76xx';
  arr[10][3] := '77xx';
  arr[11][3] := '78xx';
  arr[12][3] := '79xx';
  arr[13][3] := '7Axx';
  arr[14][3] := '7Bxx';
  arr[15][3] := '7Cxx';
  arr[16][3] := '7Dxx';
  arr[17][3] := '7Exx';
  arr[18][3] := '7Fxx';

  arr[1][4] := 'E8xxxxxx';
  arr[2][4] := 'E9xxxxxx';
  arr[3][4] := '0F80xxxx';
  arr[4][4] := '0F81xxxx';
  arr[5][4] := '0F82xxxx';
  arr[6][4] := '0F83xxxx';
  arr[7][4] := '0F84xxxx';
  arr[8][4] := '0F85xxxx';
  arr[9][4] := '0F86xxxx';
  arr[10][4] := '0F87xxxx';
  arr[11][4] := '0F88xxxx';
  arr[12][4] := '0F89xxxx';
  arr[13][4] := '0F8Axxxx';
  arr[14][4] := '0F8Bxxxx';
  arr[15][4] := '0F8Cxxxx';
  arr[16][4] := '0F8Dxxxx';
  arr[17][4] := '0F8Exxxx';
  arr[18][4] := '0F8Fxxxx';

  StringGrid1.ColCount:=6;
  StringGrid1.RowCount:=19;
  StringGrid1.ColWidths[0]:=0;
  for i:=Low(arr) to High(arr) do
    for j:= Low(arr)+1 to High(arr)+1 do
    begin
      StringGrid1.Cells[j,i]:=arr[j-1]
    end;
  StringGrid1.ColWidths[0] := 0;
  StringGrid1.ColWidths[1] := 110;
  StringGrid1.ColWidths[2] := 166;
  StringGrid1.ColWidths[3] := 166;
  StringGrid1.ColWidths[4] := 90;
  StringGrid1.ColWidths[5] := 90;
end;
end.
这样就OK了。
jackroc 发表于 2019-8-11 10:28
 楼主| 冥界3大法王 发表于 2019-8-11 10:29
jackroc 发表于 2019-8-11 10:28
看不懂 都是大佬

和沙发一样的实在。生活中肯定好骗的很。
wuboxun 发表于 2019-8-11 10:34
收藏学习了
gqn295104546 发表于 2019-8-12 10:55
不知道这事啥
苍小虎 发表于 2019-8-13 22:26
DELPHI7学习中。。。。。
Fris 发表于 2019-8-14 08:27
记得楼主之前装的xe什么的,怎么又用回d7了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 02:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表