Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Ошибка с процедурой   Найти похожие ветки 

 
pro_xaoc ©   (2010-05-20 23:38) [0]

Всем привет! Прошу помогите. Вот я написал такой код:

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
 procedure poisk();
 var
    a:boolean;
 begin
   a:=pos(",", edit1.text);
 end;
if poisk=true then
 edit1.Text:=edit1.Text;
if edit1.text<>"0" then
 edit1.Text:=edit1.text+","
else edit1.Text:=",";
end;


а компилятор ругается "statement expected but "PROCEDURE" found". Блин перепробовал все что знаю, но результата нет. Как можно исправить?


 
Германн ©   (2010-05-20 23:42) [1]


> Как можно исправить?

вторую и третью строчку поменять местами.


 
pro_xaoc ©   (2010-05-20 23:44) [2]

серьёзно? ща посмотрю))


 
turbouser ©   (2010-05-20 23:45) [3]


> pro_xaoc ©   (20.05.10 23:38)  

мда. жесть. здесь как минимум 2 ошибки и 2 нелепости


 
Германн ©   (2010-05-20 23:45) [4]

Т.е. вторую строчку перенести после окончания описания процедуры poisk


 
turbouser ©   (2010-05-20 23:47) [5]


> Германн ©   (20.05.10 23:45) [4]

Сейчас будет вопрос о второй ошибке :)


 
pro_xaoc ©   (2010-05-20 23:51) [6]

Код изменил так:

procedure TForm1.SpeedButton4Click(Sender: TObject);
 function poisk():boolean;
 begin
   pos(",", edit1.text);
 end;
 begin
if poisk=true then
 edit1.Text:=edit1.Text;
if edit1.text<>"0" then
 edit1.Text:=edit1.text+","
else edit1.Text:=",";
end;

вот теперь, у меня тут ошибка есть (не синтаксическая), как можно сделать так, чтобы когда значение функции было true, то выполнился код if poisk=true then
 edit1.Text:=edit1.Text;

?


 
turbouser ©   (2010-05-21 00:02) [7]


> pro_xaoc ©   (20.05.10 23:51) [6]

Ты сам понимаешь, что тебе требуется?


 
pro_xaoc ©   (2010-05-21 00:05) [8]

как можно сделать так, чтобы когда значение функции poisk было true, то выполнился код:
if poisk=true then
edit1.Text:=edit1.Text;


 
turbouser ©   (2010-05-21 00:06) [9]


> edit1.Text:=edit1.Text;

В чем смыл этого?


 
pro_xaoc ©   (2010-05-21 00:08) [10]

ну если истина, то значение edit1.text не изменяется ...


 
turbouser ©   (2010-05-21 00:10) [11]

if not poisk then
begin
 if edit1.text<>"0" then
   edit1.Text:=edit1.text+","
 else edit1.Text:=",";
end;


 
pro_xaoc ©   (2010-05-21 00:12) [12]

ок, ща попробую ...


 
Германн ©   (2010-05-21 00:47) [13]

Следующим будет вопрос - почему не работает
> if edit1.text<>"0"
.
Имхо


 
turbouser ©   (2010-05-21 00:52) [14]


> Германн ©   (21.05.10 00:47) [13]

..и почему не работает poisk..


 
turbouser ©   (2010-05-21 00:53) [15]

Автор, с таким уровнем знаний даже в начинающие рано.


 
{RASkov} ©   (2010-05-21 00:54) [16]

> [15] turbouser ©   (21.05.10 00:53)

Сейчас он тебе расскажет какой ты не хороший помошник.... держись)


 
Демо ©   (2010-05-21 01:07) [17]


> pro_xaoc ©   (20.05.10 23:38) 


Ты бы словами сказал, что ты получить хочешь от своих действий...


 
pro_xaoc ©   (2010-05-21 01:29) [18]

Методом тыка разобрался! Спс всем за старания!


 
Германн ©   (2010-05-21 01:46) [19]


> RASkov} ©   (21.05.10 00:54) [16]
>
> > [15] turbouser ©   (21.05.10 00:53)
>
> Сейчас он тебе расскажет какой ты не хороший помошник...
> . держись)

Не рассказал. Знать турбоюзеру пока далеко до Плохиша!
> turbouser ©   (21.05.10 00:52) [14]
>
>
> > Германн ©   (21.05.10 00:47) [13]
>
> ..и почему не работает poisk..

:)
Во втором варианте очевидно очепятка.


 
Германн ©   (2010-05-21 01:47) [20]


> Демо ©   (21.05.10 01:07) [17]
>
>
> > pro_xaoc ©   (20.05.10 23:38)
>
>
> Ты бы словами сказал, что ты получить хочешь от своих действий.
> ..

Автор пока не дотягивает до уровня "правильного новичка".


 
Anatoly Podgoretsky ©   (2010-05-21 08:39) [21]


> как можно сделать так, чтобы когда значение функции poisk
> было true, то выполнился код:
> if poisk=true then
> edit1.Text:=edit1.Text;

Так и будет, хотя тут две нелепости.


 
Lyonux ©   (2010-05-21 13:37) [22]

Я думаю, эти ссылки будут полезны..

http://www.realcoding.net/articles/obyavlenie-protsedury.html
http://www.realcoding.net/articles/obyavlenie-funktsii.html

Ну так, для общего развития..


 
Amoeba_   (2010-05-21 18:10) [23]

Может автору вопроса лучше прежде чем кодить заглянуть все-таки сюда, а не в realcoding?
http://www.delphikingdom.com/lyceum


 
Демо ©   (2010-05-22 00:28) [24]


> Я думаю, эти ссылки будут полезны..


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


 
Игорь Шевченко ©   (2010-05-22 00:49) [25]

Демо ©   (22.05.10 00:28) [24]

ты че на реальных пацанов наезжаешь ?


 
Германн ©   (2010-05-22 01:03) [26]


> ты че на реальных пацанов наезжаешь ?
>

Вспомнил свою ДМ-овскую молодость, наверно. :)


 
Anatoly Podgoretsky ©   (2010-05-22 08:54) [27]

> Демо  (22.05.2010 00:28:24)  [24]

Важно, не что он тогда представлял, а что сейчас представляет.


 
Lyonux ©   (2010-05-22 09:21) [28]

мм..да я вообще-то не на сайт, а на статейки ссылку давала.. Завелись-то как все)


 
Sha ©   (2010-05-22 12:38) [29]

> Lyonux ©   (22.05.10 09:21) [28]
> мм..да я вообще-то не на сайт, а на статейки ссылку давала..

Посмотрел статейку про объявление функции.

Описание поехало:
// здесь объявления локальных переменных begin

Первая функция, названная Islnt вместо isint:
не откомпилируется из-за скобки }
не откомпилируется из-за сравнения символа с числом 113
Ее проще было бы переписать так:
function IsInt(ch: Char): Boolean;
begin
 Result:=(ch >= "0") and (ch <= "9") // цифры
     or (ch = #13) // клавиша <Enter>
     or (ch = #8); // клавиша <Backspace>
end;

Но тут все равно не хватает проверки на допустимость ввода знака (+,-),
на переполнение, на нажатие клавиши Del, на ввод $...

Вторая функция также не без ошибок:
не компилируется из-за лишнего апострофа "
не позволяет вводить знак +
не позволяет вводить порядок
Компилятор предупреждает о неопределенном результате
в двух ветках оператора case


 
Leonid Troyanovsky ©   (2010-05-22 13:02) [30]


> Sha ©   (22.05.10 12:38) [29]

> Ее проще было бы переписать так:

Result := ch in ["0".."9",#8, #13];

Только непонятно, зачем #13.

--
Regards, LVT.


 
turbouser ©   (2010-05-22 13:07) [31]


> Lyonux ©   (22.05.10 09:21) [28]

Не обращай внимания :) Здесь такое вполне обыденно :)


 
Sha ©   (2010-05-22 13:10) [32]

> Leonid Troyanovsky ©   (22.05.10 13:02) [30]
> Result := ch in ["0".."9",#8, #13];

Точно.


> Только непонятно, зачем #13.

Мне тоже.


> Lyonux ©   (22.05.10 09:21) [28]

Пример к статейке про процедуры:
не компилируется, т.к. объявлена переменная xl, а используется x1
один из корней вычисляется неверно
процедура ломается, если коэффициент при х^2 равен нулю.


 
turbouser ©   (2010-05-22 13:48) [33]


> Sha ©

А если я дам ссылку на гуглопоиск, например, http://www.google.ru/search?hl=ru&newwindow=1&client=firefox&hs=aa6&rls=org.mozilla%3Aru%3Aofficial&q=delphi+%2B%D1%88%D0%B5%D0%BB%D0%BB&aq=f&aqi=&aql=&oq=&gs_rfai=
тоже будем ошибки искать?


 
Sha ©   (2010-05-22 14:00) [34]

> Lyonux ©   (22.05.10 09:21) [28]

Это я к тому, что лучше ссылки давать на статейки, где меньше ошибок


> turbouser ©   (22.05.10 13:48) [33]
> А если я дам ссылку на гуглопоиск, тоже будем ошибки искать?

Не видишь, я с дамой разговариваю. Отвали.


 
turbouser ©   (2010-05-22 14:04) [35]

:)


 
Игорь Шевченко ©   (2010-05-23 00:31) [36]

turbouser ©   (22.05.10 13:48) [33]


> тоже будем ошибки искать?


можем удалить. на выбор.


 
Lyonux ©   (2010-05-24 03:55) [37]

Мы будем расстреливать неверных из Царь-Пушки! Выживших догонять и карать ржавой секирой ужоса)
Кстати говоря, автору ветки всё это, видимо, не очень интересно))


 
Германн ©   (2010-05-24 04:04) [38]


> Lyonux ©   (24.05.10 03:55) [37]
>
> Мы будем расстреливать неверных из Царь-Пушки! Выживших
> догонять и карать ржавой секирой ужоса)
> Кстати говоря, автору ветки всё это, видимо, не очень интересно))
>

Ещё одна Рипли?
А я, лично, не против. И даже за!
Женьщинов на ДМ не хватает. А женьщины способны на иной взгляд!


 
Lyonux ©   (2010-05-24 04:07) [39]

нас просто заткнуть невозможно) тем более меня сутки не было =) Не могу же я дать умереть ветке в моё отсутствие! Теперь можно закрывать =)


 
Демо ©   (2010-05-25 13:21) [40]


> Игорь Шевченко ©   (22.05.10 00:49) [25]
> Демо ©   (22.05.10 00:28) [24] ты че на реальных пацанов
> наезжаешь ?


Да я так, у стеночки постою... ;)


> Lyonux ©   (24.05.10 03:55) [37]
> Мы будем расстреливать неверных из Царь-Пушки! Выживших
> догонять и карать ржавой секирой ужоса)Кстати говоря, автору
> ветки всё это, видимо, не очень интересно))


Зато нам интересно!



Страницы: 1 2 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.116 c
15-1270451902
brother
2010-04-05 11:18
2010.08.27
FAT32


2-1273339176
sako
2010-05-08 21:19
2010.08.27
азерб. шрифт


15-1268775005
Юрий
2010-03-17 00:30
2010.08.27
С днем рождения ! 17 марта 2010 среда


2-1271183717
dixa
2010-04-13 22:35
2010.08.27
подстановка значения в созданный тип


4-1233489021
Vemer
2009-02-01 14:50
2010.08.27
Рисунок не хочет прикреплятся к Popup Меню.