private void NTC_Başlat() { Ntc_Arama.Tag = 0; int tick = Environment.TickCount + 100; if (!File.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "\\Ntc\\Liste.csv")) { new MlzListesiniOlusturma().ShowDialog(); } if (!File.Exists(Path.GetDirectoryName(Application.ExecutablePath) + "\\Ntc\\Liste.csv")) { Application.Exit(); return; } group_ntc.Enabled = false; o.Ntcler.Clear(); string[] gecici_liste = File.ReadAllLines(Path.GetDirectoryName(Application.ExecutablePath) + "\\Ntc\\Liste.csv"); for (int a = 1; a < gecici_liste.Length; a++) { try { bool Sorunlu = false; //fazladan virgül içeren metinlerin düzenlenmesi string[] aa = gecici_liste[a].Split(','); for (int aa_ = 0; aa_ < aa.Length; aa_++) { aa[aa_] = aa[aa_].Replace("_ArgeMuP_", ","); } NtcHesap_ nh = new NtcHesap_(); nh.Üretici = aa[0]; nh.ÜreticiKodu = aa[1]; nh.Açıklama = aa[2]; nh.Pdf = aa[13].Trim(' ', '/', '\\');; //-40°C ~ 150°C -> -40 150 var çs = aa[3].Split(' '); if (!double.TryParse(çs[0].Trim('°', 'C'), o.style, o.culture, out nh.ÇalışmaSıcaklığı_Düşük)) { Sorunlu = true; //Console.WriteLine("Satır " + (a+1) + " ÇalışmaSıcaklığı_Düşük"); //continue; } if (!double.TryParse(çs[çs.Length - 1].Trim('°', 'C'), o.style, o.culture, out nh.ÇalışmaSıcaklığı_Yüksek)) { Sorunlu = true; //Console.WriteLine("Satır " + (a + 1) + " ÇalışmaSıcaklığı_Yüksek"); //continue; } //25°C -> 25 if (!double.TryParse(aa[4].Trim('°', 'C'), o.style, o.culture, out nh.ReferansNoktası_Sıcaklık)) { Sorunlu = true; //Console.WriteLine("Satır " + (a + 1) + " ReferansNoktası_Sıcaklık"); //continue; } //100K -> 100000 if (!double.TryParse(aa[5].ToUpper().Trim('K', 'M'), o.style, o.culture, out nh.ReferansNoktası_Direnç)) { Sorunlu = true; //Console.WriteLine("Satır " + (a + 1) + " ReferansNoktası_Direnç"); //continue; } if (aa[5].ToUpper().Contains("K")) { nh.ReferansNoktası_Direnç *= 1000; } else if (aa[5].ToUpper().Contains("M")) { nh.ReferansNoktası_Direnç *= 1000 * 1000; } //±1% -> 1 if (!double.TryParse(aa[6].Trim('±', '%', '°', 'C'), o.style, o.culture, out nh.ReferansNoktası_HataOranı)) { Sorunlu = true; //Console.WriteLine("Satır " + (a + 1) + " ReferansNoktası_HataOranı"); //continue; } if (!double.TryParse(aa[7].Trim('±', '%'), o.style, o.culture, out nh.Beta_HataOranı)) { Sorunlu = true; //Console.WriteLine("Satır " + (a + 1) + " Beta_HataOranı"); //continue; } for (int b = 0; b < 5; b++) { double betttta = 0; if (double.TryParse(aa[8 + b].ToUpper().Trim('K'), o.style, o.culture, out betttta)) { bool bulundu = false; nh.GörünenAdı = nh.ÜreticiKodu.ToUpper() + " " + betttta; for (int c = 0; c < o.Ntcler.Count && !bulundu; c++) { if (o.Ntcler[c].GörünenAdı == nh.GörünenAdı) { bulundu = true; break; } } if (!bulundu) { NtcHesap_ yeni = new NtcHesap_(); yeni.Açıklama = nh.Açıklama; yeni.Beta = betttta; yeni.Beta_HataOranı = nh.Beta_HataOranı; yeni.Pdf = nh.Pdf; yeni.ReferansNoktası_Direnç = nh.ReferansNoktası_Direnç; yeni.ReferansNoktası_HataOranı = nh.ReferansNoktası_HataOranı; yeni.ReferansNoktası_Sıcaklık = nh.ReferansNoktası_Sıcaklık; yeni.ÇalışmaSıcaklığı_Düşük = nh.ÇalışmaSıcaklığı_Düşük; yeni.ÇalışmaSıcaklığı_Yüksek = nh.ÇalışmaSıcaklığı_Yüksek; yeni.Üretici = nh.Üretici; yeni.ÜreticiKodu = nh.ÜreticiKodu; yeni.GörünenAdı = Sorunlu ? "*" + nh.GörünenAdı : nh.GörünenAdı; o.Ntcler.Add(yeni); } } } } catch (Exception) { } if (Environment.TickCount > tick) { tick = Environment.TickCount + 100; Application.DoEvents(); } } Ntc_Arama.Text = ""; Ntc_ler.Items.Clear(); foreach (var b in o.Ntcler) { Ntc_ler.Items.Add(b.GörünenAdı); if (Environment.TickCount > tick) { tick = Environment.TickCount + 100; Application.DoEvents(); } } toolTip1.SetToolTip(Ntc_ler, Ntc_ler.Items.Count + " NTC"); group_ntc.Enabled = true; }
public Ntc_Bilgileri(NtcHesap_ NtcHesap) { InitializeComponent(); Nh = NtcHesap; }
private void Ntc_ler_SelectedIndexChanged(object sender, EventArgs e) { if (Ntc_ler.SelectedIndex < 0) { return; } Ntc_ler.Enabled = false; if (Ağırlıklar != null) { toolTip1.SetToolTip(Ntc_ler, "% " + o.D2S(Ağırlıklar[Ntc_ler.SelectedIndex].Ağırlık) + " " + Ntc_ler.SelectedItem.ToString()); } NtcHesap_ ntc = new NtcHesap_(); foreach (var a in o.Ntcler) { if (a.GörünenAdı == Ntc_ler.SelectedItem.ToString()) { ntc = a; break; } } Grafik.Series.Clear(); Grafik.ChartAreas[0].CursorX.IsUserEnabled = true; Grafik.ChartAreas[0].CursorX.IsUserSelectionEnabled = true; Grafik.ChartAreas[0].CursorY.IsUserEnabled = true; Grafik.ChartAreas[0].CursorY.IsUserSelectionEnabled = true; Series NSensör = Grafik.Series.Add("Sensör"); NSensör.ChartType = SeriesChartType.Range; NSensör.Color = Color.YellowGreen; Series Nntc = Grafik.Series.Add("Ntc"); Nntc.ChartType = SeriesChartType.Range; Nntc.Color = Color.White; for (int a = 0; a < Sh.R_T_Tablosu.Count; a++) { NSensör.Points.AddXY(Sh.R_T_Tablosu[a].SıcaklıkDeğeri, GrafikİçinDüzenle(Sh.R_T_Tablosu[a].Rmak), GrafikİçinDüzenle(Sh.R_T_Tablosu[a].Rmin)); Nntc.Points.AddXY(Sh.R_T_Tablosu[a].SıcaklıkDeğeri, GrafikİçinDüzenle(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)), GrafikİçinDüzenle(ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri))); double Ağırlık = Ağırlığı(Sh.R_T_Tablosu[a].Rmin, ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri), true); if (Ağırlık <= 0) { Liste[1, a].Style.BackColor = Color.YellowGreen; Liste[1, a].ToolTipText = "NTC : " + o.D2S(ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)); } else { Liste[1, a].ToolTipText = "Sensör : " + o.D2S(Sh.R_T_Tablosu[a].Rmin) + Environment.NewLine + "NTC : " + o.D2S(ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)) + Environment.NewLine + "Fark : " + o.D2S(Math.Abs(Sh.R_T_Tablosu[a].Rmin - ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri))) + " Ω" + Environment.NewLine + "% " + o.D2S(Ağırlık); if (Ağırlık > (double)Yüzde.Value) { Liste[1, a].Style.BackColor = Color.OrangeRed; } else { Liste[1, a].Style.BackColor = Color.Gold; } } Ağırlık = Ağırlığı(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri), Sh.R_T_Tablosu[a].Rmak, false); if (Ağırlık <= 0) { Liste[2, a].Style.BackColor = Color.YellowGreen; Liste[2, a].ToolTipText = "NTC : " + o.D2S(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)); } else { Liste[2, a].Style.BackColor = Color.OrangeRed; Liste[2, a].ToolTipText = "Sensör : " + o.D2S(Sh.R_T_Tablosu[a].Rmak) + Environment.NewLine + "NTC : " + o.D2S(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)) + Environment.NewLine + "Fark : " + o.D2S(Math.Abs(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) - Sh.R_T_Tablosu[a].Rmak)) + " Ω" + Environment.NewLine + "% " + o.D2S(Ağırlık); if (Ağırlık > (double)Yüzde.Value) { Liste[2, a].Style.BackColor = Color.OrangeRed; } else { Liste[2, a].Style.BackColor = Color.Gold; } } //if (ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) >= Sh.R_T_Tablosu[a].Rmin && // ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) <= Sh.R_T_Tablosu[a].Rmak) //{ // Liste[1, a].Style.BackColor = Color.YellowGreen; // Liste[1, a].ToolTipText = "NTC : " + ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri); //} //else //{ // double fark = Math.Abs(Sh.R_T_Tablosu[a].Rmin - ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri)); // Liste[1, a].ToolTipText = "Sensör : " + Sh.R_T_Tablosu[a].Rmin + Environment.NewLine + // "NTC : " + ntc.Rmin(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) + Environment.NewLine + // "Fark : " + fark + " Ω" + Environment.NewLine + // "% " + (fark / Sh.R_T_Tablosu[a].Rmin * 100.0).ToString(); // double yüzde = Sh.R_T_Tablosu[a].Rmin / 100.0 * (double)this.Yüzde.Value; // if (fark > yüzde) Liste[1, a].Style.BackColor = Color.OrangeRed; // else Liste[1, a].Style.BackColor = Color.Gold; //} //if (ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) <= Sh.R_T_Tablosu[a].Rmak && // ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) >= Sh.R_T_Tablosu[a].Rmin) //{ // Liste[2, a].Style.BackColor = Color.YellowGreen; // Liste[2, a].ToolTipText = "NTC : " + ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri); //} //else //{ // double fark = Math.Abs(ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) - Sh.R_T_Tablosu[a].Rmak); // Liste[2, a].Style.BackColor = Color.OrangeRed; // Liste[2, a].ToolTipText = "Sensör : " + Sh.R_T_Tablosu[a].Rmak + Environment.NewLine + // "NTC : " + ntc.Rmak(Sh.R_T_Tablosu[a].SıcaklıkDeğeri) + Environment.NewLine + // "Fark : " + fark + " Ω" + Environment.NewLine + // "% " + (fark / Sh.R_T_Tablosu[a].Rmak * 100.0).ToString(); // double yüzde = Sh.R_T_Tablosu[a].Rmin / 100.0 * (double)this.Yüzde.Value; // if (fark > yüzde) Liste[2, a].Style.BackColor = Color.OrangeRed; // else Liste[2, a].Style.BackColor = Color.Gold; //} } Ntc_ler.Enabled = true; Ntc_ler.Focus(); }