zoukankan      html  css  js  c++  java
  • ShowModal在FireMonkey移动应用程序对话框

    This is the only code that changes between the first and second code snippets:
     dlg.ShowModal(procedure(ModalResult: TModalResult)
        begin
          if ModalResult = mrOK then
          // if OK was pressed and an item is selected, pick it
          if dlg.ListBox1.ItemIndex >= 0 then
            edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
          dlg.DisposeOf;
        end);
    复制代码
     dlg.ShowModal(procedure(ModalResult: TModalResult)
        begin
          if ModalResult = mrOK then
          // if OK was pressed and an item is selected, pick it
          if dlg.ListBox1.ItemIndex >= 0 then
            edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
          dlg.DisposeOf;
        end);
    复制代码

    第一个代码片段:典型的代码调用的ShowModal

    procedure THeaderFooterForm.btnPickClick(Sender: TObject);
    var
      dlg: TForm1;
    begin
      dlg := TForm1.Create(nil);
      try
        // select current value, if avaialble in the list
        dlg.ListBox1.ItemIndex := dlg.ListBox1.Items.IndexOf(edit1.Text);
     
        if dlg.ShowModal = mrOK then
          // if OK was pressed and an item is selected, pick it
          if dlg.ListBox1.ItemIndex >= 0 then
            edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
      finally
        dlg.Free;
      end;
     
    end;
    复制代码
    procedure THeaderFooterForm.btnPickClick(Sender: TObject);
    var
      dlg: TForm1;
    begin
      dlg := TForm1.Create(nil);
      try
        // select current value, if avaialble in the list
        dlg.ListBox1.ItemIndex := dlg.ListBox1.Items.IndexOf(edit1.Text);
     
        if dlg.ShowModal = mrOK then
          // if OK was pressed and an item is selected, pick it
          if dlg.ListBox1.ItemIndex >= 0 then
            edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
      finally
        dlg.Free;
      end;
     
    end;
    复制代码

    伪代码典型的ShowModal代码片段解读

    这里是一个描述每个此过程的一部分:

    声明局部变量
    dlg: TForm1;
    创建表格的形式和初始化成员
    dlg := TForm1.Create(nil);
            dlg.ListBox1.ItemIndex := dlg.ListBox1.Items.IndexOf(edit1.Text);
    显示的形式模态
    if dlg.ShowModal = mrOK then
    检查用户的结果和处理数据
    if dlg.ListBox1.ItemIndex >= 0 then
          edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
     释放表单 dlg.Free;
    复制代码
    声明局部变量
    dlg: TForm1;
    创建表格的形式和初始化成员
    dlg := TForm1.Create(nil);
            dlg.ListBox1.ItemIndex := dlg.ListBox1.Items.IndexOf(edit1.Text);
    显示的形式模态
    if dlg.ShowModal = mrOK then
    检查用户的结果和处理数据
    if dlg.ListBox1.ItemIndex >= 0 then
          edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
     释放表单 dlg.Free;
    复制代码

    第二个代码片段:作为一个匿名的方式在所有平台上调用的ShowModal

    随着移动平台,你应该改变这种代码,悦目,让所有支持的目标平台上工作的ShowModal

    procedure THeaderFooterForm.btnPickClick(Sender: TObject);
    var
      dlg: TForm1;
    begin
      dlg := TForm1.Create(nil);
      // select current value, if available in the list
      dlg.ListBox1.ItemIndex := dlg.ListBox1.Items.IndexOf(edit1.Text);
     
      dlg.ShowModal(procedure(ModalResult: TModalResult)
        begin
          if ModalResult = mrOK then
          // if OK was pressed and an item is selected, pick it
          if dlg.ListBox1.ItemIndex >= 0 then
            edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
          dlg.DisposeOf;
        end);
     
    end;
    复制代码
    procedure THeaderFooterForm.btnPickClick(Sender: TObject);
    var
      dlg: TForm1;
    begin
      dlg := TForm1.Create(nil);
      // select current value, if available in the list
      dlg.ListBox1.ItemIndex := dlg.ListBox1.Items.IndexOf(edit1.Text);
     
      dlg.ShowModal(procedure(ModalResult: TModalResult)
        begin
          if ModalResult = mrOK then
          // if OK was pressed and an item is selected, pick it
          if dlg.ListBox1.ItemIndex >= 0 then
            edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
          dlg.DisposeOf;
        end);
     
    end;
    复制代码

    匿名方法的ShowModal代码片段的伪代码解读

    这里是一个描述发生了什么(做同样的事情,第一个代码段)在第二个代码片段:

    复制代码
    Declare local variables
        dlg: TForm1;
    
    Create form and initialize member in the form
        dlg := TForm1.Create(nil);
            dlg.ListBox1.ItemIndex := dlg.ListBox1.Items.IndexOf(edit1.Text);
    
    Show the form modal
          dlg.ShowModal(procedure(ModalResult: TModalResult)
    
    Check the user's result and process the data
        if ModalResult = mrOK then
          if dlg.ListBox1.ItemIndex >= 0 then
            edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
    
    Free the form
              dlg.DisposeOf;
    复制代码
    Declare local variables
        dlg: TForm1;
    
    Create form and initialize member in the form
        dlg := TForm1.Create(nil);
            dlg.ListBox1.ItemIndex := dlg.ListBox1.Items.IndexOf(edit1.Text);
    
    Show the form modal
          dlg.ShowModal(procedure(ModalResult: TModalResult)
    
    Check the user's result and process the data
        if ModalResult = mrOK then
          if dlg.ListBox1.ItemIndex >= 0 then
            edit1.Text := dlg.ListBox1.Items [dlg.ListBox1.ItemIndex];
    
    Free the form
              dlg.DisposeOf;
  • 相关阅读:
    挺喜欢的一幅摄影作品,不知道作者 不知道出处...
    使用触发器来监控表的使用情况
    SQL Server 针对表的只读权限分配
    tnslsnr.exe进程占用大量内存的解决.
    记录一次MYSQL的备份(浅尝辄止型)
    记录temp被撑爆的一次SQL tuning
    Bug 5880921 V$SYSMETRIC_HISTORY 的时间错乱
    sqlite3学习记录
    指针 数组指针 指针数组 函数指针等说明。
    c/c++ 运算符 优先级 结合性 记录
  • 原文地址:https://www.cnblogs.com/china1/p/3377655.html
Copyright © 2011-2022 走看看