Delphi'de shape hareketi hakkında....

Forumla ilgili sorularınızı buraya sorabilirsiniz.
Cevapla
#Cansu#
Üye
Mesajlar: 3
Kayıt: 14 Oca 2011 07:52

Delphi'de shape hareketi hakkında....

Mesaj gönderen #Cansu# »

Herkese merhabalar.. :wink:
Benim bir proje ödevim var ve bi yerde tıkandım kaldım, yardımlarınız olursa çok sevinirim..

Proje bankalardaki fiş alıp işlem yapma sistemi ile ilgili..
İki paneli masa olarak kullandım ve timer ile label'da sıra sayısı sayıyor..
Müşteri olarak Shape kullandım..
Formun sol kısmında sıra al şeklinde bir buton ve verilen numaraları gösteren bir listbox var.
En alt kısımda ise bekleme alanı olarak kullanacağım bi alan var..
Shapeler (müşteriler) sırayla gelecek sıra al'dan numara alıp bekleme yerine geçecek.
Sonra sistemi başlatınca panelin üzerinde numaralar yandıkça shape'ler panellere hareket edecek..
Herşeyi iyi güzel yaptım da,
bi shape'leri hareket ettiremedim.

Örneğin; shape1'in sola doğru 88,240 kordinatına gelip oradan da 88,384 kordinatına aşağı doğru gitmesi gerekiyor..

Yardım eden olursa çok sevinirim...
:Noops
En son #Cansu# tarafından 15 Oca 2011 06:38 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: [Acil]Delphi'de shape hareketi hakkında....

Mesaj gönderen unicorn64 »

öncelikle aramıza hoşgeldiniz...
adminler müdahale etmeden önce konu başlığını düzeltseniz iyi olur çünkü forum kurallarına aykırı... ("acil")

sorunuza gelince
global bir TShape nesnesi tanımlayın, hareket ettirmek istediğiniz shape nesnesini bu değişkene atayın,
forma bir timer koyup, timerda global tanımladığınız shape nesnesinin top ve left değerlerine atamalarınızı yapın...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
#Cansu#
Üye
Mesajlar: 3
Kayıt: 14 Oca 2011 07:52

Re: Delphi'de shape hareketi hakkında....

Mesaj gönderen #Cansu# »

İkazınız için teşekkür ederim, bu kurala dikkat etmemiştim...


Şimdi dediğiniz gibi yaptım.
Ama şöyle bi sorun var.
-tek shape için konuşuyorum-
Shape önce gelecek sıra al düğmesinden sırayı alıp aşağıda beklemeye geçecek..
-bütün shapeler(en fazla 10 tane)in- işi bitince sistemi başlat diyeceğim ve 2 panelin tepesindeki label lar 1-2 3-4 5-6 diye sayacak ve sırası gelen shape panele ilerleyecek..
Shape'in bekleme konumuna gelmesine kadar yaptım, fakat şöyle bişey oldu. sistemi başlat dediğimde shape'in timer'ını da çalıştırdığı için shape panel'e hareket etmeye başlıyor ama shape panele geldip durduktan sonra sayı 1 oluyor.
Benim istediğim ise önce panel'in numarası yansın sonra shape gitsin..
Buton sayısı arttırılarak yapılır ama daha kısa bi yolu yok mudur?

Son olarak ta bu shape'leri çoğaltmak için ne yapabilirim?
Aynı işlemleri 2. 3. 4... vs. shape'ler içinde geçerli olacak çünkü..


Şimdiden tekrar teşekkür ederim :roll:
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Delphi'de shape hareketi hakkında....

Mesaj gönderen unicorn64 »

önce panelde numarayı değiştirin, bir süre bekleme yaptırın sonra timeri çalıştırın...

Kod: Tümünü seç

PanelNumaraGuncelle;
sleep(3000); // 3 sn bekle
timer1.enabled:=true;
gibi....

diğer sorunuz için ise hareket edecek shapein numarasını genel değişkende tutun ve genel shape nesnesine atamayı buna göre yapın...

Kod: Tümünü seç

var // genel var bloğu
  aktifMusteriNo:integer;
  aktifMusteri:TShape;

Kod: Tümünü seç

procedure MusteriSec;
begin  
   case aktifMusteriNo of 
      1: aktifMusteri:=musteriShape1;
      2: aktifMusteri:=musteriShape2;
      3: aktifMusteri:=musteriShape3;
      4: aktifMusteri:=musteriShape4;
   end;
end;
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
#Cansu#
Üye
Mesajlar: 3
Kayıt: 14 Oca 2011 07:52

Re: Delphi'de shape hareketi hakkında....

Mesaj gönderen #Cansu# »

unicorn64 yazdı:önce panelde numarayı değiştirin, bir süre bekleme yaptırın sonra timeri çalıştırın...

Kod: Tümünü seç

PanelNumaraGuncelle;
sleep(3000); // 3 sn bekle
timer1.enabled:=true;
gibi....

Bu kısmı pek anlayamadım, nereye yazacağım..
iki panelim var benim form'da ikisinin de aynı anda çalışması gerekiyo, shapelerde doğal olarak ikişer ikişer işlem yapacaklar...
Çok yeniyim daha kusura bakmayın... :oops:
Cevapla