русский
Germany.ruForen → Архив Досок→ Programmierung

Вопрос по С#

399  1 2 3 alle
viger2 постоялец29.08.09 22:29
viger2
NEW 29.08.09 22:29 
in Antwort monstrello72 29.08.09 13:15
В ответ на:
Подскажите пожалуйста как можно написать программу на С# по нижеследующей картинке.

интересно, откуда ты береш такие задания?
может стоит взять просто книжку типа C# за 21 день или тому подобное...
в таких книгах обычно каждый промежуточный шаг описан, что за чем делать...
просто иногда когда человек говорит "я незнаю как это зделать", невсегда знаеш что именно он незнает
а что знает... может ему просто одного промежуточного шага нехватает а может у него просто нет
именно базовых знаний... и получается что говориш на разных языках...
вспоминается случай рассказанный моим другом, как что было точно незнаю, но суть такова,
к ним приехали заказчики или партнеры из Испании, и он должен был обьяснить принцип работы их продукта
одному из испанских коллег, через пару дней им пришлось прекратить это делать, т.к. у этого
человека небыло элементарных технических знаний. Как можно обяснить человеку о микропроцессорной
системе который незнает что такое двоичная система... ? Он оказался экономистом, а отправили его
перенимать опыт только потому что он хорошо знал немецкий язык...
Я к чему это, просто попробуй поработать с книжкой где каждый шаг разжеван, и возможно будет меньше вопросов возникать.
и обучение будет намного эффективней... Хотя с другой стороны эффективность обучения будет еще намного выше если
приходится сталкиватся лбом с проблемами и решать их, как например у тебя в данном случае!
Удачи!
все что вы сделаете в интернете может быть использовано против вас!
#21 
viger2 постоялец29.08.09 22:31
viger2
NEW 29.08.09 22:31 
in Antwort monstrello72 29.08.09 22:18
убери точку с запятой после for (int i = 1; i <= 100; i++);
все что вы сделаете в интернете может быть использовано против вас!
#22 
monstrello72 знакомое лицо29.08.09 22:47
NEW 29.08.09 22:47 
in Antwort viger2 29.08.09 22:31
Уважаемый viger_2 спасибо за советы. Я учусь на курсах в Taylorix(изучаю С#) там нам дают такие задания. Но все-таки хотелось бы решить эту задачку. Если у тебя будет время посмотри пожалуйста(начальные условия ты знаешь).Заранее благодарен!
#23 
viger2 постоялец29.08.09 23:25
viger2
NEW 29.08.09 23:25 
in Antwort monstrello72 29.08.09 22:47
В ответ на:
Я учусь на курсах в Taylorix(изучаю С#) там нам дают такие задания. Но все-таки хотелось бы решить эту задачку. Если у тебя будет время посмотри пожалуйста(начальные условия ты знаешь).Заранее благодарен!

к сожалению у меня нет visual studio на домашнем компьютере.
в принципе, в своем первом посте я написал как можно действовать...
с таймером хоть чтонибудь получилось? а с твоим вторым ходом решения, что вышло? ошибок больше нет?
все что вы сделаете в интернете может быть использовано против вас!
#24 
Alexa- гость30.08.09 10:06
Alexa-
NEW 30.08.09 10:06 
in Antwort viger2 29.08.09 22:29
Вот это точно не выдает ошибок
В ответ на:
private void button1_Click(object sender, EventArgs e)
{
Progress1.Visible = true;
Progress1.Minimum = 1;
Progress1.Maximum = 100;
Progress1.Value = 1;
Progress1.Step = 1;


for (int i = 1; i <= 100; i++)
{
System.Threading.Thread.Sleep(100);
Progress1.Value = i;

}
}

А как сделать,чтобы в Label проценты отображались,то не знаю.
Если просто написать с Progress1.Value(i); то он ругается.Не потходит также label1.Text = i ; так как он не хочет int в string конвертировать
#25 
NightWatch коренной житель30.08.09 11:29
NightWatch
30.08.09 11:29 
in Antwort Alexa- 30.08.09 10:06
В ответ на:
Если просто написать с Progress1.Value(i); то он ругается.
Может потому, что у ProgressBar такого метода нет?
В ответ на:
Не потходит также label1.Text = i ; так как он не хочет int в string конвертировать
А если так? label1.Text = i.ToString();
#26 
monstrello72 знакомое лицо30.08.09 12:31
NEW 30.08.09 12:31 
in Antwort NightWatch 30.08.09 11:29
Я тоже так сделал. Но он при этом показывает когда полосочка прошла цифру 100(нет такого , чтобы от 1до 100)
#27 
monstrello72 знакомое лицо30.08.09 12:40
NEW 30.08.09 12:40 
in Antwort viger2 29.08.09 23:25
В ответ на:
с таймером хоть чтонибудь получилось?

В свойствах таймера нет тик , есть Tag, если это одно и тоже, то как его использовать. А с прогресс баром с помощью Alexa все получилось!!!(кстати приветствую старую знакомую!!! и большое спасибо за прогрессбар!!!) Теперь при нажатии на кнопку Start идет прогресс(Label стоит пока прогресс идет и в конце появляется 100)
#28 
NightWatch коренной житель30.08.09 12:53
NightWatch
NEW 30.08.09 12:53 
in Antwort monstrello72 30.08.09 12:31
private void button1_Click(object sender, EventArgs e)
{
Progress1.Visible = true;
Progress1.Minimum = 1;
Progress1.Maximum = 100;
Progress1.Value = 1;
Progress1.Step = 1;
for (int i = 1; i <= 100; i++)
{
Progress1.PerformStep();
label1.Text = i.ToString();
label1.Update();
System.Threading.Thread.Sleep(100);
}
}
#29 
NightWatch коренной житель30.08.09 12:55
NightWatch
NEW 30.08.09 12:55 
in Antwort monstrello72 30.08.09 12:40
В ответ на:
В свойствах таймера нет тик
Потому что это событие.
#30 
monstrello72 знакомое лицо30.08.09 13:21
NEW 30.08.09 13:21 
in Antwort NightWatch 30.08.09 12:55
Cпасибо NightWatch!!! Теперь проценты идут!!!
А как сделать, чтобы срабатывали Zuruecksetzen и Schlissen?
#31 
NightWatch коренной житель30.08.09 13:25
NightWatch
NEW 30.08.09 13:25 
in Antwort monstrello72 30.08.09 13:21, Zuletzt geändert 30.08.09 13:26 (NightWatch)
В ответ на:
Zuruecksetzen

Progress1.Visible = false;
Progress1.Value = 1;
В ответ на:
Schlissen
this.Close();
например
#32 
viger2 постоялец30.08.09 13:29
viger2
NEW 30.08.09 13:29 
in Antwort monstrello72 30.08.09 12:40
В ответ на:
В свойствах таймера нет тик , есть Tag,

я же написал,
давиш правой кнопкой мышки на таймер выбираеш проперти
а там на Event или события..

доппельклик на клетку радом с "Тick" и ты автоматически попадаеш в функцию в самом теле программы...
все что вы сделаете в интернете может быть использовано против вас!
#33 
viger2 постоялец30.08.09 13:36
viger2
NEW 30.08.09 13:36 
in Antwort monstrello72 30.08.09 13:21, Zuletzt geändert 30.08.09 13:38 (viger2)
кстати, такой путь решения без разделения процессов,
т.е. в где в функцию
В ответ на:
private void button1_Click(object sender, EventArgs e)

вставляются процесс который длится долгое время ( в данном случае 10 секунд System.Threading.Thread.Sleep(100) умножить 100 раз)
очень нерекомендуется! поэтому лучше пользоватся таймером.
ГУИ нежелательно прерывать на длительное время.
все что вы сделаете в интернете может быть использовано против вас!
#34 
NightWatch коренной житель30.08.09 13:40
NightWatch
NEW 30.08.09 13:40 
in Antwort viger2 30.08.09 13:36, Zuletzt geändert 30.08.09 13:52 (NightWatch)
В ответ на:
поэтому лучше пользоватся таймером.
Почему? Не вижу связи.
#35 
Murr коренной житель30.08.09 14:02
Murr
NEW 30.08.09 14:02 
in Antwort viger2 30.08.09 13:36
поэтому лучше пользоватся таймером.
------
Почитай внимательнее про таймер. Особенно в плане возможных казусов...
Уверяю тебя - будешь весьма удивлен...
#36 
viger2 постоялец30.08.09 14:15
viger2
NEW 30.08.09 14:15 
in Antwort NightWatch 30.08.09 13:40
В ответ на:
Почему? Не вижу связи.

для данного примера может и ненужно, но
цель процессбара графически отображать состояние какогото параллельного процесса,
например процесс передачи данных, который в неопределенный момент времени
"говорит" сейчас прошло там 20% данных и т.д.
и что все это время ГУИ должна быть в подвешенном состоянии?
а при помоши таймера как раз можно и симулировать такой внешний процесс,
пусть он и несовсем асинхронен...
надеюсь я понятно выразился?....
все что вы сделаете в интернете может быть использовано против вас!
#37 
NightWatch коренной житель30.08.09 14:17
NightWatch
NEW 30.08.09 14:17 
in Antwort viger2 30.08.09 14:15, Zuletzt geändert 30.08.09 14:17 (NightWatch)
В таком случае таймер здесь абсолютно не верный подход.
Используются потоки.
#38 
viger2 постоялец30.08.09 14:25
viger2
NEW 30.08.09 14:25 
in Antwort Murr 30.08.09 14:02
В ответ на:
Почитай внимательнее про таймер. Особенно в плане возможных казусов...
Уверяю тебя - будешь весьма удивлен...

согласен, казусы могут непременно быть, например при отладке в реальном маштабе вемени,
и наверняка требуются публичные переменные для счетчка и возможно дополнительная логика
которая включает/выключает таймер, запрещает "тик" на время пока он необработаеся и т.д.
Но согласись, что для данного случая таймер, который дает "тик" каждые 0.5 сек вполне достаточно,
чтобы симулировать внещний процесс? или?
все что вы сделаете в интернете может быть использовано против вас!
#39 
viger2 постоялец30.08.09 14:30
viger2
NEW 30.08.09 14:30 
in Antwort NightWatch 30.08.09 14:17
В ответ на:
В таком случае таймер здесь абсолютно не верный подход.
Используются потоки.

с потоками еще сложнее работать, во всяком случае для начинающего программиста,
а таймер уже готовый класс, где нужно минимум знаний... главное его запустить в
нужное время с нужными параметрами, обработать тик и выключить когда
он будет уже ненужен...
все что вы сделаете в интернете может быть использовано против вас!
#40 
1 2 3 alle