formu oynatma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

formu oynatma

Mesaj gönderen bgoktas »

Arkadaşlar başlık biraz tuhaf ama yapmak isediğimi anlatıyor;

Şimdi linux mandrake kullananlar bilirler sistem açılışında yanlış şifre girildiğinde şifre formu şöyle bir 6.5 şiddetinde sallanıyor. Güzel bir efekt oluyor. Bende programımın şifre kısmına böyle bir şey yapmak istiyorum. Böyle bir yöntem veya tool bilen varmı ? Şimdiden teşekkürler.

Birde biryerde şöyle birşey gördüm; form kapanırken bir girdap gibi kapanıyor. müthiş bir görünüm getiriyor.

Bu konularda yardım ederseniz sevinirim. İyi Günler...
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Formu Sallama olayını Formun pozisyonarıyla kodlama yaparsan yapabileceğin kanısındayım.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

ehühüüh çok komik oldu valla bi dene,

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
    x,y:integer;
begin
randomize;
 x:=form1.Left;
 y:=form1.Top;

i:=0;
while(i<=100) do
begin
 inc(i);
 application.ProcessMessages;
 form1.Left:=form1.Left+(random(20)-10);
 form1.Top:=form1.Top+(random(20)-10);
 sleep(10);
end;

 form1.Left:=x;
 form1.Top:=y;

end;
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Mege seninki bayağı güzel olmuş :)

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
    i:Integer;
begin
    i:=0;
    for i := 0 to 50 do
    begin
        Form1.Top := Form1.Top + i;
        Form1.Top := Form1.Top - i;
        Form1.Left := Form1.Left + i;
        Form1.Left := Form1.Left - i;
    End;

    Close;
end;
Bitanede benden.


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

Vallaha çok güzel olmuş biraz kafa yorarsam olucak gibi. Ben random değilde standart bir eksende(olduğu yerde) kafasını sağa sola sallayan bir form oluşturmak istiyorum... Yani formun left ve top u ile değilde yani nasıl anlatsam açısıyla ilgili bir olay galiba ama çözemezsem sizin yaptıklarınızda çok güzel

Sorumun 2. şıkkı konusunda bildiğiniz bir tool varmı acaba?
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

ikinci sorunla ilgili daha önce bir bileşen görmüştüm onuda bi bakayım, inşallah silmemişimdir.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
    x,y:integer;
begin
  randomize;
  x:=form1.Left;
  y:=form1.Top;

  i:=0;
  while(i<=100) do
  begin
   inc(i);
   application.ProcessMessages;
   form1.Left:=form1.Left+(random(20)-10);
   form1.Top:=form1.Top+(random(20)-10);
   sleep(10);
  end;

  while ((form1.Left<>x) and (form1.Top<> y)) do
  begin
   application.ProcessMessages;
   if (form1.Left > x) then
    form1.Left := form1.Left - 1
   else if (form1.Left < x) then
    form1.Left := form1.Left + 1;

   if (form1.top > y) then
    form1.top := form1.top - 1
   else if (form1.top < y) then
    form1.top := form1.top + 1;
   sleep(10);
  end;
end;
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

This is showtime :)
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

MicroChip yazdı:This is showtime :)
:?: :?: :?:
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

Mege üstad çok güzel olmuş ancak ben denerken farkettim daha sonra kullanacak arkadaşlara lazım olur düşüncesi ile..

Kod: Tümünü seç

  while ((form1.Left<>x) and (form1.Top<> y)) do 
satırındaki and operatörü yerine or operatörünü kullanırsak formun eski yerine gelmesini garantilemiş oluruz..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

TRSoft yazdı:Mege üstad çok güzel olmuş ancak ben denerken farkettim daha sonra kullanacak arkadaşlara lazım olur düşüncesi ile..

Kod: Tümünü seç

  while ((form1.Left<>x) and (form1.Top<> y)) do 
satırındaki and operatörü yerine or operatörünü kullanırsak formun eski yerine gelmesini garantilemiş oluruz..
sağol hojam hızlı yazıcam diye atlamışım.. teşekküler. bikaç kere denemiştim tesadüf bende tutmuş :) farketmemiştim

bu ara arkaadşın ikinci sorusundaki komponenti bulamadım, vb de kullanmıştım daha önce dormu yuvarlayarak kapatıyordu ama bulamadım. kusura bakma
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

2 nci sorunu bugün çok düşündüm Aklıma bir fikir geldi bence bu bu olayı Grafik destekli çok basit bir şekilde halledebilirsin. Photoshop da Grafiklerini hazırla ve forum'u kapanış esnasında da grafiklerini konuştur.


Kolay Gelsin...

İyi Geceler.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Mesaj gönderen MicroChip »

merhaba dediğin efekti yapan activesplash adında bir 3. parti component var haberin olsun :)
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

arkadaşlar cevaplar için teşekkürler . Benim yapmak istediğim her halde bir componentle olacak. Ben formun ileri geri , yukarı aşağı yapmasından ziyade ; formun merkezi sabit olduğu yerden hiçbir yere kımıldamadan
sadece atıyorum 30 derece sola 30 derece sağa çevirmek(eski haline) istiyorum. 2. şık için teşekkürler mikrochip
semenderip
Üye
Mesajlar: 42
Kayıt: 04 Nis 2007 03:57

Mesaj gönderen semenderip »

arkadaşlar verdiğiniz kodlar cok işime yaradı birşey sormak istiyorum forma bir resim koydum ve mouse down olayına bu kodlarıdenedim mouse ile üzerine gelince tirremeye başlıyor ama bi daha durmuyor nasıl bir yol izlemek gerekli
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

@semenderip

- OnMouseDown olayına koymak yerine bir TTimer ile aşağıdaki şekilde bir kurgu hazırlayabilirsin.

- Koddaki işlem devredeki Timer1'in işlem yapması için Image1'in Tag değerinin 1 olmasını kollar. Siz OnMouseDown olayında bunu 1 yaparsanız Timer1 hemen kolları sıvar ve sallamaya başlar. Siz OnMouseUp olayında Tag değerini 0 yaparak herşeyin eski haline dönmesini sağlarsınız.

Kod: Tümünü seç

Var
  ax, ay :integer;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ax := Image1.Left;
  ay := Image1.Top;
  Timer1.Interval := 10;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Image1.Tag := 1;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Image1.Tag := 0;
  Image1.Left := ax;
  Image1.Top  := ay;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  With Image1 do
    If Tag = 1 then begin
      Left := ax +(random(20)-10);
      Top  := ay +(random(20)-10);
    end;
end;
@bgoktas Eski bir soru ama bunu yapmak için şu adınları izle.

1. Programının ana fomunu kısa süreliğine hide yap.
2. Masa üzerinin ( DC ) formun olmaksızın bir resmini çek.
3. Formunu show yapıp Formunun bir resmini çek.
4. Sonra arka ekranı bas. Formun üzeri örtülecektir.
5. Sonra da formunun resmini dilediğin açıda bükerek üzerine bas.

4 ve 5 nolu adımları animatif şekilde yinele. İstediğin olacaktır.

- Masa üzeri resmi alma / yapıştırma vb. üzerine şu mesajımdan faydalanabilirsin. bkz. viewtopic.php?t=18515
Resim
Resim ....Resim
Cevapla