S. A. Arkadaşlar. Öncelikle herkese iyi akşamlar.
viewtopic.php?f=2&t=28118 adresinde yetkilendirmeler ile ilgili bir konu açtım ama ya ben konuyu tam olarak aktaramadığımdan ya da yanlış bir yere açtığımdan olsa gerek çok da doyurucu bir sonuç alamadım. Bu konu yetkilendirmeyle ilgiliydi ama yapmak istediğim şey tam olarak şu:
bileşenlerin isimlerini ve tiplerini veritabanında tutuyorum. yaptığım sorgulamada sorgu sonucuna denk gelen bileşenleri yine aynı tabloda gelen bir değere göre görünür ya da görünmez yapmak istiyorum.
gelen string değeri bileşene dönüştüremediğim için visible özelliğini değiştiremiyorum.
Bu konuda nasıl bir yöntem izleyebilirim.
viewtopic.php?f=2&t=28118 adresinde tablo detayları yer almaktadır.
ilginizden dolayı şimdiden teşekkür eder herkese iyi akşamlar dilerim.
stringten bileşene?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sarp_halit
- Üye
- Mesajlar: 241
- Kayıt: 17 Ara 2003 04:30
- Konum: Cennet Fethiye
- İletişim:
stringten bileşene?
Fethiye den herkese sevgiler ...
X))@:>
X))@:>
Re: stringten bileşene?
Eğer yanlış anlamadıysam FindComponent fonksiyonu işinizi görmesi lazım. Örneğin;
Kod: Tümünü seç
var MyComp: TComponent;
begin
MyComp := FindComponent("strCompName");
If MyComp is TButton then
TButton(MyComp).Visible:= False;
end;
There's no place like 127.0.0.1
- sarp_halit
- Üye
- Mesajlar: 241
- Kayıt: 17 Ara 2003 04:30
- Konum: Cennet Fethiye
- İletişim:
Re: stringten bileşene?
eğer bileşenleri tek tek kontrol etmek istersem o zaman findcomponents fonksiyonunu kullanmamda herhangi bir problem yok. ama ben toplu olarak bu kontrolü yapmak istiyorum. sorunda bu noktada ortaya çıkıyor.
ben bileşenle birlikte bileşen türünü de veritabanında saklıyorum. eğer bileşen bir ttoolbutton ise bileşen adının yanında btnYeni gibi.
örneğin:
bu benim de düşündüğüm alternatiflerden birisi. bir diğeri de
bu noktada tıkandım kaldım. nasıl çıkacağımı da bilemedim.
ilgin için teşekkür ederim. iyi akşamlar.
ben bileşenle birlikte bileşen türünü de veritabanında saklıyorum. eğer bileşen bir ttoolbutton ise bileşen adının yanında btnYeni gibi.
örneğin:
Kod: Tümünü seç
var bilesen:TComponent;
begin
bilesen:=FindComponents(veritabanindangelenbilesenadialani);
if bilesen is [b]bilesentipi[/b] Then
veritabanindakibilesentipi(bilesenadi).Visible=veritabanindakiyetkidegeri=1;
end;
Kod: Tümünü seç
var i:integer;
bilesen:TComponent;
begin
for i:=0 to ComponentsCount-1 do
begin
bilesen:=Components[i];
//burada yapmak istediğim şey
if LowerCase(bilesen.Name)=LowerCase(veritabanindakibilesenadi) Then
bilesen.Visible:=veritabanindakiyetkialani=1; // tabi burada visible özelliğini bu şekilde kullanamıyorum.
end;
ilgin için teşekkür ederim. iyi akşamlar.
Fethiye den herkese sevgiler ...
X))@:>
X))@:>
Re: stringten bileşene?
Nasıl bir yetkilendirme sistemin var senin anlamadım. İğneden ipliğe yetki mi tanımlıyorsun
Yaptıkların sanki işini zorlaştırmaktan ibaret...neyse kolay gelsin

- sarp_halit
- Üye
- Mesajlar: 241
- Kayıt: 17 Ara 2003 04:30
- Konum: Cennet Fethiye
- İletişim:
Re: stringten bileşene?
biraz öyle gibi. tablonun bir tanesinde form isimleri ve bu formlar üzerindeki bileşenlerin tipleri ve isimleri var. yetkiler tablosunda ise bütün bunlara ek olarak yetki adı, kullanıcı adı, ve yetki alanları var.
yetki adı alanını bileşenlere verecek olduğum yetkileri toplu olarak değiştirmek için bir yöntem. yani bir checkbox işaretlendiğinde eğer seçildiyse yetki adı o olan bütün bileşenleri otomatik olarak 0 yap eğer işaretliyse 1 yap gibisinden bir mantık için hazırlandı.
sanırım bunu yapabilecek bilgi ve tecrübeye sahip değillim ya da böyle bir şey delphi ile mümkün değil.
benzer örneklerini vb ve c# ile denedim ( internet üzerinde derin araştırmalar sonucunda örnekler vasıtasıyla) ama delphi de takıldım kaldım
işin içinden çıkamadıkça geliştirdiğim projeye karşı bir soğukluk oluşmaya başladı.
neyse, yapacak bir şey yok artık. herkese iyi akşamlar dilerim. bu arada bugün kandil ve herkesin kandili mübarek olsun.
yetki adı alanını bileşenlere verecek olduğum yetkileri toplu olarak değiştirmek için bir yöntem. yani bir checkbox işaretlendiğinde eğer seçildiyse yetki adı o olan bütün bileşenleri otomatik olarak 0 yap eğer işaretliyse 1 yap gibisinden bir mantık için hazırlandı.
sanırım bunu yapabilecek bilgi ve tecrübeye sahip değillim ya da böyle bir şey delphi ile mümkün değil.
benzer örneklerini vb ve c# ile denedim ( internet üzerinde derin araştırmalar sonucunda örnekler vasıtasıyla) ama delphi de takıldım kaldım

işin içinden çıkamadıkça geliştirdiğim projeye karşı bir soğukluk oluşmaya başladı.
neyse, yapacak bir şey yok artık. herkese iyi akşamlar dilerim. bu arada bugün kandil ve herkesin kandili mübarek olsun.
Fethiye den herkese sevgiler ...
X))@:>
X))@:>
Re: stringten bileşene?
Şöyle birşey yapmalısın ama tüm bileşenleri kontrol ettirmen lazım. veritabanından gelen değerlere göre de true false yapacaksın sadece.
Kod: Tümünü seç
var
i:integer;
bilesen:TComponent;
begin
for i:=0 to ComponentCount-1 do
begin
bilesen:=Components[i];
// if LowerCase(bilesen.Name)=LowerCase(veritabanindakibilesenadi) Then
//ilesen.Visible:=veritabanindakiyetkialani=1; // tabi burada visible özelliğini bu şekilde kullanamıyorum.
if bilesen is TEdit then (bilesen as TEdit).Visible := false;
if bilesen is TCheckBox then (bilesen as TCheckBox).Visible := false;
if bilesen is TLabel then (bilesen as TLabel).Visible := false;
end;
end;
- sarp_halit
- Üye
- Mesajlar: 241
- Kayıt: 17 Ara 2003 04:30
- Konum: Cennet Fethiye
- İletişim:
Re: stringten bileşene?
en son çare olarak bu şekilde yapmak gerek tabi. ben bu kontrolleri otomatik yaptırabilir miyim diye düşünmüştüm ama zaten bir form üzerinde kontrol edeceğim bileşen sayısı kaç tane olabilir ki 
ilginizden dolayı hepinize teşekkür ederim arkadaşlar.
iyi günler dilerim.

ilginizden dolayı hepinize teşekkür ederim arkadaşlar.
iyi günler dilerim.
Fethiye den herkese sevgiler ...
X))@:>
X))@:>