Форум: "Начинающим";
Текущий архив: 2009.01.04;
Скачать: [xml.tar.bz2];
ВнизМастера, подкажите пожалуйста Найти похожие ветки
← →
bioss © (2008-11-25 11:00) [0]Все-таки как в Делфи 7 описываются функции?
После написания классического кода типа
function IsFloat(ch : char; st: string) : Boolean;
begin
if (ch >= "0") and (ch <= "9") // цифры
or (ch = #13) // клавиша <Enter>
or (ch = #8) // клавиша <Backspace>
then
begin
IsFloat := True; // символ верный
Exit; // выход из функции
end;
Выдается сообщение :
statemen expected, but "FUNCTION" found
бьюсь три часа безрезультатно(
← →
Поросенок Винни-Пух © (2008-11-25 11:03) [1]ищи ошибку по тексту выше своей IsFloat
← →
Palladin © (2008-11-25 11:03) [2]код нормально форматируй и все будет хорошо... а пока можешь посчитать сколько у тебя begin, сколько end и удивится
← →
Amoeba © (2008-11-25 11:04) [3]Переписать так:
function IsFloat(ch : char; st: string) : Boolean;
begin
if (ch >= "0") and (ch <= "9") // цифры
or (ch = #13) // клавиша <Enter>
or (ch = #8) // клавиша <Backspace>
then
Result := True; // символ верный
end;
и читать букварь
← →
Amoeba © (2008-11-25 11:06) [4]Правильно будет так:
function IsFloat(ch : char; st: string) : Boolean;
begin
Result := (ch >= "0") and (ch <= "9") // цифры
or (ch = #13) // клавиша <Enter>
or (ch = #8) // клавиша <Backspace>
end;
← →
bioss © (2008-11-25 11:06) [5]
> Palladin © (25.11.08 11:03) [2]
> код нормально форматируй и все будет хорошо... а пока можешь
> посчитать сколько у тебя begin, сколько end и удивится
Ну да) но деле не в этом ende- его я просто не докопировал
← →
Palladin © (2008-11-25 11:08) [6]я про глобально в модуле, а не про эту функцию конкретно. и надеюсь ты знаешь, что нельзя объявлять функцию/процедуру внутри операторных скобок?
← →
Amoeba © (2008-11-25 11:08) [7]Ни if ... then, ни Exit не нужны.
← →
bioss © (2008-11-25 11:13) [8]
> Amoeba © (25.11.08 11:04) [3]
> Переписать так:function IsFloat(ch : char; st: string) :
> Boolean;begin if (ch >= "0") and (ch <= "9") // цифры
> or (ch = #13) // клавиша <Enter> or (ch = #8) // клавиша
> <Backspace> then Result := True; // символ верныйend;
> и читать букварь
Да, букварь читать точно нужно) Но сейчар надо срочно решать задачу, а пока не получается даже функцию описать((
вот я записал ваш код, ОШИБКА ТА ЖЕ!!! вот полный текст
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
function IsFloat(ch : char; st: string) : Boolean;
begin
if (ch >= "0") and (ch <= "9") // цифры
or (ch = #13) // клавиша <Enter>
or (ch = #8) // клавиша <Backspace>
then
Result := True; // символ верный
end;
end.
← →
sniknik © (2008-11-25 11:13) [9]> statemen expected, but "FUNCTION" found
пытайся понять что тебе в ошибках пишут. они не просто та набор слов.
конкретно здесь, "ожидается statement, но найдена "FUNCTION"", что непонятного? не "функция описана неправильно" чтобы искать как ее описывать, а "ожидается что-то, а найдена функция" т.е. в неправильном месте...
------------
вот пришёл ты с работы, садишься ужинать, снимаешь ботинки, и ставишь их на стол... и что на тебя жена будет кричать, "неправильные ботинки"? или "ты куда гад их поставил!". разницу улавливаешь?
← →
sniknik © (2008-11-25 11:15) [10]> Но сейчар надо срочно решать задачу
с таким подходом срочно не бывает, обычно бывает гораздо медленнее чем если бы сначала прочитал букварь.
← →
Palladin © (2008-11-25 11:16) [11]
> bioss © (25.11.08 11:13) [8]
читать второе предложение в [6] до полного просветления. и не называй этот бред "классический код", бо классику ты не знаешь
← →
bioss © (2008-11-25 11:17) [12]
> sniknik © (25.11.08 11:13) [9]
> > statemen expected, but "FUNCTION" foundпытайся понять
> что тебе в ошибках пишут. они не просто та набор слов.конкретно
> здесь, "ожидается statement, но найдена "FUNCTION"", что
> непонятного? не "функция описана неправильно" чтобы искать
> как ее описывать, а "ожидается что-то, а найдена функция"
> т.е. в неправильном месте...
Да) Ну подскажи тогда, где сдесь правильное место?
← →
bioss © (2008-11-25 11:19) [13]
> Palladin © (25.11.08 11:16) [11]
> > bioss © (25.11.08 11:13) [8]читать второе предложение
> в [6] до полного просветления. и не называй этот бред "классический
> код", бо классику ты не знаешь
Спасибо! Буду учить классику))
← →
sniknik © (2008-11-25 11:21) [14]в букварь!
это не то что нужно подсказывать. имхо. научить думать в правильном направлении еще куда ни шло.
← →
Ega23 © (2008-11-25 11:21) [15]
> Да) Ну подскажи тогда, где сдесь правильное место?
Букварь по паскалю почитай. Любой. Какова структура программы? С какого волшебного слова начинается тело программы? Каким волшебным словом оно заканчивается? Зачем секция uses? ЗАчем нужна секция uses в разделе implemenation? Что это за раздел?
Ну и т.д. и т.п.
← →
bioss © (2008-11-25 11:22) [16]sniknik,Amoeba, Palladin БОЛЬШОЕ СПАСИБО!
← →
дед Маздай © (2008-11-25 11:59) [17]А почему никто не написал так;
Result := ch in ["0".."9", #8, #13];
или это неверно?
Просто я всегда записываю так, но может я незаю каких-нибудь подводных камней.
← →
Palladin © (2008-11-25 12:02) [18]
> или это неверно?Просто я всегда записываю так, но может
> я незаю каких-нибудь подводных камней.
все нормально, это тоже самое и записано куда лаконичней
← →
Ega23 © (2008-11-25 12:10) [19]
> Result := ch in ["0".."9", #8, #13];
> или это неверно?
В общем случае - нет.ShowMessage(IntToStr(StrToInt("$FF")));
← →
Palladin © (2008-11-25 12:14) [20]
> Ega23 © (25.11.08 12:10) [19]
> В общем случае - нет.
в общем это каком?
> ShowMessage(IntToStr(StrToInt("$FF")));
и? вселенная должна прекратить свое существание? :)
← →
Ega23 © (2008-11-25 12:25) [21]
> в общем это каком?
В общем - в N-ричной системе счисления. Про dec я нигде в ветке не увидел.
Могу предположить, что товарищ делает проверку ввода чисел в TEdit, но настораживает отсутствие DecimalSeparator и присутствие #13.
> и? вселенная должна прекратить свое существание? :)
Нет. Но ни один из выделенных символов в заявленное множество не попадает, однако код нормально компилируется.
← →
Palladin © (2008-11-25 12:35) [22]
> В общем - в N-ричной системе счисления. Про dec я нигде
> в ветке не увидел.Могу предположить, что товарищ делает
> проверку ввода чисел в TEdit, но настораживает отсутствие
> DecimalSeparator и присутствие #13.
будь проще :) речь идет, всего лишь, о вхождении символа в определенный набор, если присмотришься, то ch - это char
> Нет. Но ни один из выделенных символов в заявленное множество
> не попадает, однако код нормально компилируется.
а чего бы ему не компилироваться? :) проверка вхождения символа в определенный набор никакого отношения к функциям перевода строки в число не имеет :)
← →
Ega23 © (2008-11-25 12:39) [23]
> будь проще :) речь идет, всего лишь, о вхождении символа
> в определенный набор, если присмотришься, то ch - это char
Ну я вижу, что char. В TKeyPressEvent тоже char сидит.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.01.04;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.004 c