Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
9-1176379296
frame3
2007-04-12 16:01
2009.01.04
delphix


15-1221220682
pavel_guzhanov
2008-09-12 15:58
2009.01.04
Пришло приглашение на семинар


2-1227261354
Gurd
2008-11-21 12:55
2009.01.04
Шапка stringGrid как Excel


15-1226089477
Поросенок Винни-Пух
2008-11-07 23:24
2009.01.04
прикольный квартальчик в сан-диегском районе


2-1227191689
checkmate-maker
2008-11-20 17:34
2009.01.04
TBlobByteData





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский