Aşağıdaki gibi birşey yapmak istiyorum ama kodların doğru yazılışı nasıl olmalı acaba
procedure Tfrmogrenciler.Edit1Change(Sender: TObject);
begin
Case RadioGroup1.ItemIndex of
0 : kriter:='ONO'
1 : kriter:='OAD'
2 : kriter:='OSOYAD'
IbQuery1.Close;
IbQuery1.Sql.Clear;
IbQuery1.Sql.Add('Select * From ogrenci Where 'kriter' like' );
IbQuery1.Sql.Add('''%'+Trim(Edit1.Text)+'%''');
IbQuery1.Open;
end;
'kriter'
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
hocam anladığım kadarı ile sen arama yapmak istiyosun
sana bi component veriyorum
database de istediğin alanı seç ve arama yap
sana bi component veriyorum
database de istediğin alanı seç ve arama yap
Kod: Tümünü seç
unit SearchEdit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DbCtrls;
type
TCustomSearchEdit = class(TCustomEdit)
private
{ Private declarations }
FDataLink: TFieldDataLink;
FSearchOptions: TLocateOptions;
procedure DataChange(Sender : Tobject);
function GetDataSource : TDataSource;
function GetDataField : string;
procedure SetDataSource(Value : TDataSource);
procedure SetDataField(const Value : string);
procedure SetSearchOptions(const Value :TLocateOptions);
procedure CMChanged(var Message: TMessage); message CM_CHANGED;
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property SearchOptions: TLocateOptions read FSearchOptions
write SetSearchOptions default [loCaseInsensitive, loPartialKey];
published
{ Published declarations }
property DataSource: TDataSource read GetDataSource write SetDataSource;
property DataField: string read GetDataField write SetDataField;
property TabStop default True;
end;
TSearchEdit = class(TCustomSearchEdit)
published
property SearchOptions default [loCaseInsensitive, loPartialKey];
property AutoSelect;
property AutoSize;
property BorderStyle;
property CharCase;
property Color;
property Ctl3D;
property DragCursor;
property DragMode;
property Enabled;
property Font;
property HideSelection;
property ImeMode;
property ImeName;
property MaxLength;
property OEMConvert;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PasswordChar;
property PopupMenu;
property ReadOnly;
property ShowHint;
property TabOrder;
property TabStop;
property Text;
property Visible;
property OnChange;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDrag;
end;
procedure Register;
implementation
constructor TCustomSearchEdit.Create;
begin
inherited Create(AOwner);
FDataLink := TFieldDataLink.Create;
FDataLink.Control := Self;
FDataLink.OnDataChange := DataChange;
FSearchOptions := [loCaseInsensitive, loPartialKey];
end;
destructor TCustomSearchEdit.Destroy;
begin
FDataLink.Free;
FDataLink := nil;
inherited Destroy;
end;
procedure TCustomSearchEdit.DataChange(Sender: TObject);
begin
if FDataLink.Field <> nil then
begin
if Screen.ActiveControl <> Self then
begin
if FDataLink.CanModify then
Text := FDataLink.Field.Text
else
begin
Text := FDataLink.Field.DisplayText;
end;
SelectAll;
end;
end else
begin
if csDesigning in ComponentState then
Text := Name else
Text := '';
end;
end;
procedure TCustomSearchEdit.CMChanged;
begin
if not ((csDesigning in ComponentState) and
(csLoading in ComponentState)) then
begin
if Screen.ActiveControl = Self then
FDataLink.DataSet.Locate(FDataLink.FieldName, Text,
FSearchOptions);
end;
end;
function TCustomSearchEdit.GetDataSource: TDataSource;
begin
Result := FDataLink.DataSource;
end;
procedure TCustomSearchEdit.SetDataSource(Value: TDataSource);
begin
FDataLink.DataSource := Value;
if Value <> nil then Value.FreeNotification(Self);
end;
function TCustomSearchEdit.GetDataField: string;
begin
Result := FDataLink.FieldName;
end;
procedure TCustomSearchEdit.SetDataField(const Value: string);
begin
FDataLink.FieldName := Value;
end;
procedure TCustomSearchEdit.SetSearchOptions(const Value :TLocateOptions);
begin
FSearchOptions := Value;
end;
procedure Register;
begin
RegisterComponents('ERKAN', [TSearchEdit]);
end;
end.
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
merhaba
ben arama yaptırıken 2 tane radiogroup kullanıyordum sen bir tane kullanacaksan radiogroup2 olan kısımları kaldırır , aşağıdaki kodları kendine göre düzenlersin
Kolay gelsin.
ben arama yaptırıken 2 tane radiogroup kullanıyordum sen bir tane kullanacaksan radiogroup2 olan kısımları kaldırır , aşağıdaki kodları kendine göre düzenlersin

Kod: Tümünü seç
procedure Taraform.cxTextEdit1PropertiesChange(Sender: TObject);
var
deger : string;
begin
Deger:='';
case cxradiogroup1.itemindex of
0 : if cxradiogroup2.itemindex = 0 then
deger := 'where ADI like '+Quotedstr(cxtextedit1.Text+'%')
else deger := 'where ADI like '+Quotedstr('%'+cxtextedit1.Text+'%');
1 : if cxradiogroup2.ItemIndex = 0 then
deger := 'where SOYADI like '+QuotedStr(cxtextedit1.Text+'%')
else deger := 'where SOYADI like '+QuotedStr('%'+cxtextedit1.Text+'%');
End;
if deger <> '' then
Begin
dm.sorgu.Close;
dm.sorgu.SQL.Clear;
Dm.sorgu.SQL.Text:='select SENET_NO,ADI,SOYADI,TEL,GSM,VERGI_NO,ADRES,ACIKLAMA from SENET '+deger;
Dm.sorgu.Open;
End else
Begin
dm.sorgu.Close;
dm.sorgu.SQL.Clear;
Dm.sorgu.SQL.Text:='select SENET_NO,ADI,SOYADI,TEL,GSM,VERGI_NO,ADRES,ACIKLAMA from SENET ';
Dm.sorgu.Open;
End;
end;
Bilginin temelini sağlam at depremde zarar görmesin
Dogru Kod asagidaki gibi olmali
Kod: Tümünü seç
rocedure Tfrmogrenciler.Edit1Change(Sender: TObject);
begin
Case RadioGroup1.ItemIndex of
0 : kriter:='ONO'
1 : kriter:='OAD'
2 : kriter:='OSOYAD'
IbQuery1.Close;
IbQuery1.Sql.Clear;
IbQuery1.Sql.Add('Select * From ogrenci Where '+kriter+' like '+QuotedStr('%'+Trim(Edit1.Text)+'%');
IbQuery1.Open;
end;
Aşağıdaki şekilde oluyor ama büyük küçük harf duyarlılığı oluyor.büyük küçük harf duyarlılığı olmaması için ne yapmam lazım.
procedure Tfrmogrenciler.Edit1Change(Sender: TObject);
var kriter :string;
begin
Case RadioGroup1.ItemIndex of
0 : kriter:='ONO';
1 : kriter:='OAD' ;
2 : kriter:='OSOYAD' ;
end;
IbQuery1.Close;
IbQuery1.Sql.Clear;
IbQuery1.Sql.Add('Select * From ogrenci Where '+kriter+' like '+QuotedStr('%'+Trim(Edit1.Text)+'%'));
IbQuery1.Open;
end;
procedure Tfrmogrenciler.Edit1Change(Sender: TObject);
var kriter :string;
begin
Case RadioGroup1.ItemIndex of
0 : kriter:='ONO';
1 : kriter:='OAD' ;
2 : kriter:='OSOYAD' ;
end;
IbQuery1.Close;
IbQuery1.Sql.Clear;
IbQuery1.Sql.Add('Select * From ogrenci Where '+kriter+' like '+QuotedStr('%'+Trim(Edit1.Text)+'%'));
IbQuery1.Open;
end;