1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
| BRS |
13.09.2004 16:54
Сообщение
#21
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
а можно всетаки про функцию подробнее?
че то не получаеться вопервых ругаеться на ГетКей, а во вторых - как ее правильно в прогу сунуть? Это ко мне вопрос что-ли? Хех, ты вункцию ГетКей не всунешь в начало, чтобы она все время работала Олег_Зет Сообщение отредактировано: Oleg_Z - 13.09.2004 17:07 |
| BRS |
13.09.2004 17:13
Сообщение
#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 - все вводиться... |
| Altair |
13.09.2004 17:20
Сообщение
#23
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Послушай, BRS, эта функция никакого не дает преимущества перед использованием строки:
Код var s:string; begin readln(s); .... и дальнейшей ее обработки. Эта функция не резидент, и резидента из нее не сделаешь! Ты условие смотри четко! Не может быть, что бы тебе дали такое условие (блокировать нажатия клавиш) это настолько сложно, что по памяти я (модератор = ведущий разговора, то есть знающий предметную обоасть разговора) даже не могу написать, обязательно посмотрю в справочник по асму! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
| BRS |
13.09.2004 17:25
Сообщение
#24
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
я просто думал что подобное ограничение ввода - тоже может быть выходом.
ОК - усе понял - пока в такой вариант событий не полезу ))) Вот то, что "пока" сказал, за это уважаю! Быть тебе знатоком Паса!:p4: :p1: ПАСЫБА ))) :p1: :p2: :p5: Сообщение отредактировано: BRS - 13.09.2004 17:36 |
| BRS |
13.09.2004 17:34
Сообщение
#25
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
Раскажите мне кто нибудь подробнее про работу со строкой, плз...
Сообщение отредактировано: BRS - 13.09.2004 17:35 |
| Altair |
13.09.2004 17:37
Сообщение
#26
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
А ФАК я для кого писал????
(ООО, прошу прощения, FAQ, то есть ЧаВо) http://pascal.dax.ru/forum/index.php?showtopic=2361 -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
| BRS |
13.09.2004 17:39
Сообщение
#27
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
Понял ) исправлюсъ, куда послали туда и отпавлюсь :D
|
| APAL |
13.09.2004 17:42
Сообщение
#28
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
Тот пример функции, который я привел для примера - действительно не ризидент :D
Это пример того, что можно заменить READKEY на свою функцию для фильтрации. Еще раз говорю - пример! Далее размышляй, домысливай - используй... А я смотрю сначала, странный резидент... как задание центра выполнять будет не соображу... Сообщение отредактировано: Oleg_Z - 13.09.2004 17:44 -------------------- |
| BRS |
13.09.2004 18:19
Сообщение
#29
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
Блин я запутался
Цитата Для ввода использовать строковую переменную. Затем после ввода перебрать в цикле все символы введенной строки. Если среди них встретилось что-то, кроме цифр 0-9, значит, повторить ввод. Если ничего левого нет, тогда преобразуем строку в целое число с помощью процедуры Val (параметры наизусть не помню). может кто нить мне пример проги в которой так строка обрабатываеться кинуть? |
| APAL |
13.09.2004 18:24
Сообщение
#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; -------------------- |
| BRS |
13.09.2004 18:54
Сообщение
#31
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
Всем агромное спасибо ) теперь знаю немного больше ) Ура! )
Сообщение отредактировано: BRS - 13.09.2004 18:56 |
| APAL |
13.09.2004 19:12
Сообщение
#32
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: 6 |
спасиба - не булькает :D
-------------------- |
| BRS |
13.09.2004 20:29
Сообщение
#33
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
О! У мня еще вопрос по функции Val появился
Val(Chr, i, code) - что есть такое code?????? |
| GoodWind |
13.09.2004 20:33
Сообщение
#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 , но идея, я думаю, ясна -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
| BRS |
14.09.2004 6:17
Сообщение
#35
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: 0 |
даже насколько я понял несколько больше - еще если число привосходит допустимые рамки
|
| Altair |
14.09.2004 6:47
Сообщение
#36
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата если число привосходит допустимые рамки Именно! :p5: А хороший у тебя аватар, далеко пойдешь Вот тебе еще (я этот шедевр стащил с школьного компа в прошлом году, а точнее с компа директора школы, гыыыы.... ух, что там еще было .... Сообщение отредактировано: Oleg_Z - 14.09.2004 7:02 Эскизы прикрепленных изображений -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
| Werwolf86 |
14.09.2004 7:20
Сообщение
#37
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 31 Пол: Мужской Репутация: 0 |
Цитата(Guest @ 13.09.04 14:32) а как зделать чтоб процедура работала всю программу? чтобы походу работы проги нажатие других клавиш не давало результата? А смысл? Не проще сделать контроль ввода кейсом? и Все...действие только при нажатиии нужной клавиши)) |
| Werwolf86 |
14.09.2004 7:50
Сообщение
#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 - 14.09.2004 12:52 |
| GoodWind |
14.09.2004 8:18
Сообщение
#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; вот так и рамки мона задать -------------------- Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
|
| BlackShadow |
14.09.2004 19:44
Сообщение
#40
|
|
Гость |
Цитата То есть сложный, потому что нажатия CTRL+ALT+DEL только я могу заблокировать (может еще кто может? ) Нашёл чем удивить |
![]() ![]() |
|
Текстовая версия | 15.11.2025 13:54 |