• 05-02-2022, 20:17:35
    #1
    2 Label'im var birine veri ile fiyat çekiyorum birine maneul girip alarm kur diyeceğim veri çektiğim fiyat yazdığımdan büyük olunca ses çalmasını istiyorum hata alıyorum yardımcı olabilecek var mı ?

    namespace WindowsFormsApp11
    {
        public partial class Form5 : Form
        {
            public Form5()
            {
                InitializeComponent();
                timer1.Interval = 1000;
                Bilgi.Text = "";
            }
    
            private void Alarm_Click(object sender, EventArgs e)
            {
                MessageBox.Show("Alarm Kuruldu.", "Ürün Takip", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Bilgi.Text = "Alarm AKTIF";
                Bilgi.ForeColor = Color.Red;
                timer1.Start();
            }
    
            private void VeriCek_Click(object sender, EventArgs e)
            {
                ChromeOptions ayar = new ChromeOptions();
                ayar.AddArgument("--headless");
                ChromeDriverService servis = ChromeDriverService.CreateDefaultService();
    
                servis.HideCommandPromptWindow = true;
                IWebDriver iwebDriver = (IWebDriver)new ChromeDriver(servis, ayar);
                iwebDriver.Navigate().GoToUrl(" xxx" +XX.Text);
                Thread.Sleep(8000);
                ürünadi.Text = ((ISearchContext)iwebDriver).FindElement(By.XPath("/html/body/div/div/div[2]/div/div/div/div[1]/div/div[1]/h3/span")).Text;
                MFiyat.Text = ((ISearchContext)iwebDriver).FindElement(By.XPath("/html/body/div/div/div[2]/div/div/div/div[2]/div[1]/div[2]/span")).Text;
            }
    
            private void Timer1_Tick(object sender, EventArgs e)
            {
                VeriCek_Click(sender, e);
                int NormalFiyat = int.Parse(MFiyat.Text);
                int AlarmFiyat = int.Parse(FiyatAlarm.Text);
                if (AlarmFiyat >= NormalFiyat)
                {
    
                }
                else
                {
                    SoundPlayer ses = new SoundPlayer();
                    string dizin = Application.StartupPath + "\\Alarm.wav";
                    ses.SoundLocation = dizin;
                    ses.Play();
                }
            }
    
            private void AlarmStop_Click(object sender, EventArgs e)
            {
                timer1.Stop();
                Bilgi.Text = "Alarm KAPALI";
                Bilgi.ForeColor = Color.Yellow;
            }
        }
    }
  • 05-02-2022, 20:21:21
    #2
    hata nedir
  • 05-02-2022, 20:23:50
    #3
    gelen veri örnek :$0.00189512 başında "$" var o da sebeb olabilir sanırım

  • 05-02-2022, 20:32:21
    #4
    Emson adlı üyeden alıntı: mesajı görüntüle
    gelen veri örnek :$0.00189512 başında "$" var o da sebeb olabilir sanırım

    evet $ yapıyordur int'e çevirmeye çalışıyorsunuz, rakamları ayrı $ işaretini ayrı alın hatta $ sabitse farklı labellerla sabitleyin sadece rakamı çekin
    ayrıca gelen veriye bakınca int de değil double veya float alın durumunuza göre
  • 05-02-2022, 20:35:22
    #5
    cartel24 adlı üyeden alıntı: mesajı görüntüle
    evet $ yapıyordur int'e çevirmeye çalışıyorsunuz, rakamları ayrı $ işaretini ayrı alın hatta $ sabitse farklı labellerla sabitleyin sadece rakamı çekin
    ayrıca gelen veriye bakınca int de değil double veya float alın durumunuza göre
    sadece rakamı çekme gibi bir olasılığım malesef yok çektiğim veriyi ayıklayamaz mıyım başından "$" silsem

            private void Timer1_Tick(object sender, EventArgs e)
            {
                //int NormalFiyat = int.Parse(MFiyat.Text);
                //int AlarmFiyat = int.Parse(FiyatAlarm.Text);
    
                double Value1 = Convert.ToDouble(Double.Parse(MFiyat.Text, System.Globalization.NumberStyles.Currency));
                double Value2 = Convert.ToDouble(Double.Parse(FiyatAlarm.Text, System.Globalization.NumberStyles.Currency));
                // val = 123456.98
                // val = 123456.98
    
                if (Value2 >= Value1)
                {
                    SoundPlayer ses = new SoundPlayer();
                    string dizin = Application.StartupPath + "\\Alarm.wav";
                    ses.SoundLocation = dizin;
                    ses.Play();
                }
                else
                {
                    VeriCek.PerformClick();
                }
            }
    böyle bir şey yaptım yine olmadı
  • 05-02-2022, 20:42:39
    #6
    Emson adlı üyeden alıntı: mesajı görüntüle
    sadece rakamı çekme gibi bir olasılığım malesef yok çektiğim veriyi ayıklayamaz mıyım başından "$" silsem
    tabiki yapabilirsin önce stringe alıp substring ile baştan karanteri silip sonra çevirebilirsin
  • 05-02-2022, 22:47:14
    #7
    Yada direk replace ile sonradan başına simge ekleyebilirsin.
    Pm den yazın yardımcı olayım