|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.01.2009, 21:41 | #1 |
Пользователь
Регистрация: 08.01.2009
Сообщений: 32
|
Поясните откуда ошибка?
Код:
[Pascal Error] Project1.dpr(32): E2052 Unterminated string [Pascal Error] Project1.dpr(33): E2029 ',' or ')' expected but identifier 'READLN' found Задание было таким ВЫчислить приближенное значение бесконечной суммы с точностью Е=0,0001 |
11.01.2009, 21:48 | #3 |
Пользователь
Регистрация: 08.01.2009
Сообщений: 32
|
Спасибо ошибку исправил
|
11.01.2009, 22:21 | #4 |
Пользователь
Регистрация: 08.01.2009
Сообщений: 32
|
Посмотрите другой вариант программы!
Код:
[Pascal Error] Unit1.pas(48): E2153 ';' not allowed before 'ELSE' [Pascal Error] Unit1.pas(53): E2029 '.' expected but ';' found END. |
11.01.2009, 22:30 | #5 | |
Участник клуба
Регистрация: 28.11.2007
Сообщений: 1,521
|
Цитата:
I:=I+1; END; END ELSE BEGIN FOR I:=1 TO N DO
Всегда рад помочь!
Последний раз редактировалось Terran; 11.01.2009 в 22:34. |
|
11.01.2009, 22:34 | #6 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Перед else точку с запятой не ставят.
|
11.01.2009, 22:40 | #7 |
Пользователь
Регистрация: 08.01.2009
Сообщений: 32
|
Спасбио
|
11.01.2009, 22:44 | #8 |
Пользователь
Регистрация: 08.01.2009
Сообщений: 32
|
Кто может сказать как сделать теперь так.
Существует 3 edit(а) 1-Ввод х 2-Ввод n 3-Вывод S Существует кнопка которая обрабатывает всю процедуру. Можете помочь? Код:
|
12.01.2009, 07:39 | #9 |
delphi-ст!
Форумчанин
Регистрация: 02.01.2009
Сообщений: 825
|
unit summa;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Ed_x: TEdit; ed_n: TEdit; Lb_sum: TLabel; Label1: TLabel; Btn_sum: TButton; Lb_x: TLabel; Lb_n: TLabel; procedure Btn_sumClick(Sender: TObject); procedure Ed_xKeyPress(Sender: TObject; var Key: Char); procedure ed_nKeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function vstep(z:real;k:integer):real; // функция возведения в степень begin vstep:=exp(ln(z)*k); end; procedure TForm1.Btn_sumClick(Sender: TObject); var eps:real; i:integer; s,x:real; n:integer; begin x:=strtofloat(ed_x.Text); if (x<1) and (x>0) then begin n:=0; s:=1; eps:=0.001; i:=1; while eps> 0.0001 do begin eps:=(i+1)*vstep(x,i); s:=s+eps; i:=i+1; end; end else begin if ed_n.Text='' then ed_n.Text='0'; n:=strtoint(ed_n.Text); if (n<1) then showmessage(' n не может быть меньше 1'); s:=1; for i:=1 to n do s:=s+(i+1)*vstep(x,i); end; lb_sum.Caption:= 'Сумма равна:'+ ' '+floatToStr(s); end; {запрет на ввод бука} procedure TForm1.Ed_xKeyPress(Sender: TObject; var Key: Char);// запрет на ввод букв var //цифровая маска vrPos, vrLength, vrSelStart: byte; const I: byte = 1; //I+1 = количество знаков после запятой (в данном случае - 2 знака) begin with Sender as TEdit do begin vrLength := Length(Text); //определяем длину текста vrPos := Pos(',', Text); //проверяем наличие запятой vrSelStart := SelStart; //определяем положение курсора end; case Key of '0'..'9': begin //проверяем положение курсора и количество знаков после запятой if (vrPos > 0) and (vrLength - vrPos > I) and (vrSelStart >= vrPos) then Key := #0; //"погасить" клавишу end; ',', '.': begin //если запятая уже есть или запятую пытаются поставить перед //числом или никаких цифр в поле ввода еще нет if (vrPos > 0) or (vrSelStart = 0) or (vrLength = 0) then Key := #0 //"погасить" клавишу else Key := #44; //всегда заменять точку на запятую end; #8: ; //позволить удаление знаков клавишей 'Back Space' else Key := #0; //"погасить" все остальные клавиши end; end; {запрет на ввод не целых чисел и букв} procedure TForm1.ed_nKeyPress(Sender: TObject; var Key: Char); var //цифровая маска vrPos, vrLength, vrSelStart: byte; const I: byte = 1; //I+1 = количество знаков после запятой (в данном случае - 2 знака) begin with Sender as TEdit do begin vrLength := Length(Text); //определяем длину текста vrPos := Pos(',', Text); //проверяем наличие запятой vrSelStart := SelStart; //определяем положение курсора end; case Key of '0'..'9': begin //проверяем положение курсора и количество знаков после запятой if (vrPos > 0) and (vrLength - vrPos > I) and (vrSelStart >= vrPos) then Key := #0; //"погасить" клавишу end; #8: ; //позволить удаление знаков клавишей 'Back Space' else Key := #0; //"погасить" все остальные клавиши end; end; end.
вступлю в команду разработчиков ПО на Delphi
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
откуда вы узнали о нашем форуме? | Hallo | О форуме и сайтах клуба | 128 | 09.02.2011 00:37 |
Пароль на флеш-карте... Откуда?? | Манжосов Денис :) | Компьютерное железо | 1 | 07.10.2008 18:56 |
Symbian.Откуда взять borland c++ mobile pack? | Marsik | Помощь студентам | 1 | 03.02.2008 19:48 |
создать папку в том месте откуда запущен exe | Stanislav | Общие вопросы Delphi | 1 | 22.11.2007 17:58 |
Откуда Word загружает шаблон если не из normal.dot | Val_35 | Microsoft Office Word | 4 | 18.09.2007 12:36 |