Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2012, 21:34   #1
Ysmanec
 
Регистрация: 29.11.2011
Сообщений: 8
По умолчанию Проект на C# (CLR) с dll

Проект на C# (CLR) в Visual Studio 10... Проблемка в том, что я не знаю как подключить dll, в которой реализуется вычисления тригонометрических функций... Помогите пожалуйста.

Код HTML:
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 MathFunctionF
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button3_Click(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
progressBar1.Value = 0;
timer1.Enabled = true;
double a, b, res;

a = Convert.ToDouble(textBox1.Text);
b = Convert.ToDouble(textBox2.Text);

if (comboBox1.SelectedIndex == 0)
{
res = a + b;
textBox3.Text = Convert.ToString(res);
}
if (comboBox1.SelectedIndex == 1)
{
res = a - b;
textBox3.Text = Convert.ToString(res);
}
if (comboBox1.SelectedIndex == 2)
{
res = a * b;
textBox3.Text = Convert.ToString(res);
}
if (comboBox1.SelectedIndex == 3)
{
if (b == 0)
MessageBox.Show("Ошибка деления на ноль!");
else
{
res = a / b;
textBox3.Text = Convert.ToString(res);
}
}
if (comboBox1.SelectedIndex == 4)
{
if (b == 0)
MessageBox.Show("Ошибка деления на ноль!");
else
{
res = a % b;
textBox3.Text = Convert.ToString(res);
}
}
}

private void button2_Click(object sender, EventArgs e)
{
progressBar2.Value = 0;
timer2.Enabled = true;

double a, b, res;

a = Convert.ToDouble(textBox6.Text);
a = a * Math.PI / 180;
if (comboBox2.SelectedIndex == 0)
{
res = Math.Abs(a);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 1)
{
res = Math.Acos(a);
res = Math.Round(res, 5);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 2)
{
res = Math.Asin(a);
res = Math.Round(res, 5);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 3)
{
res = Math.Atan(a);
res = Math.Round(res, 5);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 4)
{
b = Convert.ToDouble(textBox5.Text);
res = Math.Atan2(a, b);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 5)
{
res = Math.Cos(a);
res = Math.Round(res, 5);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 6)
{
res = Math.Sin(a);
res = Math.Round(res, 5);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 7)
{
res = Math.Tan(a);
res = Math.Round(res, 5);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 8)
{
res = Math.E;
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 9)
{
res = Math.PI;
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 10)
{
res = Math.Log10(a);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 11)
{
res = Math.Round(a);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 12)
{
res = Math.Sqrt(a);
textBox4.Text = Convert.ToString(res);
}
if (comboBox2.SelectedIndex == 13)
{
res = Math.Truncate(a);
textBox4.Text = Convert.ToString(res);
}
}

private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox2.SelectedIndex == 4)
textBox5.Enabled = true;
else
textBox5.Enabled = false;
}

private void label1_Click(object sender, EventArgs e)
{


}

private void Form1_Load(object sender, EventArgs e)
{

}

private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Minimum = 0;
progressBar1.Maximum = 1;
progressBar1.Step = 1;
progressBar1.PerformStep();

}

private void progressBar2_Click(object sender, EventArgs e)
{

}

private void progressBar1_Click(object sender, EventArgs e)
{

}

private void timer2_Tick(object sender, EventArgs e)
{
progressBar2.Minimum = 0;
progressBar2.Maximum = 1;
progressBar2.Step = 1;
progressBar2.PerformStep();
}

private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{

}

private void openToolStripMenuItem_Click(object sender, EventArgs e)
{

}

private void информацияToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("Сообщение");
}

private void menuStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{

}

}
}
http://zalil.ru/33098111 Проект

Последний раз редактировалось Ysmanec; 24.04.2012 в 21:37.
Ysmanec вне форума Ответить с цитированием
Старый 24.04.2012, 21:40   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

читайте про DllImport.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.04.2012, 22:01   #3
Ysmanec
 
Регистрация: 29.11.2011
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
читайте про DllImport.
спс, по читаем... что то никак не найду интересное что нить

Последний раз редактировалось Ysmanec; 24.04.2012 в 22:08.
Ysmanec вне форума Ответить с цитированием
Старый 24.04.2012, 22:26   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а подождите.
вам нужно подключить вашу ДЛЛ?

или вам просто нужны стандартные тригонометрические функции(System.Math)?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.04.2012, 22:29   #5
Ysmanec
 
Регистрация: 29.11.2011
Сообщений: 8
По умолчанию

создать её, в которой реализуется вычисления тригонометрических функций и подключить к моему проекту на CLR http://zalil.ru/33098111 Проект
Ysmanec вне форума Ответить с цитированием
Старый 24.04.2012, 22:40   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

и где там ваша dll?
на будущее, не нужно выкладывать проект, нужно конкретизировать вопрос:
1)есть ДЛЛ экспортирующая функции(список объявлений функций) как её подключить.
2)есть библиотека классов, как её применить.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.04.2012, 22:48   #7
Ysmanec
 
Регистрация: 29.11.2011
Сообщений: 8
По умолчанию

хочется узнать как созданную DLL связать с проектом...просто пока что понятия в этом малые...но очень хочется научиться
Ysmanec вне форума Ответить с цитированием
Старый 24.04.2012, 23:34   #8
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

чья длл? ваша? на чем написана?
=master= вне форума Ответить с цитированием
Старый 24.04.2012, 23:45   #9
Ysmanec
 
Регистрация: 29.11.2011
Сообщений: 8
По умолчанию

открываю visual studio 10->новый проект-> раздел C# и выбираю ClassLibrary

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ClassLibrary8
{
    public class Class1
    {
    }
}
Вот тут у меня и возникает вопрос как в ней реализовать вычислений тригонометрических функций, то есть я должен эту библиотеку подключить к своему проекту... Или хотя бы посоветуйте книгу, где всё подробно описано
Ysmanec вне форума Ответить с цитированием
Старый 25.04.2012, 00:00   #10
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

читайте про референсы (References)
=master= вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отличия С# от C++/CLR dampirik Общие вопросы .NET 13 14.12.2010 11:27
Где найти исходники на Java( 1 проект - больше 1000 классов, 2 проект - больше 100, 3 проект - больше 10) Pti44ka Общие вопросы по Java, Java SE, Kotlin 2 09.09.2010 21:31
C++/CLR dampirik Общие вопросы .NET 3 19.11.2009 13:26
рисование в си++/clr dampirik Общие вопросы C/C++ 4 06.10.2009 17:08
Visual c++ clr dampirik Общие вопросы .NET 1 27.08.2009 23:24