Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: Omicron_Persey_8
Дата сообщения: 30.06.2010 19:16
Qwerty93
Круто, конечно. Прям нужно тетраэдр Серпинского нарисовать или треугольником ограничится? Можно, в принципе, попробовать, интересная задачка. На чём творить будем?
Автор: v1rtyaluk
Дата сообщения: 30.06.2010 20:17
Omicron_Persey_8

Код: private void rb_Checked(object sender, System.Windows.RoutedEventArgs e)
{
string im = Environment.CurrentDirectory + "\\Data\\Preview";
switch (((RadioButton)sender).Name)
{
case "radioButton1":
image1.Source = new BitmapImage(new Uri(im+"\\beeline.png"));
return;
case "radioButton2":
image1.Source = new BitmapImage(new Uri(im+"\\sunflower.png"));
return;
case "radioButton3":
image1.Source = new BitmapImage(new Uri(im+"\\5004.png"));
return;
case "radioButton4":
image1.Source = new BitmapImage(new Uri(im + "\\50041.png"));
return;
case "radioButton5":
image1.Source = new BitmapImage(new Uri(im + "\\50042.png"));
return;
case "radioButton6":
image1.Source = new BitmapImage(new Uri(im + "\\50043.png"));
return;
case "radioButton7":
image1.Source = new BitmapImage(new Uri(im + "\\50044.png"));
return;
case "radioButton8":
image1.Source = new BitmapImage(new Uri(im + "\\50045.png"));
return;
case "radioButton9":
image1.Source = new BitmapImage(new Uri(im + "\\50046.png"));
return;
case "radioButton10":
image1.Source = new BitmapImage(new Uri(im + "\\50047.png"));
return;
case "radioButton11":
image1.Source = new BitmapImage(new Uri(im + "\\50048.png"));
return;
case "radioButton12":
image1.Source = new BitmapImage(new Uri(im + "\\50049.png"));
return;
case "radioButton13":
image1.Source = new BitmapImage(new Uri(im + "\\500410.png"));
return;
case "radioButton14":
image1.Source = new BitmapImage(new Uri(im + "\\15004.png"));
return;
case "radioButton15":
image1.Source = new BitmapImage(new Uri(im + "\\25004.png"));
return;
case "radioButton16":
image1.Source = new BitmapImage(new Uri(im + "\\35004.png"));
return;
case "radioButton17":
image1.Source = new BitmapImage(new Uri(im + "\\45004.png"));
return;
case "radioButton18":
image1.Source = new BitmapImage(new Uri(im + "\\55004.png"));
return;
}
Автор: KChernov
Дата сообщения: 30.06.2010 23:13
v1rtyaluk
Не красиво.
Вот если создать список с ключами, то вообще будет в 1 строчку
Автор: Qwerty93
Дата сообщения: 01.07.2010 11:45

Цитата:
Qwerty93
Круто, конечно. Прям нужно тетраэдр Серпинского нарисовать или треугольником ограничится? Можно, в принципе, попробовать, интересная задачка. На чём творить будем?

Скажу сразу я полный ноль в этом деле, надо ограничиться треугольником! Мне бы желательно расписать по этапам то, как получить то, что написано в вышеприведенной статье!
Автор: Mextrom
Дата сообщения: 01.07.2010 12:18
v1rtyaluk
Я так понимаю файлы с картинками подключены к проекту? Может тогда вместо

Код: string im = Environment.CurrentDirectory + "\\Data\\Preview";
Автор: v1rtyaluk
Дата сообщения: 01.07.2010 17:24
KChernov
Что-то не пойму.Как??

Mextrom
Файлы с картинками не подключены к проекту.
Через-то использую:

Код:
string im = Environment.CurrentDirectory + "\\Data\\Preview";
Автор: Qwerty93
Дата сообщения: 01.07.2010 17:28
Если получиться скомпилировать программу то буду Вам оочень благодарен!
Автор: mrherbrooks
Дата сообщения: 02.07.2010 08:37

Цитата:
Что-то не пойму.Как??

что же тут не понятного. создать список с двумя полями ключ-значение (имя кнопки, путь) - применить можно тот же словарь или хеш таблицу, затем по ключу (имя кнопки) вызываешь значение и присваиваешь image1.Source.
Автор: Omicron_Persey_8
Дата сообщения: 02.07.2010 14:36
Потратив полчаса обеденного перерыва родил это:

Код: public partial class Form2 : Form
{
private const int MaxLevel = 3;

public Form2()
{
InitializeComponent();
SetStyle(ControlStyles.ResizeRedraw, true);
//DrawTriangle(this.pictureBox1.CreateGraphics());
}

private void DrawTriangle(Graphics g)
{
Point pt1 = new Point(this.ClientRectangle.Width / 2, 10);
int h = this.ClientRectangle.Height - 20;
Point pt2 = pt1;
Point pt3 = pt1;
pt2.Offset((int)(-h * Math.Cos(Math.PI / 6.0) / 2), h);
pt3.Offset((int)(h * Math.Cos(Math.PI / 6.0) / 2), h);
g.FillPolygon(Brushes.Black , new Point[] { pt1, pt2, pt3});
Triangle(g, pt1, pt2, pt3, 1);
}

private void Triangle(Graphics g, Point p1, Point p2, Point p3, int level)
{
Point c1 = new Point(Math.Abs(p3.X + p2.X) / 2, Math.Abs(p3.Y + p2.Y) / 2);
Point c2 = new Point(Math.Abs(p3.X + p1.X) / 2, Math.Abs(p3.Y + p1.Y) / 2);
Point c3 = new Point(Math.Abs(p2.X + p1.X) / 2, Math.Abs(p2.Y + p1.Y) / 2);
g.FillPolygon(Brushes.White, new Point[] { c1, c2, c3 });

if (level < MaxLevel)
{
Triangle(g, p1, c3, c2, level + 1);
Triangle(g, c3, p2, c1, level + 1);
Triangle(g, c2, c1, p3, level + 1);
}
}

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
DrawTriangle(e.Graphics);
}
Автор: IronArt
Дата сообщения: 02.07.2010 19:42
Народ, кто знает как мне получить данные из SqlDataSource1 без какого-либо контрола(grid, list и т.д. )??? Например, мне нужно значение какого-то поля(которое получает команда Select), так вот, как на стороне клиента достучаться до данных???


з.ы. на стороне сервера подобное выглядит следующим образом
DataView dview = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
string str = dview[0].Row.ItemArray[1].ToString();




Добавлено:
кстати, уже удалось дёрнуть DataView на клиенте

<%# (System.Data.DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty)%>

а вот как достучаться до коллекции Item-ов (

бли, ну кто-нить отзовитесь...
Автор: v1rtyaluk
Дата сообщения: 03.07.2010 14:50
Помогите, пожалуйста.

Пишу библиотеку, добавил пользовательский элемент управления WPF - UserControl.xaml.
Потом в коде класса пишу:

Код:
namespace Virtyaluk
{
public class testWPF
{
public static void UserControl1()
{
UserControl1 uc=new UserControl1();
uc.********* <--- что здесь писать, чтоб форма отобразилась как в form.ShowDialog();
}
}
}
Автор: Omicron_Persey_8
Дата сообщения: 03.07.2010 19:03
v1rtyaluk
Вообще

Код:
Window w = new Window();
w.Show();
Автор: Mextrom
Дата сообщения: 03.07.2010 23:37
v1rtyaluk

Цитата:
Но мне почему-то кажется, что ты свой новый контрол на форму не положил.

По-моему тоже. Если это контрол какой-то, то добавь его внутрь какого-нибудь контейнера. Например, если в грид, то примерно так

Код: MyControl control = new MyControl();
control.SetValue(Grid.ColumnProperty, X);
control.SetValue(Grid.RowProperty, Y);
grid.Children.Add(control);
Автор: Qwerty93
Дата сообщения: 06.07.2010 12:45
Omicron_Persey_8
мне бы это в 3d получить
Автор: Omicron_Persey_8
Дата сообщения: 07.07.2010 13:48
Qwerty93

Цитата:
Скажу сразу я полный ноль в этом деле, надо ограничиться треугольником!

А как тогда это понимать?. Напиши полностью задачу.
Автор: Qwerty93
Дата сообщения: 07.07.2010 15:13

Цитата:
А как тогда это понимать?. Напиши полностью задачу.

Цель - это получение 3d модели фрактала "Треугольник Серпинского" в программе Visual studio!
Автор: mrherbrooks
Дата сообщения: 07.07.2010 15:39

Цитата:
Цель - это получение 3d модели фрактала "Треугольник Серпинского" в программе Visual studio!

для этого самое то использовать XNA.
Вот только сама задача - особенно с нуля - это труд уже не безвозмездный.
Автор: Qwerty93
Дата сообщения: 07.07.2010 16:52

Цитата:
особенно с нуля

ну как бэ не совсем с нуля http://www.opita.net/node/511
Автор: Mextrom
Дата сообщения: 07.07.2010 16:53
mrherbrooks

Цитата:
для этого самое то использовать XNA.

Зачем XNA, он же не игру пишет, тогда уж Tao Framework.
Автор: mrherbrooks
Дата сообщения: 07.07.2010 19:31

Цитата:
Зачем XNA, он же не игру пишет, тогда уж Tao Framework.

хе. на XNA можно только игры писать?
Можно и TAO.
Это вопрос философский - OpenGL или DirectX.


Цитата:
ну как бэ не совсем с нуля

о! если есть алгоритм - уже можно попробывать перенести.

Автор: Qwerty93
Дата сообщения: 07.07.2010 20:12
Чтобы построить этот фрактал, нужно подключить gtk? но я не знаю как это сделать, не подскажите?
Автор: ComradG
Дата сообщения: 07.07.2010 20:31
С учетом здешнего времени, добрый вечер, господа! Я не программирую на VB.Net (не подумайте чего, просто я его не знаю), но вопрос у меня как раз относительно оного. Если не ошибаюсь, Visual Studio гененрирует для VB.Net шаблоны вроде:

Код: Imports System
Imports System.Drawing
Imports System.Windows.Forms

Public Class frmMain
Inherits Form

Public Sub New()
MyBase.New()
InitializeComponent()
End Sub

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

Private components As System.ComponentModel.IContainer

Private Sub InitializeComponent()
End Sub

Sub Main()
End Sub

End Class
Автор: Mextrom
Дата сообщения: 07.07.2010 21:55
mrherbrooks

Цитата:
на XNA можно только игры писать?

Но предназначен все-таки для написания игр. Кстати, не знаю, как в XNA с рисованием примитивов.
Qwerty93

Цитата:
нужно подключить gtk? но я не знаю как это сделать,

Можно попробовать поставить gtk#.
Автор: ComradG
Дата сообщения: 07.07.2010 22:13
Mextrom
gtk# не есть гуд, лучше чистого gtk, пожалуй, нет. Да и сами игры писать на C# полностью не очень практично: использование WinAPI в остросишных проектах плюс двустторонняя компиляция не самый лучший подход. Исходя из личного опыта могу сказать , когда наша конторка писала игруху, то основным языком были выбраны приплюснутые сиськи, правда часть кода все равно была написана на Managed C++, а вот ланчура и некотрые либы были спроектированы на С#, - в результате проект получился очень легким на подъем.
На счет XNA и примитивов - там, если мне не изменяет память, все это имеется и реализовано довольно неплохо.
Автор: BlackVetal
Дата сообщения: 08.07.2010 05:30
ComradG
Не знаю подойдет тебе или нет - простая форма 300х300 - сгенерирована автоматом VS2010. Читать
[more=здесь]
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Form1
Inherits System.Windows.Forms.Form

'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub

'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.SuspendLayout()
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(300, 300)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)

End Sub

End Class

[/more]
Автор: ComradG
Дата сообщения: 08.07.2010 08:34
BlackVetal
За помощь ОГРОМНОЕ СПАСИБО! Единственный вопрос, который у меня возник: в Бейсике же вроде тоже как и в C# должна быть точка входа в приложение, наверное, что-то вроде

Код: Sub Main()
End Sub
Автор: Omicron_Persey_8
Дата сообщения: 08.07.2010 10:18
ComradG
Да он там есть, только из студийного проекта до него, походу, не доберешься. При компиляции создается класс MyApplication и в нем сидит Main(ByVal Args As String()). Его даже в Object Browser'е нет. А сам класс можно увидеть, в подкаталоге MyApplication проекта, файл Application.Designer.vb.
Автор: ComradG
Дата сообщения: 08.07.2010 10:44
Omicron_Persey_8
Спасибо, друг, за развернутую информацию! Кстати, лично ты - прогаешь на Васике? Если да, то стоит ли на него обратить внимание? А то я только и прогаю в Си и подобных ему языках.
Автор: Omicron_Persey_8
Дата сообщения: 08.07.2010 16:47
ComradG
Писал когда-то, когда он еще 6 версии был. Если все равно, на чем под .Net писать, то по моему мнению лучше C# сначала освоить. А потом и разницу почувствовать с VB.NET, MC++ и прочим.
Автор: Garrett
Дата сообщения: 08.07.2010 19:24
ComradG
Не советую на VB.NET, как и MC++. Если под .NET работать, то на его родном языке C#.
Если .NET не нужен, то можно выбрать любой язык(кроме Бейсика) и в зависимости от задачи. Может где-то и простого скриптового языка(питон, пхп) хватит, а где-то будет нужна скорость(но не с базами) и консольный вывод - тогда только C++.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.