كيف التحكم في عناصر جملة SQL؟
#8
(05-03-2020, 06:18 PM)S.FATEH كتب : السلام عليكم

بالنسبة للـ Sender

Parent, Sender,Owner, ControlCount, ComponentCount


هذا حل اخر باستخدام TStringList لم اجرب كثيرا عليه يمكنك تعديله بما يناسبك
PHP كود :
unit Unit1;

interface

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

type
  TForm1 
= class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    Button1: TButton;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    OrderByClause: TStringList;
    S: string;
    function BuildSql(ASQl: string): string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function 
TForm1.BuildSql(ASQl: string): string;
var
  I: Integer;
begin
  
if OrderByClause.Count = 0 then
  begin
    
Exit;
    S := '';
  end;
  S := 'order by ';
  I := 0;
  while OrderByClause.Count - 1 <> I  do
  begin
    S 
:= S + OrderByClause[I] + ', ';
    Inc(I);
  end;
  S := S + OrderByClause[OrderByClause.Count - 1];
  Result := ASQl + ' ' + S;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1
.Caption := BuildSql('select from table');
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
var
  CheckBoxComponent: TCheckBox;
begin
  CheckBoxComponent 
:= TCheckBox(Sender);
  if CheckBoxComponent.Checked then
    OrderByClause
.Add(CheckBoxComponent.Caption)
  else
    OrderByClause.Delete(OrderByClause.IndexOf(CheckBoxComponent.Caption));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  OrderByClause 
:= TStringList.Create;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  OrderByClause
.Free;
end;

end. 

جزاك الله خير
جاري التجربه
[-] كل من 1 user says قال شكرا ل ALG2009 على المشاركة المفيدة
  • S.FATEH
الرد


الردود في هذا الموضوع
كيف التحكم في عناصر جملة SQL؟ - بواسطة ALG2009 - 03-03-2020, 09:34 PM
RE: كيف التحكم في عناصر جملة SQL؟ - بواسطة ALG2009 - 05-03-2020, 07:36 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم