C# program – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C# program – .NET – Fórum – Programujte.comC# program – .NET – Fórum – Programujte.com

 

Tomas.P0
Newbie
4. 5. 2012   #1
-
0
-

Zdravím

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //public Boolean AutoScale {get;set;}
            //změna rozsahu osy X1
            if(chart1.Series[0].Points.Count > 30)
            {
               if (chart1.Series[0].Points.Count > 30)
               chart1.Series[0].Points.RemoveAt(0);
               chart1.Series[0].Points.AddY(30);
               chart1.ChartAreas["Default"].AxisX.Minimum = 0;
               chart1.ChartAreas["Default"].AxisX.Maximum = 2000;
            }
            //změna rozsahu osy Y1
            chart1.ChartAreas["Default"].AxisY.Minimum = -1;
            chart1.ChartAreas["Default"].AxisY.Maximum = 1;
            //změna rozsahu osy X2
            if (chart2.Series[0].Points.Count > 30)
            {
                if (chart2.Series[0].Points.Count > 30)
                chart2.Series[0].Points.RemoveAt(0);
                chart2.Series[0].Points.AddY(30);
                chart2.ChartAreas["Default"].AxisX.Minimum = 0;
                chart2.ChartAreas["Default"].AxisX.Maximum = 500;
            }
            //změna rozsahu osy Y2
            chart2.ChartAreas["Default"].AxisY.Minimum = 0;
            chart2.ChartAreas["Default"].AxisY.Maximum = 0.6;
        }
        //graf pro vykreslení zvuku v časové oblasti
        private void chart1_Click(object sender, EventArgs e)
        {
           foreach (float vzorky in samples_measured)
                {
                    if (chart1.Series[0].Points.Count > 1000)     // jestli je zobrazenych vice vzorku tak prvni vymaz
                            chart1.Series[0].Points.RemoveAt(0);
                    chart1.Series[0].Points.AddY(30);         // vykresleni vzorku do grafu
                }

                try
                {
                    var fpb = Math.Abs(samples_measured.Max());
                    if ((fpb > 0) & (fpb < 1)) ;
                        verticalProgressBar1.Value = Convert.ToInt16(fpb * 100);
               }
                catch (Exception)
                {
                    MessageBox.Show("Nema data"); throw;
                }
                               
               analyze.AddSamples( samples_measured.ToArray() );
        }
        //graf pro vykreslení frekvenčního spektra
        private void chart2_Click(object sender, EventArgs e)
        {
           if (chart2.InvokeRequired)
                {
                    FFTSamplesProcessed new_handler = new FFTSamplesProcessed(zobraz_vysledek_fft);
                    this.Invoke(new_handler, new object[] {samples_fft});
                    }
                else
                {
                    chart2.Series[0].Points.Clear();

                    for (int i = 0; i < (samples_fft.Length / 2); i++)
                    {
                       chart2.Series[0].Points.AddXY((i * step_WK), samples_fft[i]);          
                    }    
                    
                }
        }
        //tlačítko pro uzavření aplikace
        private void button1_Click(object sender, EventArgs e)
        {
           button1.Enabled = !button1.Enabled;
        }
        //tlačítko pro zastavení nahrávání
        private void button2_Click(object sender, EventArgs e)
        {
           button2.Enabled = !button2.Enabled;
           button3.Enabled = true;
           chart1.Enabled = false;
        }
        //tlačítko pro spouštění nahrávání
        private void button3_Click(object sender, EventArgs e)
        {
           button3.Enabled = !button3.Enabled;
           button2.Enabled = true;
           chart1.Enabled = true;
        }
        //tlačítko pro FFT
        private void button4_Click(object sender, EventArgs e)
        {
           if (button4.Text == "START")
            {   
            
                analyze.Start(); 
                button4.Text ="STOP" ; 
            }
            else
            {   analyze.Stop(); 
                button4.Text = "START"; 
            }
        }
        //vybrané zařízení
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            label4.Text = comboBox1_SelectedIndex.ToString();
        }
        //nastavení limitu
        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
           numericUpDown1.Maximum = 100;
           numericUpDown1.Minimum = 0;
        }
        //zisk
        private void progressBar1_Click(object sender, EventArgs e)
        {

        }
        //napěťová špička
        private void label1_Click(object sender, EventArgs e)
        {

        } 
    }
}

Předem děkuji za recenzi

Nahlásit jako SPAM
IP: 88.100.249.–
ingiraxo+15
Grafoman
4. 5. 2012   #2
-
+4
-
Informačně přínosné

nějak nechápu, co by jsme ti na to měli napsat  

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
certeon0
Newbie
5. 5. 2012   #3
-
0
-

#2 ingiraxo
Třeba chce pochválit :)

Nahlásit jako SPAM
IP: 109.71.213.–
amertak0
Návštěvník
5. 5. 2012   #4
-
0
-

Tak ho aspoň pochvalme za to, že sem ten kód zvládl dát :) To že chybí další podstatná část je vedlejší  

Nahlásit jako SPAM
IP: 80.251.241.–
certeon0
Newbie
5. 5. 2012   #5
-
0
-

#4 amertak
No to už jsi moc náročný. To už ses rovnou mohl dozvědět, jak vypadá třída, jehož objektem je chart1 a chart2, nebo dokonce GUI a účel programu.

Jinak Tomas.P... Nenech se otrávit touto legrací. Klidně napiš dotaz (s doplněním výše uvedeného) a pokud to bude bude v našich silách, tak ti odpovíme.  

Nahlásit jako SPAM
IP: 109.71.213.–
Tomas.P0
Newbie
6. 5. 2012   #6
-
0
-

Zdravím, dovolil jsem si upravit kód:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        AnalyzerThread analyze = new AnalyzerThread();
        Recorder rec = new Recorder();
        public Form1()
        {
            InitializeComponent();
            //změna rozsahu osy X1
            chart1.ChartAreas[0].AxisX.Minimum = 0;
            chart1.ChartAreas[0].AxisX.Maximum = 2000;
            //změna rozsahu osy Y1
            chart1.ChartAreas[0].AxisY.Minimum = -1;
            chart1.ChartAreas[0].AxisY.Maximum = 1;
            //změna rozsahu osy X2
            chart2.ChartAreas[0].AxisX.Minimum = 0;
            chart2.ChartAreas[0].AxisX.Maximum = 500;
            //změna rozsahu osy Y2
            chart2.ChartAreas[0].AxisY.Minimum = 0;
            chart2.ChartAreas[0].AxisY.Maximum = 0.6;
        }
        //graf pro vykreslení zvuku v časové oblasti
        public void chart1_Click(LinkedList<float> samples_measured)     
        {
            foreach (float sample in samples_measured)
            {
                if (chart1.Series[0].Points.Count > 1000)     
                    chart1.Series[0].Points.RemoveAt(0);
                    chart1.Series[0].Points.AddY(sample);         
            }
        }
        //graf pro vykreslení frekvenčního spektra
        private double step_WK;
        public void chart2_Click(double[] samples_fft)               
        {
            if (chart2.InvokeRequired)
            {
                FFTSamplesProcessed new_handler = new FFTSamplesProcessed(chart2_Click);
                this.Invoke(new_handler, new object[] { samples_fft });
            }
            else
            {
                chart2.Series[0].Points.Clear();

                for (int i = 0; i < (samples_fft.Length / 2); i++)
                {
                    chart2.Series[0].Points.AddXY((i * step_WK), samples_fft[i]);                     

                }

            }

        }
        //tlačítko pro uzavření aplikace
        bool appRunning = false;
        private void button1_Click(object sender, EventArgs e)
        {
            if (appRunning)
                rec.StopRecording();
            if (analyze.IsAnalyzerRunning)
                analyze.Stop();
            Application.Exit();
        }
        //tlačítko pro zastavení nahrávání
        private void button2_Click(object sender, EventArgs e)
        {
           button2.Enabled = !button2.Enabled;
           button3.Enabled = true;
           chart1.Enabled = false;
        }
        //tlačítko pro spouštění nahrávání
        private void button3_Click(object sender, EventArgs e)
        {
           button3.Enabled = !button3.Enabled;
           button2.Enabled = true;
           chart1.Enabled = true;
        }
        //tlačítko pro FFT
        private void button4_Click(object sender, EventArgs e)
        {
            if (button4.Text == "START")
            {

                analyze.Start();
                button4.Text = "STOP";
            }
            else
            {
                analyze.Stop();
                button4.Text = "START";
            }
        }
        //vybrané zařízení
        private int mic_id = 0;
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.mic_id = comboBox1.SelectedIndex;
        }
        //nastavení limitu
        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            numericUpDown1.Maximum = 100;
            numericUpDown1.Minimum = 0;
        }
        //zisk
        private void progressBar1_Click(object sender, EventArgs e)
        {
            
        }
        //napěťová špička
        private void label1_Click(object sender, EventArgs e)
        {

        } 
    }
}

Můžete mi prosím poradit: u FFTSamplesProcessed se mi vypsalo: The type or namespace name 'FFTSamplesProcessed' could not be found. Předem děkuji za odpověď

Nahlásit jako SPAM
IP: 88.100.249.–
ingiraxo+15
Grafoman
6. 5. 2012   #7
-
0
-

Stále nechápu kde je problém, jasně ti to píše:

Typ nebo název jmeného prostoru "FFTSamplesProcessed" nebyl nalezen.

Nahlásit jako SPAM
IP: 213.168.183.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
amertak0
Návštěvník
6. 5. 2012   #8
-
0
-

Zkus si něco nastudovat o "namespace" a nejlépe celkově o C#.

Nahlásit jako SPAM
IP: 80.251.241.–
certeon0
Newbie
6. 5. 2012   #9
-
0
-

Je FFTSamplesProcessed třída nebo jiný datový typ, který jsi převzal z cizího kódu?

Pokud ano, tak ti chybí odkaz v References a vložený using odkazující na namespace, ve které se nachází daný datový typ.

Nahlásit jako SPAM
IP: 109.71.213.–
Tomas.P0
Newbie
14. 5. 2012   #10
-
0
-

Zdravím, doplnil jsem zápis using System.Threading;, ale nepomohlo to.

Nahlásit jako SPAM
IP: 158.196.195.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 16 hostů

Podobná vlákna

Program — založil Jan Burant

C# program — založil Tomas.P

Program do C++ — založil elis5

Program — založil dakine

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý