IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

3 страниц V < 1 2 3 >  
Closed Topic Открыть новую тему 
> проверка типа переменной
сообщение
Сообщение #21


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


а можно всетаки про функцию подробнее?
че то не получаеться
вопервых ругаеться на ГетКей, а во вторых - как ее правильно в прогу сунуть?


Это ко мне вопрос что-ли?
Хех, ты вункцию ГетКей не всунешь в начало, чтобы она все время работала smile.gif , ето не ризидент :D
Олег_Зет


Сообщение отредактировано: Oleg_Z -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Код
Function GetKey : Char;
 Var Ch : Char;
 Begin
   Repeat
     Ch:=ReadKey;
   Until ((Ch>'0') and (Ch<'9')) or (Ch=#13);
   GetKey:=Ch;
 End;


А как бы это слегка усовершенствовать?
Тут пока один недостаток... Ввожу я abc - не вводиться, но если попробовать 1abc - все вводиться...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Послушай, BRS, эта функция никакого не дает преимущества перед использованием строки:
Код

var
s:string;
begin
readln(s);
....

и дальнейшей ее обработки. Эта функция не резидент, и резидента из нее не сделаешь!
Ты условие смотри четко! Не может быть, что бы тебе дали такое условие (блокировать нажатия клавиш) это настолько сложно, что по памяти я (модератор = ведущий разговора, то есть знающий предметную обоасть разговора) даже не могу написать, обязательно посмотрю в справочник по асму!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


я просто думал что подобное ограничение ввода - тоже может быть выходом.
ОК - усе понял - пока в такой вариант событий не полезу )))

Вот то, что "пока" сказал, за это уважаю!
Быть тебе знатоком Паса!
:p4:
:p1:

ПАСЫБА ))) :p1: :p2: :p5:

Сообщение отредактировано: BRS -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Раскажите мне кто нибудь подробнее про работу со строкой, плз...

Сообщение отредактировано: BRS -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #26


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


А ФАК я для кого писал????
(ООО, прошу прощения, FAQ, то есть ЧаВо) lol.gif
http://forum.pascal.net.ru/index.php?showtopic=2361


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #27


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Понял ) исправлюсъ, куда послали туда и отпавлюсь :D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #28


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Тот пример функции, который я привел для примера - действительно не ризидент :D
Это пример того, что можно заменить READKEY на свою функцию для фильтрации.
Еще раз говорю - пример! Далее размышляй, домысливай - используй...
rolleyes.gif

А я смотрю сначала, странный резидент... как задание центра выполнять будет не соображу... lol.gif

Сообщение отредактировано: Oleg_Z -


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #29


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Блин я запутался

Цитата
Для ввода использовать строковую переменную.
Затем после ввода перебрать в цикле все символы введенной строки. Если среди них встретилось что-то, кроме цифр 0-9, значит, повторить ввод. Если ничего левого нет, тогда преобразуем строку в целое число с помощью процедуры Val (параметры наизусть не помню).


может кто нить мне пример проги в которой так строка обрабатываеться кинуть?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #30


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


Код
Function CheckNum(St : String) : Boolean;
Var i : Byte;
Begin
CheckNum:=True;
For i:=1 to Length(St) do
 If (St[i]<'0') or (St[i]>'9') then
 Begin
    CheckNum:=False;
    Exit;
 End;
End;


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #31


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


Всем агромное спасибо ) теперь знаю немного больше ) Ура! )

Сообщение отредактировано: BRS -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #32


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

Репутация: -  6  +


спасиба - не булькает :D


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #33


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


О! У мня еще вопрос по функции Val появился
Val(Chr, i, code) - что есть такое code??????
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #34


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


А не проще ли
Код
var str:string;
     value,code:integer;
begin
repeat
readln(str);
val (str,value,code);
until code=0;
end.

Поясню - val "возвращает" в code типа errorlevel`а и если он не 0 то в строке есть НЕ цифры.

зы: программа скорее всего работать не будет :D , но идея, я думаю, ясна


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #35


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской

Репутация: -  0  +


даже насколько я понял несколько больше - еще если число привосходит допустимые рамки
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #36


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
если число привосходит допустимые рамки

Именно! :p5:

А хороший у тебя аватар, далеко пойдешь smile.gif
Вот тебе еще

(я этот шедевр стащил с школьного компа в прошлом году, а точнее с компа директора школы, гыыыы.... ух, что там еще было .... lol.gif (ну доки всякие сов. секкр.) )

Сообщение отредактировано: Oleg_Z -


Эскизы прикрепленных изображений
Прикрепленное изображение

--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #37


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


Цитата(Guest @ 13.09.04 14:32)
а как зделать чтоб процедура работала всю программу?
чтобы походу работы проги нажатие других клавиш не давало результата?

А смысл? Не проще сделать контроль ввода кейсом? и Все...действие только при нажатиии нужной клавиши))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #38


Новичок
*

Группа: Пользователи
Сообщений: 31
Пол: Мужской

Репутация: -  0  +


например контроль ввода real:

Код
procedure Inputreal(n_pos:byte;lo,hi:real; var res:real);
var S:string;
     ErrCode:Integer;
     Ch:char;
     flag:boolean;
begin
  repeat
     flag:=false;
     s:='';
     repeat
         ch:=readkey;
         Case ch of
             Bs: if length(S)>0 then Delete(S,length(S),1);
             Enter: if length(S)>0 then flag:=true;
             '0'..'9','.':if length(S)<n_pos then S:=S+ch;
         end;
         gotoxy(1,1);
         clreol;
         write(S);
      until flag;
      val (s,res,errcode);
   until (errcode=0) and (res<=hi) and (res>=lo)
end;

Не забываем заключать код в соответствующие теги!

Сообщение отредактировано: APAL -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #39


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Код
function getinteger(min,max:integer):integer;
var value,code:integer;
    str:string;
begin
 repeat
  readln(str);
  val(str,value,code);
 until (code=0) and ((value>=min) and (value <=max));
 getinteger:=value;
end;


вот так и рамки мона задать


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #40


Гость






Цитата
То есть сложный, потому что нажатия CTRL+ALT+DEL только я могу заблокировать 
(может еще кто может? )

Нашёл чем удивить smile.gif
 К началу страницы 
+ Ответить 

3 страниц V < 1 2 3 >
Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.09.2025 15:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name