arkadaşlar şöyle bir procedure yapmak istedim fakat hatam var ama bulamadım bilen varsa yardımcı olabilirmi.
yapmak istediğim, şu formdaki şu edite göre ara
PROCEDURE ARADENEME(HANGIFORM:TFORM; HANGIEDIT:TspSkinEdit );
TSTOK.Filtered:=False;
TSTOK.FilterOptions:=[focaseinsensitive];
TSTOK.Filter:='Barkodu='+QuotedStr(HANGIFORM.Components.Name).HANGIEDIT.Text+'*');
TSTOK.Filtered:=True;
END;
[Çözüldü ] FormAdı Component name
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: [Çözüldü ] FormAdı Component name
Arkadaşlar çözdüm. Kullanmak isteyenler için kodu veriyorum. Teşekkürler.
Kullanım şekli
Kod: Tümünü seç
PROCEDURE ARA(HANGIFORM:TFORM;HANGIEDIT:TspSkinEdit;NEYEGORE:INTEGER);
BEGIN
Table1.Filtered:=False;
Table1.FilterOptions:=[focaseinsensitive];
Table1.Filter:='Adi='+QuotedStr(HANGIEDIT.Text+'*');
Table1.Filtered:=True;
END;
Kod: Tümünü seç
ARA(Form1,spSkinEdit2,1);
-
- Üye
- Mesajlar: 135
- Kayıt: 14 Kas 2005 12:24
Re: [Çözüldü ] FormAdı Component name
Bir ara delphiabout sitesinden bununla ilgili bir fonksiyon bulmuştum.
Çok işe yarayan bir fonksiyon. (Uses deyimine iş bırakmıyor neredeyse ).
Herhangi bir yerde kullanmak için ise;
Siz kendinize göre düzenlersiniz.
Çok işe yarayan bir fonksiyon. (Uses deyimine iş bırakmıyor neredeyse ).
Kod: Tümünü seç
function FindComponentEx(const Name: string): TComponent;
var
FormName: string;
CompName: string;
P: Integer;
Found: Boolean;
Form: TForm;
I: Integer;
begin
// Split up in a valid form and a valid component name
P := Pos('.', Name);
if P = 0 then
begin
raise Exception.Create('No valid form name given');
end;
FormName := Copy(Name, 1, P - 1);
CompName := Copy(Name, P + 1, High(Integer));
Found := False;
// find the form
for I := 0 to Screen.FormCount - 1 do
begin
Form := Screen.Forms[I];
// case insensitive comparing
if AnsiSameText(Form.Name, FormName) then
begin
Found := True;
Break;
end;
end;
if Found then
begin
for I := 0 to Form.ComponentCount - 1 do
begin
Result := Form.Components[I];
if AnsiSameText(Result.Name, CompName) then
Exit;
end;
end;
Result := nil;
end;
Herhangi bir yerde kullanmak için ise;
Kod: Tümünü seç
var
sButton: TComponent;
begin
sButton := FindComponentEx('Form1.btn1');
TButton(sButton).Click;
end;
Re: [Çözüldü ] FormAdı Component name
oo çok teşekkürler süpermiş. Bende şöyle değiştirdim belki yararı olur.
Kullanımı
Kod: Tümünü seç
PROCEDURE ARAMA(DATA_ADI:TTable; ARANACAKALAN:STRING; HANGIFORM:TFORM; HANGIEDIT:TspSkinEdit);
BEGIN
IF HANGIEDIT.Text='' THEN BEGIN
DATA_ADI.Filtered:=False;
END ELSE BEGIN
DATA_ADI.Filtered:=False;
DATA_ADI.FilterOptions:=[focaseinsensitive];
DATA_ADI.Filter:=ARANACAKALAN+'='+QuotedStr(HANGIEDIT.Text+'*');
DATA_ADI.Filtered:=True;
END;
END;
ARAMA(Table1,'Adi',MUSTERILERFRM,Adi);