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

Вниз

pascal.Напомните, пожалуйста, как там возвращать значение функции   Найти похожие ветки 

 
12 ©   (2010-06-03 11:32) [0]

Function GoodP(aValue:integer):boolean;
// Функция проверки корректности ввода пользователя
Begin
 // Введенное значение должно быть между 1 и N включительно.
 Result := (P < N+1) and (P > 0); // в этом месте показывает ошибку  
End;


 
@!!ex ©   (2010-06-03 11:33) [1]

Какую ошибку?
Если мы говорим о старом паскале(не дельфи), то там возврат идет через имя функции а не Result.
То есть:
GoodP:=


 
Медвежонок Пятачок ©   (2010-06-03 11:36) [2]

что такое P,N и зачем у этой функции аргумент aValue


 
Ega23 ©   (2010-06-03 11:38) [3]

Не уверен, но я бы  N+1 в скобочки взял.


 
XXL   (2010-06-03 11:40) [4]


> Ega23 ©   (03.06.10 11:38) [3]
> Не уверен, но я бы  N+1 в скобочки взял.

Скобочки не нужны. Преимущества строгой типизации.


 
Ega23 ©   (2010-06-03 11:44) [5]


> Скобочки не нужны.


Я бы не стал настолько категорично утверждать.


 
Думкин ©   (2010-06-03 11:46) [6]


> Ega23 ©   (03.06.10 11:44) [5]

Ты же в риоднли? Кто это за тебя пишет такое, что мол не уверен в таком?


 
12 ©   (2010-06-03 12:27) [7]

извините - разрывают

Result := (P < N+1) and (P > 0); // в этом месте показывает ошибку  

неизвестный идентификатор
по словам моего младшего брата

я ему на Delphi, консолью, написал так

посоветовал пока
GoodP:=

ща посмотрим чего отпишется


 
12 ©   (2010-06-03 12:30) [8]


> что такое P,N и зачем у этой функции аргумент aValue

P,N : integer; глобальные некие
aValue - так, рудимент, удалить надо, забыл


> Не уверен, но я бы  N+1 в скобочки взял.

если не пойдет - еще так посоветую


 
Petr V. Abramov ©   (2010-06-03 12:36) [9]

скобочки точно не нужны


 
12 ©   (2010-06-03 12:49) [10]

ага, только
GoodP:=
дальше откомпилировалось

спасибо


 
Anatoly Podgoretsky ©   (2010-06-03 12:56) [11]

> 12  (03.06.2010 11:32:00)  [0]

Особо не изменилось с 70 годов. Это или присвоение встроеной переменно й
Result или присвоение имени функции. И так уже 40 лет подряд.


 
Anatoly Podgoretsky ©   (2010-06-03 12:58) [12]


> XXL   (03.06.10 11:40) [4]

Типизация тоже не причем. Может ты слышал про приоритеты что либо.


 
Anatoly Podgoretsky ©   (2010-06-03 12:59) [13]

> Думкин  (03.06.2010 11:46:06)  [6]

Наверно срок пришел?


 
Anatoly Podgoretsky ©   (2010-06-03 12:59) [14]

> 12  (03.06.2010 12:27:07)  [7]

Ну так тут всего три идентификатора, можно по пальцам пересчитать.


 
Anatoly Podgoretsky ©   (2010-06-03 13:00) [15]

> 12  (03.06.2010 12:30:08)  [8]

Не надо удалять, наоборот надо добавлять, нужно в функцию передать два
параметра - P, N


 
12 ©   (2010-06-03 13:04) [16]


> Anatoly Podgoretsky ©   (03.06.10 13:00) [15]


Не надо :)
если слишком все хорошо - не поверят, что он сам писал :)


 
Anatoly Podgoretsky ©   (2010-06-03 14:37) [17]

Чуть младшего брата не подставил :-)


 
Германн ©   (2010-06-03 16:58) [18]


> Anatoly Podgoretsky ©   (03.06.10 12:56) [11]
>
> > 12  (03.06.2010 11:32:00)  [0]
>
> Особо не изменилось с 70 годов. Это или присвоение встроеной
> переменно й
> Result

Если мне не изменяет мой склероз, то @Result.


 
Anatoly Podgoretsky ©   (2010-06-03 17:00) [19]

> Германн  (03.06.2010 16:58:18)  [18]

Переменной результат долго не было, пока пользователи не достали Борланд.


 
Германн ©   (2010-06-03 17:12) [20]


> Anatoly Podgoretsky ©   (03.06.10 17:00) [19]

@Result для встроенного ассемблера была давно. Иначе как на асме писать функции возвращающие строки.


 
@!!ex ©   (2010-06-03 17:29) [21]

> [20] Германн ©   (03.06.10 17:12)

и в чем сложность возврата строки БЕЗ @Result?


 
12 ©   (2010-06-03 17:30) [22]


> Иначе как на асме писать функции возвращающие строки.

указатель на начало


 
Германн ©   (2010-06-03 17:36) [23]


> и в чем сложность возврата строки БЕЗ @Result?

А где ты возьмешь адрес строки, которую создал компилятор для результата функции?


 
Германн ©   (2010-06-03 17:38) [24]

Вот кстати пример из Turbo Pascal runtime library:
function StrPas(Str: PChar): String; assembler;
asm
PUSH DS
CLD
LES DI,Str
MOV CX,0FFFFH
XOR AL,AL
REPNE SCASB
NOT CX
DEC CX
LDS SI,Str
LES DI,@Result
MOV AL,CL
STOSB
REP MOVSB
POP DS
end;


 
Anatoly Podgoretsky ©   (2010-06-03 20:13) [25]

> Германн  (03.06.2010 17:12:20)  [20]

Причем тут ассемблер.
В Паскаль функциях такой переменной не было и пользователи сами создавали ее
как локальную переменную и затем в последней строке присваивали значение
функции. Вот так и мучались.


 
Германн ©   (2010-06-04 02:49) [26]


> Anatoly Podgoretsky ©   (03.06.10 20:13) [25]
>
> > Германн  (03.06.2010 17:12:20)  [20]
>
> Причем тут ассемблер.
> В Паскаль функциях такой переменной не было

Какой такой?

> Anatoly Podgoretsky ©   (03.06.10 12:56) [11]
>
> > 12  (03.06.2010 11:32:00)  [0]
>
> Особо не изменилось с 70 годов. Это или присвоение встроеной
> переменной Result

Как понимать тебя, Саид?
Какая встроеная переменная Result в "старом паскале"?

Встроено было только во "встроенный ассемблер".



 
Германн ©   (2010-06-04 03:01) [27]


> Германн ©   (04.06.10 02:49) [26]

P.S.Толь, не хочу с тобой спорить. Некогда. :)
Работы много.


 
Anatoly Podgoretsky ©   (2010-06-04 08:54) [28]

> Германн  (04.06.2010 02:49:26)  [26]

А ты русский в школе учил? Подумай что означает слово ИЛИ


 
Anatoly Podgoretsky ©   (2010-06-04 08:55) [29]

> Германн  (04.06.2010 02:49:26)  [26]

Да и заодно скажи в какой версии появился Result, лучше выпиской иэ what"s
new



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

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

Наверх




Память: 0.53 MB
Время: 0.119 c
2-1270652923
Vincero
2010-04-07 19:08
2010.08.27
Отловить состояние клавиши [Shift] при нажатии на пункт PopupMenu


3-1243590436
gog
2009-05-29 13:47
2010.08.27
Прочитать unicode данные из Oracle


11-1216669322
Сашик
2008-07-21 23:42
2010.08.27
KOL: нужно ли освобождать память после VarArrayCreate...


2-1271311609
Den
2010-04-15 10:06
2010.08.27
InstallShield диалоги


6-1218021112
StranNik
2008-08-06 15:11
2010.08.27
Вопрос по IdHTTPProxyServer