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

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

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2019, 18:04   #31
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Visual Basic 6.0
di-BXMXVP.png
или так
di-QB84JX.png

Последний раз редактировалось kvitaliy; 29.03.2019 в 18:10.
kvitaliy вне форума Ответить с цитированием
Старый 29.03.2019, 18:28   #32
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 980
По умолчанию

видим на любом бэйсике коротко и быстро
и ещё бы добавить очистку до построений

сейчас обновлённый C# рельеф
строится рывками зато экран очищается
и всё также пожирает ресурсы



Код:
//RELIEF
using System;
using System.Drawing;
using System.Windows.Forms;
class RELIEF
{
	Timer timer;
	Form form;
	
	int[,] a = new int[22, 22];
	static void Main(string[] args) 
	{
	var p = new RELIEF();
	}
	public RELIEF()
	{
	form = new Form() { Text = "RELIEF", Width = 600, Height = 360 };
       	timer = new Timer() { Interval = 100 };
	timer.Tick += delegate(object sender, EventArgs e)
		{
	Random rand = new Random();
// массиввысот
		for (int x = 1; x <=12; x++)
		{
	for (int y = 1; y <=12; y++)
	a[x,y]=rand.Next(20);
		}
// паралл Х
	Graphics f = Graphics.FromHwnd(form.Handle);
	f.Clear(Color.Green);

	for (int y = 1; y <=12; y++)
	{
	for (int x = 1; x <=11; x++)
	{
	Bitmap dblBuffer = new Bitmap(form.Width, form.Height);
	Graphics g = Graphics.FromImage(dblBuffer);
	g.DrawLine(Pens.Red, new Point(50+20*x+20*y, 300-20*y-a[x,y]), new Point(50+20*(x+1)+20*y, 300-20*y-a[x+1,y]));
	f.DrawImage(dblBuffer, new Point(0, 0));
 			}
		}
// паралл У
	for (int x = 1; x <=12; x++)
	{
	for (int y = 1; y <=11; y++)
	{
	Bitmap dblBuffer = new Bitmap(form.Width, form.Height);
	Graphics g = Graphics.FromImage(dblBuffer);
	g.DrawLine(Pens.Red, new Point(50+20*x+20*y, 300-20*y-a[x, y]), new Point(50+20*(x+1)+20*y, 300-20*(y+1)-a[x, y+1]));
	f.DrawImage(dblBuffer, new Point(0, 0));
 			}
		}
	Array.Clear(a, 0, 22);
	};
	timer.Start();
	Application.Run(form);
	}	 
}
причём на форуме рельефы не нахожу
и из всех графических работают лишь
C# маятник с таймером и C# диагонали
реализующие 1bas=1exe & 1cs=1exe
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 29.03.2019 в 20:50.
сфинкс вне форума Ответить с цитированием
Старый 29.03.2019, 20:05   #33
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,764
По умолчанию

Цитата:
Сообщение от сфинкс Посмотреть сообщение
видим на любом бэйсике коротко и быстро
Когда за вас постарались разработчики либ - да.

Цитата:
Сообщение от сфинкс Посмотреть сообщение
строится рывками зато экран очищается
и всё также пожирает ресурсы
А вы поставьте в таймер побольше задержку, еще больше не нужных объектов посохдавайте и рисуйте не опенгл, а только канвой... можете еще цикл на пару лямов итераций бахнуть...
p51x вне форума Ответить с цитированием
Старый 30.03.2019, 08:47   #34
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 980
По умолчанию

новая программа соединяет 8 случайных точек



причём пауза между рисованием линий специально
и заодно иллюстрируется комбинаторика



мои любимые пирамиды (с) сфинкс
где главное: связь именно 2-х точек

Код:
//DAV.cs
using System; 
using System.Drawing;
using System.Windows.Forms;

class DAV: Form
	{
	public static void Main()
	{
	Application.Run(new DAV());
	}
	public DAV()
		{
		Text = "DAV";
		BackColor = SystemColors.WindowText;
		ForeColor = SystemColors.Window;
		ResizeRedraw = true;
		Width = 600;
		Height = 360;
		}
	protected override void OnPaint(PaintEventArgs dan)
		{
int[] x = new int[10];
int[] y = new int[10];
Random rand = new Random();

for (int k = 1; k < 2; k++)
		{
	for (int i = 1; i <=8; i++)
		{
x[i]=50+rand.Next(400);
y[i]=50+rand.Next(200);
		}
	Graphics da = dan.Graphics;
	Pen pen = new Pen(ForeColor);
for (int i = 1; i <=8; i++)
da.DrawEllipse(new Pen(Color.Magenta, i), x[i]-10, y[i]-5, 20, 10);

for (int i = 1; i <= 7; i++)
			{
for (int j = i+1; j <= 8; j++)
				{
	Graphics dav = dan.Graphics;
dav.DrawLine(new Pen(Color.Red, i), new Point(x[i], y[i]), new Point(x[j], y[j]));
System.Threading.Thread.Sleep(200);
				} // j
			}//i
		}//k
System.Threading.Thread.Sleep(5000);
	Array.Clear(x, 0, 10);
	Array.Clear(y, 0, 10);
	}
}
очевидно программа создана без бэйсик
и далее переделаю без таймера рельеф

и для само обучения возможно создать
такую же программу на другом языке программирования
учитывая эллипсы и разную толщину линий

причём определить сумму длин отрезков
возможно используя предыдущие программы данной темы

напоминаю страницы созвучные данной моей теме
http://rosettacode.org/wiki/Category:C_sharp
http://rosettacode.org/wiki/Category:QB64
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 31.03.2019 в 00:33.
сфинкс вне форума Ответить с цитированием
Старый 31.03.2019, 02:27   #35
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 980
По умолчанию

рисуем 5D рельеф через случайный массив высот



пока не найдена очистка экрана
просто перерисовывается под цвет фона
зато без рывков

использована заготовка диагоналей формы
однако другие найденные программы слишком сложные
и не соблюдают 1cs=1exe

Код:
//daRELIEF.cs
using System; 
using System.Drawing;
using System.Windows.Forms;

class daRELIEF: Form
	{
	public static void Main() 
	{
	Application.Run(new daRELIEF());
	}
	public daRELIEF()
		{
Text = "daRELIEF";
BackColor = System.Drawing.Color.Blue;
ForeColor = System.Drawing.Color.Red;
ResizeRedraw = true;
Width = 600;
Height = 360;
		}
	protected override void OnPaint(PaintEventArgs dan)

		{
int[,] a = new int[22, 22];
Random rand = new Random();

for (int k = 1; k < 22; k++) //da:
	{	
// массив высот
	for (int x = 1; x <=12; x++)
		{
	for (int y = 1; y <=12; y++)
	a[x,y]=rand.Next(20);
		}
// паралл Х красный
	for (int y = 1; y <=12; y++)
	for (int x = 1; x <=11; x++)
	{
Graphics da = dan.Graphics;
da.DrawLine(new Pen(Color.Red, x/2), new Point(50+20*x+20*y, 300-20*y-a[x,y]), new Point(50+20*(x+1)+20*y, 300-20*y-a[x+1,y]));
	}
// паралл У красный
	for (int x = 1; x <=12; x++)
	for (int y = 1; y <=11; y++)
	{
Graphics dav = dan.Graphics;
dav.DrawLine(new Pen(Color.Red, y/2), new Point(50+20*x+20*y, 300-20*y-a[x, y]), new Point(50+20*(x+1)+20*y, 300-20*(y+1)-a[x, y+1]));
	}
System.Threading.Thread.Sleep(1000);

// паралл Х синий 
	for (int y = 1; y <=12; y++)
	for (int x = 1; x <=11; x++)
	{
Graphics da = dan.Graphics;
da.DrawLine(new Pen(Color.Blue, x/2), new Point(50+20*x+20*y, 300-20*y-a[x,y]), new Point(50+20*(x+1)+20*y, 300-20*y-a[x+1,y]));
	}
// паралл У синий
	for (int x = 1; x <=12; x++)
	for (int y = 1; y <=11; y++)
	{
Graphics dav = dan.Graphics;
dav.DrawLine(new Pen(Color.Blue, y/2), new Point(50+20*x+20*y, 300-20*y-a[x, y]), new Point(50+20*(x+1)+20*y, 300-20*(y+1)-a[x, y+1]));
	}
	Array.Clear(a, 0, 22);
	}//k	goto da;
	}
}
далее рассмотрим строки и простые действия
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 31.03.2019 в 02:36.
сфинкс вне форума Ответить с цитированием
Старый 01.04.2019, 12:00   #36
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 980
По умолчанию

1 апреля



1 april



? легко нарисовать данные картинки на basic & c# ?

? is it easy to draw these pictures on basic & c# ?

http://rosettacode.org/wiki/Category:C_sharp
http://rosettacode.org/wiki/Category:QB64
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 05.04.2019, 13:41   #37
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 980
По умолчанию



анимация "Кот Бэйсик" и далее возможна параметризация

особенность: вместо очистки экрана и зарисовки цветом фона
накладывается закрашенный прямоугольник на часть экрана

5д программы выше изменены для себя тоже и стали без таймера
используя 2-й включившийся пример
из найденных 100 графических невключившихся


Код:
//cat.cs
using System; 
using System.Drawing;
using System.Windows.Forms;

class cat: Form
	{
	public static void Main()
	{
	Application.Run(new cat());
	}
	public cat()
		{
		Text = "cat";
	BackColor = System.Drawing.Color.Blue;
	ForeColor = System.Drawing.Color.Red;
		ResizeRedraw = true;
		Width = 600;
		Height = 360;
		}
	protected override void OnPaint(PaintEventArgs dan)
		{
Pen pen = new Pen(ForeColor);
SolidBrush BlueBrush = new SolidBrush(Color.Blue);
Graphics dav = dan.Graphics;

	for (int k = 1; k <=5; k++)
	for (int x = -50; x <=50; x++)
	{
int y=0;
if (x< 50) y=-x/5;
if (x< 25) y= x/5;
if (x<-25) y=-x/5;
if (x<-50) y= x/5;

dav.FillRectangle(BlueBrush, 0, 120, 600, 200);

dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+195, 225, 10, -80);
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+200, 200, 100, y+50);
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+280, y+170, 50, 50);

dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+290, y+190, 10, 10);//x/5, x/5
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+294, y+194, 2, 2);
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+310, y+190, 10, 10);//x/5, x/5
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+314, y+194, 2, 2);

dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+280, y+205, 25, 10);
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+310, y+205, 25, 10);

dav.DrawLine(new Pen(Color.Magenta, 3), new Point(x*k+280, y+190), new Point(x*k+280, y+160));
dav.DrawLine(new Pen(Color.Magenta, 3), new Point(x*k+290, y+175), new Point(x*k+280, y+160));
dav.DrawLine(new Pen(Color.Magenta, 3), new Point(x*k+330, y+190), new Point(x*k+330, y+160));
dav.DrawLine(new Pen(Color.Magenta, 3), new Point(x*k+320, y+175), new Point(x*k+330, y+160));

dav.DrawLine(new Pen(Color.Magenta, 3), new Point(x*k+210, 240), new Point(x*k+210, 280));
dav.DrawLine(new Pen(Color.Magenta, 3), new Point(x*k+220, 230), new Point(x*k+220, 290));
dav.DrawLine(new Pen(Color.Magenta, 3), new Point(x*k+280, 230), new Point(x*k+280, 290));
dav.DrawLine(new Pen(Color.Magenta, 3), new Point(x*k+290, 240), new Point(x*k+290, 280));

dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+205, 275, 10, 10);
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+215, 285, 10, 10);
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+275, 285, 10, 10);
dav.DrawEllipse(new Pen(Color.Magenta, 3), x*k+285, 275, 10, 10);

System.Threading.Thread.Sleep(10);
}
}
}
Накануне распечатал книжку из дюжины моих программ
не включая чужие непонятные
и для само обучения для начала
достаточно вписать комментарии к строкам вручную

Далее исследую Windows окна и формы
соблюдающие принцип 1cs=1exe
чтоб компилировались без сред
и уже готовы этюды про строки
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 05.04.2019 в 13:51.
сфинкс вне форума Ответить с цитированием
Старый 05.04.2019, 13:56   #38
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от сфинкс Посмотреть сообщение
соблюдающие принцип 1cs=1exe
чтоб компилировались без сред
Заметил, что ни где не приведён способ компилирования приведённых кодов программ. Наверно нужно объяснить, для полноты картины,где взять в системе компилятор, как составить командную строку для компиляции, как сделать консольное приложение, как оконное, как DLL и т.п.
kvitaliy вне форума Ответить с цитированием
Старый 05.04.2019, 14:03   #39
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 980
По умолчанию

тексты готовы только размещаю частями

использую для компиляции name.bat
в каталоге FrameWork где csc.exe
и другие сообщают у них стартует

csc.exe /nologo name.cs
pause

но неизвестно стартуют ли оконные с кнопками
и с элементами без среды программирования



добавлено чтоб не началась новая страница:

анимация выше показывает адрес
C:\ Windows\ Microsoft.NET\ Framework64 \ v4.0.30319
и у меня и у проверявших компилируется
и ещё внутри
C:\Windows\Microsoft.NET\Framework
в каталогах где есть csc.exe

зато у кого в компах нет Framework
у тех возможно может не стартовать

и для проверки текстовые компилируются онлайн

https://rextester.com/RGTBXB16905 текстовые преобразования
https://rextester.com/JRGX29275 угадывает 1 из 1000000000
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 05.04.2019 в 14:46.
сфинкс вне форума Ответить с цитированием
Старый 05.04.2019, 14:07   #40
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,764
По умолчанию

Какой такой FrameWork? А csc.exe у меня аж 4 штуки. А это с оптимизацией? А почему на других компах не запускается?
p51x вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод кода из qb64 qbasic на C++ AlexDolmat Помощь студентам 0 07.02.2022 01:02
сила трения на qbasic64 - программа, изображающей силу трению в qb64. Например движение бруска по земле блин ир Помощь студентам 3 17.12.2019 13:47
Задача Basic Excel tooooool Помощь студентам 0 20.04.2012 20:00
Visual Basic интегрированный в Excel a1b2 Microsoft Office Excel 3 23.12.2010 19:53