Delphi:Вопрос-Ответ
| |
arys | Дата: Вторник, 13 Декабря 2011, 23:51 | Сообщение # 121 |
почетный гость
Сейчас нет на сайте
| Спасибо сенсей))))))))))) Да все почти правильно, сам чуток поправил.
500 символов не хватит, а писать начало... нету смысла без конца..
|
|
| |
masb8ly-GC | Дата: Вторник, 13 Декабря 2011, 23:56 | Сообщение # 122 |
постоянный участник
Сейчас нет на сайте
| Не за что!) Аська есть? Если, что буду помогать в более удобном режиме. Та которая у тебя в профиле активна?
Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
|
|
| |
arys | Дата: Среда, 14 Декабря 2011, 00:00 | Сообщение # 123 |
почетный гость
Сейчас нет на сайте
| Да активна,Спс. Ша зайду
500 символов не хватит, а писать начало... нету смысла без конца..
|
|
| |
masb8ly-GC | Дата: Среда, 14 Декабря 2011, 20:56 | Сообщение # 124 |
постоянный участник
Сейчас нет на сайте
| Давай я инвайт уже кинул... Если какойто трабл случился добавляйся: 617955154 Добавлено (14.12.2011, 16:56) --------------------------------------------- Здравствуйте! На выходных командное соревнование и я решил посмотреть задания за прошлый год. Оказалось, что почти за все прошедшие года задания одинаковы, попытался решить и возникла проблема. Нужно написать генератор выражений, но обычный random использовать не получится, т.к. генератор это часть системы тренировки устного счета. А система должна работать на большое количество людей до 10. Если использовать обычный рандом, то у всех 10 человек получится одинаковое выражение. Как решить проблему? Добавлено (14.12.2011, 20:56) --------------------------------------------- Уже решил проблему. Забыл про randomize; Code procedure TForm1.btn1Click(Sender: TObject); begin Randomize; for i:= 1 to 10 do begin c1:=Random(99); c2:=Random(99); c3:=Random(99); rz[i]:='('+FloatToStr(c1)+'*'+FloatToStr(c1)+'+'+FloatToStr(c2)+'*'+FloatToStr(c2)+')'+'/'+FloatToStr(c3); lbl1.Caption:=rz[i]+#13#10+rz[2]; end; end;
Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
|
|
| |
arys | Дата: Среда, 14 Декабря 2011, 23:49 | Сообщение # 125 |
почетный гость
Сейчас нет на сайте
| Всё разобрался.
500 символов не хватит, а писать начало... нету смысла без конца..
Сообщение отредактировал arys - Среда, 14 Декабря 2011, 23:57 |
|
| |
masb8ly-GC | Дата: Среда, 14 Декабря 2011, 23:56 | Сообщение # 126 |
постоянный участник
Сейчас нет на сайте
| Лишний else стоит) Code procedure TForm1.Button1Click(Sender: TObject); begin f:=combobox1.items[combobox1.itemindex]; if (f='Îñêåìåí') then v:=1 ELSE if (f='Àñòàíà') then v:=2 else if (f='Àëìàòà') then v:=3; if (v=1) then label1.Caption:='lala';
end;
Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
|
|
| |
RabbitNerd | Дата: Четверг, 15 Декабря 2011, 12:53 | Сообщение # 127 |
частый гость
Сейчас нет на сайте
| значения в randomize и random могут быть в виде сообщений? например, пользователь нажимает на кнопочку, и появляется сообщение с рандомным текстом, типа "да, конечно", или "нет, я так не думаю" P.S как к компоненту присвоить переменную, чтобы, например, переменная i зависела от Edit, или Button
|
|
| |
TimKruz | Дата: Четверг, 15 Декабря 2011, 13:12 | Сообщение # 128 |
старожил
Сейчас нет на сайте
| Quote (RabbitNerd) значения в randomize и random могут быть в виде сообщений? Нет. Только целые числа. Quote (RabbitNerd) например, пользователь нажимает на кнопочку, и появляется сообщение с рандомным текстом, типа "да, конечно", или "нет, я так не думаю" Ну это реализовать просто. Лучше всего реализовать кейсом: Code randomize; case random(2) of 0: writeln('Да, конечно!'); //Ну, тут и дальше можно что угодно делать, что будет выводить это сообщение. 1: writeln('Нет, я так не думаю.'); end; Ещё, для удобства, можно установить константы, например: yes='Да, конечно!' и no='Нет, я так не думаю.'. Так будет удобнее. Quote (RabbitNerd) P.S как к компоненту присвоить переменную, чтобы, например, переменная i зависела от Edit, или Button Во-первых, стандартные переменные уже описаны в классах этих компонентов, иначе они просто не работали бы. Во-вторых, если нужно скопировать значение из стандартного поля объекта придётся делать это вручную. Другое дело - когда. Например, самый простой случай: при нажатии на button выполняется код типа str:=edit.text (в обработчике события клика/нажатия на button), который копирует текст из поля edit в строковую переменную str. Если же нужно, чтобы переменная str обновлялась постоянно, т.е. каждый раз, когда пользователь вводит какие-нибудь данные в поле edit, тогда нужно поместить этот же код (str:=edit.text) в обработчик события OnChange (при изменении текста). Событие можно создать через инспектор объектов (Object Inspector), вкладка событий (Events).
|
|
| |
arys | Дата: Пятница, 16 Декабря 2011, 11:48 | Сообщение # 129 |
почетный гость
Сейчас нет на сайте
| Всем привет! Люди добрые, у кого сердце доброе или просто кому не лень помогите с програмкой Весит 209кв маленькая программа но так дастало...
500 символов не хватит, а писать начало... нету смысла без конца..
Сообщение отредактировал arys - Пятница, 16 Декабря 2011, 11:49 |
|
| |
TimKruz | Дата: Пятница, 16 Декабря 2011, 13:18 | Сообщение # 130 |
старожил
Сейчас нет на сайте
| arys, так, давай по-порядку. Что за программа, что должна делать, что уже делает, какие ошибки выдаёт и вообще твои вопросы. В чём проблема? И просить доделать олимпиадную задачу - как-то... Занятое место делить будешь? Или просто заплатишь за победу? Ну ладно, это я так просто; но всё равно, сам должен делать, а не просить сделать за тебя, даже если "так достало"...
|
|
| |
arys | Дата: Пятница, 16 Декабря 2011, 13:36 | Сообщение # 131 |
почетный гость
Сейчас нет на сайте
| Ошибки нету, я бы доделал но, но если я продолжу в этом же духе то я ничего не выйграю. За меня делать ниче не надо подскажите как сделать эту прогу по кароче и все.
500 символов не хватит, а писать начало... нету смысла без конца..
|
|
| |
TimKruz | Дата: Пятница, 16 Декабря 2011, 13:38 | Сообщение # 132 |
старожил
Сейчас нет на сайте
| Code procedure TForm1.FormCreate(Sender: TObject); var v:string; z,x,c:integer; begin v:=combobox1.items[combobox1.itemindex]; if (v='Оскемен') then z:=1 ELSE IF
if (v='Астана') then x:=1 else if
if (v='Алмата') then c:=1 end; end; procedure TForm1.Button1Click(Sender: TObject); begin if (z=1) and (x=1) and (c=1) then label1.Caption:='lala';
end; Что делает этот код? Quote (arys) как сделать эту прогу по кароче и все. Куда уж короче-то? И, повторюсь, Quote (TimKruz) что должна делать эта программа?
|
|
| |
arys | Дата: Пятница, 16 Декабря 2011, 13:49 | Сообщение # 133 |
почетный гость
Сейчас нет на сайте
| Вот тут столько комбинаций... это и надо сделать по кароче...
500 символов не хватит, а писать начало... нету смысла без конца..
|
|
| |
TimKruz | Дата: Пятница, 16 Декабря 2011, 15:23 | Сообщение # 134 |
старожил
Сейчас нет на сайте
| Quote (arys) столько комбинаций... это и надо сделать по кароче... Кейсом стринги перебирать нельзя, так что короче ни как не получится. И так нормально, только оформи код, чтобы красиво выглядело.
|
|
| |
masb8ly-GC | Дата: Пятница, 16 Декабря 2011, 17:08 | Сообщение # 135 |
постоянный участник
Сейчас нет на сайте
| Я же тебе говорил, что нужно делать не and, а или то или то! А потом добавлять and'ы по остальным комбобоксам!
Backend Developer ESIS Client Side Developer Room8Studio Technical Leader Lucid Reality Labs Chief Technology Officer The Intruders Chief Technology Officer RoyalePlay Games
|
|
| |
VerD | Дата: Пятница, 16 Декабря 2011, 21:35 | Сообщение # 136 |
был не раз
Сейчас нет на сайте
| а как в паскале сделать case на цифры 1 день и 11 дней? а то если прописать Code case n mod 10 of 1:writeln('день)' то он же пишет 11 день, как прописать дней?
|
|
| |
TimKruz | Дата: Пятница, 16 Декабря 2011, 21:46 | Сообщение # 137 |
старожил
Сейчас нет на сайте
| Quote (VerD) то он же пишет 11 день, как прописать дней? Руками. Что мы имеем? Один день, два дня, три дня, четыре дня, пять дней... девять дней, десять дней. Одиннадцать-девятнадцать дней. Code if (n>10) and (n<20) then writeln('дней') else case n mod 10 of 0: writeln('дней'); 1: writeln('день'); 2..4: writeln('дня'); 5..9: writeln('дней'); end; Вот-с.
Сообщение отредактировал TimKruz - Пятница, 16 Декабря 2011, 21:47 |
|
| |
RabbitNerd | Дата: Суббота, 17 Декабря 2011, 19:32 | Сообщение # 138 |
частый гость
Сейчас нет на сайте
| Как сделать часы в Delphi? Всмысле, вот есть таймер, и несколько Label'ов. Нужно, чтобы при запуске программы таймер активировался и время тикало. Например, чтобы в секунду изменялось значение Label1
Сообщение отредактировал RabbitNerd - Суббота, 17 Декабря 2011, 19:34 |
|
| |
TimKruz | Дата: Суббота, 17 Декабря 2011, 19:44 | Сообщение # 139 |
старожил
Сейчас нет на сайте
| RabbitNerd, тебе секундомер, таймер или часы нужны? Code procedure TForm1.FormCreate(Sender: TObject); begin //Время тика таймера, в миллисекундах, 1000 миллисекунда=1 секунда: timer1.Interval:=1000; //Включить (true) или выключить (false) таймер: timer1.Enabled:=true; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin //Секундомер: Label1.Caption:=inttostr(strtoint(Label1.Caption)+1); //Таймер: Label2.Caption:=inttostr(strtoint(Label2.Caption)-1); //Дата + время: label3.Caption:=datetimetostr(now); //Только дата: label4.Caption:=datetostr(now); //Только время: label5.Caption:=timetostr(now); end;
|
|
| |
RabbitNerd | Дата: Суббота, 17 Декабря 2011, 19:53 | Сообщение # 140 |
частый гость
Сейчас нет на сайте
| Я, кажется, сам проблему не правильно сформулировал На форме есть Timer1, Label1 и Label2. При запуске программы Timer1 активируется, и начинает считать секунды, прибавляя по одному к Label1. Когда значение Label1 достигает 12, то к значению Label2 прибавляется 1, а значение Label1 обнуляется
|
|
| |
|