Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/40: Рейтинг темы: голосов - 40, средняя оценка - 4.95
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855

Тестирование с переходами к следующему и предыдущему вопросам

03.05.2015, 21:17. Показов 8290. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, господа!

Нужно создать тест на WinForms.
В начале теста нужно вывести 3 вопроса с вариантами ответа и кнопки с переходом к следующей строке вопросов и обратно для возможности изменить свой ответ.

Как можно организовать подобную вещь?

Вот так выводится только 1 вопрос и несколько ответов и только кнопка к следующему вопросу:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
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 FormTest
{
    public partial class Form1 : Form
    {
        int count = 0; //номер вопроса
        int max = 2; //количество вопросов(записаных при созданиие массива вопросов)
        int res; //количество правильных ответов
        Questions[] q1;
 
        class Questions //класс в котором будет храниться вопрос, варианты ответа и правильный ответ
        {
            private string qustion;  // вопрос
 
            public string Qustion
            {
                get { return qustion; }
                set { qustion = value; }
            }
            private string answer1;   //ответ а)
 
            public string Answer1
            {
                get { return answer1; }
                set { answer1 = value; }
            }
            private string answer2;   //ответ б)
 
            public string Answer2
            {
                get { return answer2; }
                set { answer2 = value; }
            }
            private string answer3;   // ответ в)
 
            public string Answer3
            {
                get { return answer3; }
                set { answer3 = value; }
            }
            private string answer4;  // ответ г)
 
            public string Answer4
            {
                get { return answer4; }
                set { answer4 = value; }
            }
            private string res;      //правильный ответ
 
            public string Res
            {
                get { return res; }
                set { res = value; }
            }
 
            public Questions(string _question, string a, string b, string c, string d, string r)
            {
                this.qustion = _question;
                this.answer1 = a;
                this.answer2 = b;
                this.answer3 = c;
                this.answer4 = d;
                this.res = r;
            }
        }
        public Form1()
        {
            InitializeComponent();
            //создаем массив с вопросами, вариантами ответов и правильным ответом
            Questions[] q = { new Questions("В каком году родился, автор данной темы?", "a.1989 год", "b.1988 год", "c.1986 год", "d.1990 год", "b"),
                            new Questions("Кто президент Украины?", "a.Янукович", "b.Тимошенко", "c.Кучма", "d.Мороз", "a")};
            q1 = q;
            //задаем первый вопрос
            label1.Text = q[0].Qustion;
            //варианты ответа
            radioButton1.Text = q[0].Answer1;
            radioButton2.Text = q[0].Answer2;
            radioButton3.Text = q[0].Answer3;
            radioButton4.Text = q[0].Answer4;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (count < max) //проверям количество заданых вопросов(больше чем есть в массиве задать не можем)
            {
                // сравниваем выбраный вариант с правильным
                if (radioButton1.Checked == true)
                {
                    if (q1[count].Res == "a")
                    { res++; } //если совпали, то количество правильных вопросов увеличиваем на 1
                }
                if (radioButton2.Checked == true)
                {
                    if (q1[count].Res == "b")
                    { res++; }
                }
                if (radioButton3.Checked == true)
                {
                    if (q1[count].Res == "c")
                    { res++; }
                }
                if (radioButton4.Checked == true)
                {
                    if (q1[count].Res == "d")
                    { res++; }
                }
                count++;
                if (count < max)
                {
                    label1.Text = q1[count].Qustion; //задаем слудующий вопрос
                    radioButton1.Text = q1[count].Answer1;
                    radioButton2.Text = q1[count].Answer2;
                    radioButton3.Text = q1[count].Answer3;
                    radioButton4.Text = q1[count].Answer4;
                }
                else
                {
                    button1.Enabled = false; // делаем кнопку на рабочей
                    label2.Text = "Количество правильных ответов: " + Convert.ToString(res);//выводим результат
                }
 
            }
 
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.05.2015, 21:17
Ответы с готовыми решениями:

Не работает тестирование - нет перехода к следующим вопросам
Здравствуйте, такая проблема, запускаю тест выбираю ответ жму кнопку далее и нечего не происходит, не переходит к следующим вопросам,...

Вопросам об оплате .
Говорят , что VC++ сейчас самый высокооплачиваемый язык . Так ли это?

Нужна помощь по нескольким вопросам!
1)Вот как мне сделать так чтобы можно было сделать выбрать сервер,но там когда выбераешь сервер нужна менять названия сервера в файле...

19
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
07.05.2015, 17:28  [ТС]
Товарищи! Вы хотя бы ответьте, почему не хотите помогать!
Может я чего то недописал или еще чего.
Зачем игнорить то?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
07.05.2015, 17:52
Цитата Сообщение от SuLLeN Посмотреть сообщение
Вы хотя бы ответьте
Отвечаю.
1. Сама идея, ятд, не верна в корне. Для хранения вопросов-ответов надо использовать к-либо хранилище (БД, например). У вас на ОДИН вопрос ушло столько строк кода, а сколько будет на 10 или 20?
Для начала сделайте это, БД с набором, отдельный класс для работы с ней (извлечение все наборов вопрос-варианты ответа-правильный ответ).
0
117 / 118 / 52
Регистрация: 19.12.2014
Сообщений: 612
07.05.2015, 18:15
insite2012, а можно xml документ использовать?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
07.05.2015, 18:22
Цитата Сообщение от lokilo Посмотреть сообщение
а можно xml документ использовать?
Можно. Но я бы использовал БД.
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
19.05.2015, 20:00  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
Для начала сделайте это, БД с набором, отдельный класс для работы с ней (извлечение все наборов вопрос-варианты ответа-правильный ответ).
Так?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
private void myTestsLoader()
{
    MySqlCommand myCQuestions = new MySqlCommand(@"SELECT * FROM questions;", myConnection);
    MySqlDataReader myRDQuestions;
    MySqlDataReader myRDAnswers;
    DataTable myTQuestions = new DataTable();
    DataTable myTAnswers = new DataTable();
    try
    {
        myConnection.Open();
        myRDQuestions = myCQuestions.ExecuteReader();
        myTQuestions.Load(myRDQuestions);
        myRDQuestions.Close();
        Label[] label = new Label[myTQuestions.Rows.Count];
        Panel[] myAnswersPanel = new Panel[myTQuestions.Rows.Count];
 
        for (int i = 0; i < myTQuestions.Rows.Count; i++)
        {
            MySqlCommand commandAnswers = new MySqlCommand(@"SELECT answers.answer FROM answers WHERE answers.question_id = '" +
                myTQuestions.Rows[i][0].ToString() + "';", myConnection);
            myRDAnswers = commandAnswers.ExecuteReader();
            myTAnswers.Load(myRDAnswers);
            myRDAnswers.Close();
 
            myAnswersPanel[i] = new Panel();
 
            label[i] = new Label();
            label[i].Text = i+1 + ") " + myTQuestions.Rows[i][1].ToString();
 
            if (i == 0)
                label[i].Location = new Point(20, 20);
            else
                label[i].Location = new Point(20, label[i-1].Location.Y + label[i-1].Height + myAnswersPanel[i-1].Height + 20);
 
            label[i].AutoSize = true;
            splitContainer1.Panel2.Controls.Add(label[i]);
 
            RadioButton[] button = new RadioButton[myTAnswers.Rows.Count];
 
            for (int j = 0; j < myTAnswers.Rows.Count; j++)
            {
                button[j] = new RadioButton();
                button[j].Text = myTAnswers.Rows[j][0].ToString();
                button[j].Location = new Point(20, j * 20);
                myAnswersPanel[i].Controls.Add(button[j]);
                myAnswersPanel[i].Width = button[j].Width;
                myAnswersPanel[i].Height = button[j].Height * myTAnswers.Rows.Count;
            }
 
            myAnswersPanel[i].Location = new Point(20, label[i].Location.Y + label[i].Height + 10);
            splitContainer1.Panel2.Controls.Add(myAnswersPanel[i]);
            myTAnswers.Clear();
        }
        myTQuestions.Clear();
    }
    catch (MySqlException ex)
    {
        MessageBox.Show("Подключение отсутствует!", "Ошибка!!!");
    }
    finally
    {
        myConnection.Close();
    }
}
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
19.05.2015, 22:29
Цитата Сообщение от SuLLeN Посмотреть сообщение
Как можно организовать подобную вещь?
А если по-простому: через формы, на которых в лэйблах находятся вопросы и ответы? Переходить от формы к форме туда-сюда, думаю, умеете. Кода - минимум. Мороки - тоже
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
21.05.2015, 20:04  [ТС]
Цитата Сообщение от chumich Посмотреть сообщение
А если по-простому: через формы, на которых в лэйблах находятся вопросы и ответы? Переходить от формы к форме туда-сюда, думаю, умеете. Кода - минимум. Мороки - тоже
И сколько мне придется создать форм, если 10 тестов понадобится?=))

Добавлено через 18 минут
Расскажите поподробнее на счет идеи с формами
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
21.05.2015, 20:08
Цитата Сообщение от SuLLeN Посмотреть сообщение
И сколько мне придется создать форм, если 10 тестов понадобится?=))
А сколько кода придется написать, чтобы измудриться и засунуть всё это в одну форму?
Можно создать для каждого теста одну форму с TabControl, количество вкладок в котором = количеству вопросов. Плюс диспетчерскую форму с комбобоксом для выбора теста. Ну, собственно, это на любителя Можно использовать БД, xml, текстовый файл, и выгружать оттуда вопросы и ответы. Можно задавать массивы в самой программе. Не буду утверждать, но почему-то мне кажется, что кол-во форм*кол-во вкладок*код вкладки будет намного меньше, чем код для одной формы, вмещающей всё. Плюс экономия времени, на то, чтобы придумать как это сделать.
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
21.05.2015, 20:35
Цитата Сообщение от SuLLeN Посмотреть сообщение
Расскажите поподробнее на счет идеи с формами
А что рассказывать? На форме лэйблы, переключатели и кнопки Назад и Далее. Далее - открывает следующую форму-вопрос, Назад - предыдущую. Система подсчета баллов - элементарна.
В случае формы с вкладками - достаточно кнопки Принять ответ. Всё остальное - также.
Миниатюры
Тестирование с переходами к следующему и предыдущему вопросам   Тестирование с переходами к следующему и предыдущему вопросам  
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
21.05.2015, 20:48  [ТС]
Цитата Сообщение от chumich Посмотреть сообщение
А что рассказывать? На форме лэйблы, переключатели и кнопки Назад и Далее. Далее - открывает следующую форму-вопрос, Назад - предыдущую. Система подсчета баллов - элементарна.
В случае формы с вкладками - достаточно кнопки Принять ответ. Всё остальное - также.
Можно пример? раз вы уже накидали=)
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
21.05.2015, 21:10
Цитата Сообщение от SuLLeN Посмотреть сообщение
Можно пример?
Пример чего?
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
21.05.2015, 21:27  [ТС]
Цитата Сообщение от chumich Посмотреть сообщение
Пример чего?
Пример теста в виде кода или исходников...
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
22.05.2015, 00:37

Не по теме:

SuLLeN, вы меня пугаете :). 4 года на форуме, 600 с лишним сообщений... Не поверю, что это так уж сложно для вас.


Ну, хорошо. Для скрина с вкладками. Создаете класс для определения "глобальной" переменной:
C#
1
2
3
4
static Class1
{
    public static int result = 0;
}
На всех вкладках по вопросу с выбором ответа из трех вариантов. Код кнопки Принять ответ:
C#
1
2
3
4
5
6
button1_Click() //лень писать полностью
{
      if (radioButton3.Checked == true) Class1.result += 1; //номер радиобаттона, естественно на каждой вкладке свой
      button1.Visible = false;
      MessageBox.Show("Переходите на следующую вкладку");
}
Последняя вкладка для вывода результата. Код кнопки Показать результат:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
button1_Click()
{
        textBox1.Text = "Ваш результат: " + Class1.result.ToString + " из 3"
        switch case (Class1.result)
        {
            case 0:
                textBox2.Text = "Ваша оценка: 2";
                break;
            case 1:
                textBox2.Text = "Ваша оценка: 3";
                break;
            case 2:
                textBox2.Text = "Ваша оценка: 4";
                break;
            case 3:
                textBox2.Text = "Ваша оценка: 5";
                break;
        }
}
Для скрина с простой формой. Наверно там тоже лучше сделать кнопку Принять ответ. Класс как в первом случае. Всё, что связано с выбором ответа, подсчета и вывода результатов - аналогично. Отличие - в наличии кнопок Далее и Назад. Код:
C#
1
2
3
4
5
6
button2_Click()
{
Form№ frm = new Form№();
frm.Show();
this.Close();
}
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
22.05.2015, 18:50  [ТС]
chumich, я то думал по существеннее что то будет (хотя бы программное создание радио кнопок и вкладок типа такого:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            myTest();
        }
 
        string[] questions = { "Первый вопрос", "Второй вопрос", "Третий вопрос", "Четвертый вопрос", "Пятый вопрос", "Шестой вопрос", "Седьмой вопрос", "Восьмой вопрос", "Девятый вопрос", "Десятый вопрос" };
        string[] answers = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" };
 
        void myTest()
        {
            TabControl myTab = new TabControl();
            TabPage[] myPage = new TabPage[questions.Length];
            Label[] myLabel = new Label[questions.Length];
            RadioButton[] myButton = new RadioButton[answers.Length];
 
            myTab.Dock = DockStyle.Fill;
            Controls.Add(myTab);
 
            for (int i = 0; i < 10; i++)
            {
                myPage[i] = new TabPage();
                myPage[i].Text = "Вопрос " + (i + 1);
                myTab.Controls.Add(myPage[i]);
 
                myLabel[i] = new Label();
                myLabel[i].Text = questions[i];
                myLabel[i].Location = new Point(20, 20);
                myPage[i].Controls.Add(myLabel[i]);
 
                for (int j = 0; j < 5; j++)
                {
                    myButton[j] = new RadioButton();
                    myButton[j].Text = answers[j];
                    myButton[j].Location = new Point(20, 20 * j + 40);
                    myPage[i].Controls.Add(myButton[j]);
                }
            }
        }
    }
}
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
22.05.2015, 19:12
Цитата Сообщение от SuLLeN Посмотреть сообщение
я то думал по существеннее что то будет
Да, сколько угодно Можно сделать исчезание и появление вопросов и ответов на одной форме, всё, что захотите. Я не говорил о том, как сделать крутую и эффектную программу. Я говорил и привел пример этого:
Цитата Сообщение от chumich Посмотреть сообщение
Кода - минимум. Мороки - тоже
С прагматической точки зрения для меня быстрее нащелкать вкладки, чем писать код их создания. И если важен работающий тест как результат, то какой смысл мудрить? Если же важны программные и интерфейсные решения, тогда, естественно, я буду изобретать их, не взирая на время и сложности.
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
22.05.2015, 19:17  [ТС]
Просто мне нужно сделать это не в отдельной форме, а встроить в уже имеющуюся, а там все создается динамически кроме splitPanel=))

Добавлено через 26 секунд
Я пока что эксперементирую с этим... а можно ли как то встоить форму в форму?
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
22.05.2015, 19:41
Цитата Сообщение от SuLLeN Посмотреть сообщение
а можно ли как то встоить форму в форму?
По мне, так, самый простой, опять же способ - сделать groupBoxы по числу вопросов, засунуть в каждый из них вопросы и ответы (в общем всё, что у меня на форме), наложить пространственно друг на друга, изначально сделать им (группбоксам) Visible = false, а потом по очереди делать их Visible = true
0
 Аватар для SuLLeN
23 / 23 / 12
Регистрация: 27.12.2011
Сообщений: 855
24.05.2015, 13:01  [ТС]
Во как сделал! Нагавнокодил уже простите, но работает как полагается:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
private void myLoadTests(int testNum)
{
    splitContainer1.Panel2.Controls.Clear();
    MySqlCommand command0 = new MySqlCommand(@"SELECT COUNT(*) FROM questions WHERE questions.test_id = " + testNum + ";", myConnection);
    int questionsCount = 0;
    try
    {
        myConnection.Open();
        questionsCount = Convert.ToInt32(command0.ExecuteScalar());
    }
    catch (MySqlException ex)
    {
        MessageBox.Show("Подключение отсутствует!", "Ошибка!!!");
    }
    finally
    {
        myConnection.Close();
    }
 
    MySqlCommand command1 = new MySqlCommand(@"SELECT questions.id, questions.question FROM questions WHERE questions.test_id = " + testNum + ";", myConnection);
    string[] questionsNames = new string[questionsCount];
    int[] questionsIDs = new int[questionsCount];
 
    TabControl myTab = new TabControl();
    myTab.Dock = DockStyle.Fill;
    splitContainer1.Panel2.Controls.Add(myTab);
    TabPage[] myPage = new TabPage[questionsCount];
    Label[] myQuestionLabel = new Label[questionsCount];
 
    try
    {
        myConnection.Open();
        rd = command1.ExecuteReader();
        int j = 0;
        while (rd.Read())
        {
            questionsIDs[j] = Convert.ToInt32(rd["id"]);
            questionsNames[j] = rd["question"].ToString();
            j++;
        }
        rd.Close();
    }
    catch (MySqlException ex)
    {
        MessageBox.Show("Подключение отсутствует!", "Ошибка!!!");
    }
    finally
    {
        myConnection.Close();
    }
 
    for (int i = 0; i < questionsCount; i++)
    {
        myPage[i] = new TabPage();
        myPage[i].Text = "Вопрос " + (i + 1);
        myTab.Controls.Add(myPage[i]);
 
        myQuestionLabel[i] = new Label();
        myQuestionLabel[i].Text = questionsNames[i];
        myQuestionLabel[i].Location = new Point(20, 20);
        myPage[i].Controls.Add(myQuestionLabel[i]);
 
        MySqlCommand command2 = new MySqlCommand(@"SELECT COUNT(*) FROM answers WHERE answers.question_id = " + questionsIDs[i] + ";", myConnection);
        int answersCount = 0;
        try
        {
            myConnection.Open();
            answersCount = Convert.ToInt32(command2.ExecuteScalar());
        }
        catch (MySqlException ex)
        {
            MessageBox.Show("Подключение отсутствует!", "Ошибка!!!");
        }
        finally
        {
            myConnection.Close();
        }
 
        MySqlCommand command3 = new MySqlCommand(@"SELECT answers.answer FROM answers WHERE answers.question_id = " + questionsIDs[i] + ";", myConnection);
        string[] answersNames = new string[answersCount];
        try
        {
            myConnection.Open();
            rd = command3.ExecuteReader();
            int k = 0;
            while (rd.Read())
            {
        answersNames[k] = rd["answer"].ToString();
        k++;
            }
            rd.Close();
        }
        catch (MySqlException ex)
        {
            MessageBox.Show("Подключение отсутствует!", "Ошибка!!!");
        }
        finally
        {
            myConnection.Close();
        }
 
        RadioButton[] answersButton = new RadioButton[answersCount];
 
        for (int j = 0; j < answersCount; j++)
        {
            answersButton[j] = new RadioButton();
            answersButton[j].Text = answersNames[j];
            answersButton[j].Location = new Point(20, 20 * j + 20);
            myPage[i].Controls.Add(answersButton[j]);
        }
    }
}
Добавлено через 25 секунд
Только пока кнопкочки не добавил и обработчика=)))))

Добавлено через 27 минут
Остается еще 1 вопрос, как обработать динамически сгенерированные RadioButtonы?
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
24.05.2015, 13:14
Цитата Сообщение от SuLLeN Посмотреть сообщение
как обработать динамически сгенерированные RadioButtonы
Вставляете в код создания контрола
C#
1
2
3
4
5
6
answersButton[j].Событие += ЧтоТосЧемТо;
// ну и, отдельно, обработку:
void ЧтоТосЧемТо(object sender, EventArgs e)
{
// здесь то, что должно происходить
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.05.2015, 13:14
Помогаю со студенческими работами здесь

по вопросам организации интернет магазина
Владею стойкими знаниями php, java, mysql, есть идея в моем городе открыть интернет магазин, город Кривой Рог, у нас в городе есть...

Перемещение по вопросам в программе тестирования
Ребята помогите выбрать правильное решение задачи. Классический экзамен, хочу реализовать перемещение по вопросам и подтягивание...

Нужна платная консультация по вопросам внутренней
Всем привет. Нужна платная консультация по вопросам внутренней оптимизации интернет магазина парфюмерии. кто возьмётся и сколько хотите....

Проблема с переходами из гугла
есть в топе пару фраз так вот когда на них переходить то вылетает на сайт раздела ХХХ _http://*******.com/index.php что сделать...

Создание теста (с возможностью возврата к предыдущим вопросам)
помогите пожалуйста создать тест в delphi, нужно создать тест по вкладкам, но так чтобы нельзя было возвращяться к предыдущему вопросу.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru