Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.062 c
15-1270636853
Дмитрий С
2010-04-07 14:40
2010.08.27
Передача указателя на метод как на non-object функцию.


2-1273841049
RGV
2010-05-14 16:44
2010.08.27
WebBrowser.


15-1275424180
Юрий
2010-06-02 00:29
2010.08.27
С днем рождения ! 2 июня 2010 среда


2-1269931142
oleg1963lora
2010-03-30 10:39
2010.08.27
TStringList.Clear. Странное поведение метода


15-1272745804
Юрий
2010-05-02 00:30
2010.08.27
С днем рождения ! 2 мая 2010 воскресенье





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский