小编avu*_*vue的帖子

使用SuperObject访问JSON数组

我最近已经从使用ULKJson切换到SuperObject,我一直在寻找包装附带的示例,并且已经取得了一些进展,但是看起来我遇到了障碍.更具体地说,我似乎无法找到一个示例来说明如何访问数组中的项目,如下例中的项目.

{
  "name": "John Smith",
  "tel": 555-5555,
  "age": 18,
  "height": 1.8,
  "place": [{"address": "PO Box 1234", "city": "Florida", "code": 2000},
            {"address": "1 Sparrow street", "city": "Florida", "code": 2000}]
}
Run Code Online (Sandbox Code Playgroud)

要访问常规项目,我使用以下代码似乎工作得很好.

procedure TForm1.Button1Click(Sender: TObject);
var
  SO : ISuperObject;
  age, height, tel : Integer;
  name : String;
begin
  SO := TSuperObject.ParseFile('JSON.txt',true);
  name := SO.S['name'];
  age := SO.I['age'];
  tel := SO.I['tel'];
  height := SO.I['height'];

  Memo1.Lines.Clear;

  Memo1.Lines.Add('Name: ' + name);
  Memo1.Lines.Add(#10#13);

  Memo1.Lines.Add('Age: ' + age);
  Memo1.Lines.Add(#10#13);

  Memo1.Lines.Add('Telephone: ' + tel);
  Memo1.Lines.Add(#10#13);

  Memo1.Lines.Add('Height: ' + …
Run Code Online (Sandbox Code Playgroud)

arrays delphi json superobject

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

确保始终选择TPopup菜单中的至少一个项目

我有TPopup菜单,其中3项设置具有以下属性.

AutoCheck = True
RadioItem = True
Run Code Online (Sandbox Code Playgroud)

并且对于第一个菜单项我也将Checked属性设置为True,因此菜单最初显示时至少选择了1个项目.这一切都很好,但是如果我点击当前选中的项目,则检查(点)消失,我想做到这样,以便始终选择弹出窗口中的至少1个项目.我该怎么做呢?

delphi popup radio-group

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

使用delphi列出字符串网格中目录中的所有文件

我正在使用Delphi 7,我想列出字符串网格中给定目录中的所有文件(每行一个文件,1列中的所有文件).我已经搜索了大约一个小时,但是找不到任何关于如何做到这一点的例子,所以你能提供的任何帮助都将受到赞赏.

delphi tstringgrid filelist

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

在Delphi中检索listview项值的正确方法是什么

现在我使用以下代码获取ListView项值,我想知道这是否是正确的方法,或者我应该以另一种方式.

父项值的示例:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(ListView1.Selected.Caption);
end;
Run Code Online (Sandbox Code Playgroud)

子项值的示例:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(ListView1.Selected.SubItems.Strings[items_index_here]);
end;
Run Code Online (Sandbox Code Playgroud)

delphi tlistview

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