gerçekten çok ilginç, inc ; deger:=deger+1; ile aynı bu nasıl engelliyebiliyor ki. iki kez çalmasını Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

programlamadan pek anlamıyorum ama Delphi ile bana yardımcı olacak bir uygulama geliştirmeye çalışıyorum. TimerUpdateTimeTimer proseduru icinde soyle bir kod var: // Alt okuma if FSUIPC_Read($0570, 8, @alt, dwResult) then begin // işlem kısmı if FSUIPC_Process then begin alt_1 := Round(alt 3.28084 /4294967296); Label5. Caption := FloatToStr(alt_1); // Sabit Kısım end else begin LabelFSclock. Caption := 'Processing: ' + ResultText ; end; end else begin LabelFSclock. Caption := 'Reading: ' + ResultText ; end; Bu kısımda FSPUIC adlı yardımcı bir arabirim üzerinden "alt" değişkenim sürekli güncelleniyor. Delphi de ses çalmayı da biliyorum. Yapmak istediğim şu ki; misal, "alt_1" değişkeni 1000 den büyük bir değer aldığında bir ses dosyası çalsın. Yani: if alt_1>1000 then begin MediaPlayer1. Close; MediaPlayer1. FileName := ExtractFileDir + '\sarki. mp3'; MediaPlayer1. Open; MediaPlayer1. Play; end; rneğin, bu kodu nereye, nasıl yazmam gerekiyor ki, UYGULUMA ÇALIŞIRKEN sürekli tetikte olsun, koşullar sağlandığında ses dosyası çalınsın? TimeUpdateTimeTimer prosedürü içine yazdığımda çalmıyor, ya da daha şarkı başlamadan kendini yinelediği için duyamıyorum, ya da ben bi enayilik yapıyor da olabilirim..

teamwiever ver bakalım hocam delphiden anlamam ama breakpointle çzmeye calısalım.

procedure TForm1. sesver ; begin if ((deger>1000) and (MediaPlayer1. Position>1)) then begin beep; MediaPlayer1. Position:=0; MediaPlayer1. Close; MediaPlayer1. FileName := ExtractFileDir + '\sarki. mp3'; MediaPlayer1. Open; MediaPlayer1. Play; end; end; bu fonksiyonu kullan. bu şekilde bir kez çalışınca durmaz :D 2. olarak sesi durdurmak için durdurma butonu yap, içine Mediaplayer1. stop; ve mediaplayer1. position:=0; yap //şarkına dikkat et belki müziğin nce sessiz olarak başlıyordur :D ona dikkat başına beep; yaz :D ben ekledim hade inşallah tamamlanır. Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

procedure TForm1. sesver ; begin if ((deger>1000) and (MediaPlayer1. Position>1)) then begin beep; MediaPlayer1. Position:=0; MediaPlayer1. Close; MediaPlayer1. FileName := ExtractFileDir + '\sarki. mp3'; MediaPlayer1. Open; MediaPlayer1. Play; end; end; bu fonksiyonu kullan. bu şekilde bir kez çalışınca durmaz :D 2. olarak sesi durdurmak için durdurma butonu yap, içine Mediaplayer1. stop; ve mediaplayer1. position:=0; yap //şarkına dikkat et belki müziğin nce sessiz olarak başlıyordur :D ona dikkat başına beep; yaz :D ben ekledim hade inşallah tamamlanır. hocam ses kısmında bir sorun yok, sizinkine benzer bir procedure oluşturdum yalnız tetikleme TimeUpdateTimeTimer icinde yapılıyor ve inc kullunarak dosyanın sadece bir kez çalmasını sağladım. çok teşekkür ederim. takıldığım bir yer olursa sorarım.

// Alt okuma if FSUIPC_Read($0570, 8, @alt, dwResult) then begin // işlem kısmı if FSUIPC_Process then begin alt_1 := Round(alt 3.28084 /4294967296); Label5. Caption := FloatToStr(alt_1); if alt_1>1000 then begin MediaPlayer1. Close; MediaPlayer1. FileName := ExtractFileDir + '\sarki. mp3'; MediaPlayer1. Open; MediaPlayer1. Play; end; // Sabit Kısım end else begin LabelFSclock. Caption := 'Processing: ' + ResultText ; end; end else begin LabelFSclock. Caption := 'Reading: ' + ResultText ; end; saybirs tarafından 07/Eki/14 01:42 tarihinde düzenlenmiştir

gerçekten çok ilginç, inc ; deger:=deger+1; ile aynı bu nasıl engelliyebiliyor ki. iki kez çalmasını // FL100 if FSUIPC_Read($0570, 8, @alt, dwResult) then begin // işlem kısmı if FSUIPC_Process then begin alt_1 := Round(alt 3.28084 /4294967296); Label5. Caption := FloatToStr(alt_1); if (deger=0) and (alt_1>10000) then ses ; // Sabit Kısım end else begin LabelFSclock. Caption := 'Processing: ' + ResultText ; end; end else begin LabelFSclock. Caption := 'Reading: ' + ResultText ; end; if deger=0 ve alt_1>10000 ise ses prosedürünü işlet diyorum. ses işleyip şarkı çaldıktan sonra deger=1 oldugu icin bir daha ses procedurunu cagirmiyor.

arkadaşlar sorun çzüldü. procedure TFormMain. ses ; begin inc ; MediaPlayer1. Close; MediaPlayer1. FileName := ExtractFileDir + '\sarki. mp3'; MediaPlayer1. Open; MediaPlayer1. Play; end; gibi ayrı bir prosedür ile ses dosyası tetiklenmis oldu. lakin ses biraz gec caliyor, o da sanırım ses dosyasını baştan belleğe almamasından dolayı, ya da başka birşey, ama olsun. tesekkurler.

// Alt okuma if FSUIPC_Read($0570, 8, @alt, dwResult) then begin // işlem kısmı if FSUIPC_Process then begin alt_1 := Round(alt 3.28084 /4294967296); Label5. Caption := FloatToStr(alt_1); if alt_1>1000 then begin MediaPlayer1. Close; MediaPlayer1. FileName := ExtractFileDir + '\sarki. mp3'; MediaPlayer1. Open; MediaPlayer1. Play; end; // Sabit Kısım end else begin LabelFSclock. Caption := 'Processing: ' + ResultText ; end; end else begin LabelFSclock. Caption := 'Reading: ' + ResultText ; end; hocam çok teşekkür ederim, yazdığınız şekilde denedim fakat ses çalmıyor. uygulama çalışıyor fakat ses yok. sanırım sürekli kendini yinelediği için duyamıyorum ;(

teamwiever ver bakalım hocam delphiden anlamam ama breakpointle çzmeye calısalım. teamwiever yok hocam, evde değilim, 1GB ram, celeron bi bilg. var burda. aklıma birseyler geldi, simdi onları bir deneyeyim. çok tesekkür ederim.