private void buttonSave_Click(object sender, System.EventArgs e)
{
string filename = this.textFolder.Text + '\\';
filename += this.textName.Text + ".csv";
if(File.Exists(filename))
{
if(MessageBox.Show("ファイルがすでに存在しています。\n上書きしますか?", "上書き確認",
MessageBoxButtons.YesNo) != DialogResult.Yes)
{
return;
}
}
DataList list = new DataList();
Channel channel = (Channel)this.comboChannel.SelectedIndex;
Spectrum spectrum = this.wave.GetSpectrum(channel);
int m = this.checkedListType.CheckedIndices.Count;
int length = this.wave.Count;
double fs = this.wave.Header.sampleRate;
double[] label = new double[length];
for(int i=0; i<length; ++i)
{
label[i] = fs / length * i;
}
list.Add("周波数", label);
for(int i=0; i<m; ++i)
{
Property type = (Property)this.checkedListType.CheckedIndices[i];
double[] data = WaveData.GetData(spectrum, type);
string title = (string)this.checkedListType.CheckedItems[i];
list.Add(title, data);
}
char delim;
switch(this.comboDelim.SelectedIndex)
{
case 0: delim = ','; break;
case 1: delim = '\t'; break;
default: delim = ' '; break;
}
try
{
list.Save(filename, delim, false);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}//class WaveSaveForm