Вопрос № 101369: Здаравствуйте, создаю службу:
Delphi 2006 > New > Other > Service Application
Как мне сделать, чтобы она регистрировалась и загружалась как служба?...Вопрос № 101439: Здравствуйте, Уважаемые!!!:-) Подскажите мне, пожалуйста. Я ввожу массив в поле Memo с вещественными числами, нужно вычислить сумму элементов массива и разделить ее на 7. Что я не так делаю? Спасибо!:-)...Вопрос № 101459: помогите найти directX для Delphi...
Вопрос № 101.369
Здаравствуйте, создаю службу:
Delphi 2006 > New > Other > Service Application
Как мне сделать, чтобы она регистрировалась и загружалась как служба?
Отвечает: Уваров Андрей Александрович
Здравствуйте, Зощенко Алексей!
в параметре передайте своей программе /install или /uninstall для удаления соответсвенно. Так же запуск - /start, остановка - /stop
--------- Обращаться в ICQ: 66550088 (Ally) или E-Mail: AvePassion@GMail.Com
Ответ отправил: Уваров Андрей Александрович (статус: Студент)
Ответ отправлен: 09.09.2007, 12:21 Оценка за ответ: 4
Вопрос № 101.439
Здравствуйте, Уважаемые!!!:-) Подскажите мне, пожалуйста. Я ввожу массив в поле Memo с вещественными числами, нужно вычислить сумму элементов массива и разделить ее на 7. Что я не так делаю? Спасибо!:-)
Приложение:
Отправлен: 09.09.2007, 22:41
Вопрос задала: Алена (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Verena
Здравствуйте, Алена!
Ошибка у Вас в отсутствии begin-end в цикле - Вы, получается, семь раз обнуляете sum. Правильно будет так:
procedure TForm1.Button1Click(Sender: TObject);
Var
i:integer;
sum: real;
sredn:real;
begin
Memo1.Lines[0]:='';
sum:=0; {перемещаем из цикла}
For i:=1 to 7 do begin {добавляем операторные скобки}
t[i]:=StrToFloat(Memo1.Lines[i-1]);
sum:= sum+ t[i]; end;
sredn:=sum/7;
Label1.Caption:=FloatToStr(sum);
end;
Удачи! :)
--------- Эта история - не для истории, понимаешь?
Ответ отправила: Verena (статус: Студент)
Ответ отправлен: 09.09.2007, 22:55 Оценка за ответ: 5
Отвечает: Omickron
Здравствуйте, Алена!
В Вашем коде не пойму, зачем нужна эта строка:
Memo1.Lines[0]:=''; ?
Далее, почему в Вашем массиве всего 7 элементов? В условии об этом ничего не говорится.
Отсчёт строк в компоненте Memo начинается с 0 и заканчивается Count-1.
Далее, в цикле вы с каждым шагом сбрасываете значение суммы в 0:
sum:=0;
Больше в цикле ничего не делается, т.к. если после for ... do отсутствует блок begin ... end, в цикле выполняется одна (следующая) строка.
Так что проще показать, как правильно, чем разбираться, что ещё неправильно в этом коде.
Для реализации массив не нужен.
Нужны 2 переменные: целая (счётчик) и с плавающей точкой (для суммы и результата)
var
i:integer;
r:real;
begin
r:=0;
for i:=0 to Memo1.Lines.Count-1 do
begin
r:=r+StrToFloat(Memo1.Lines[i]);
end;
r:=r/7;
Label1.Caption:=FloatToStr(r);
end;
Если это оформить в виде функции, то можно обойтись без переменной r:real, используя вместо неё Result:real (стандартная переменная, в которую передаётся результат выполнения функции). Код приводить не буду, он идентичен.
Удачи
Ответ отправил: Omickron (статус: 3-ий класс)
Ответ отправлен: 09.09.2007, 23:02 Оценка за ответ: 5 Комментарий оценки: Спасибо!:-) И Вам удачи!;-)
Отвечает: Дмитрий С.
Здравствуйте, Алена!
вот, подправил немножко.. должно работать.
Приложение:
--------- Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 4-ый класс)
Ответ отправлен: 11.09.2007, 13:32 Оценка за ответ: 5