2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Getch в Delphi
Сообщение30.06.2009, 20:43 
Аватара пользователя


30/05/09
121
Киев
Может быть, кто-нибудь знает какая функция в консоли Delphi существует для задержки? В консоли C++ это была функция getch(); Просто хочу писать грамотно и красиво. Объявлять перепенную и писать в конце write ('Press any key to continue') надоедо.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение30.06.2009, 21:52 
Аватара пользователя


31/10/08
1244
Для таких действий подходит
Read;
Или
ReadLn; Будет жать ввода.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение30.06.2009, 22:05 
Аватара пользователя


30/05/09
121
Киев
Уже всё норамльно. Спасибо большое.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение01.07.2009, 13:09 
Аватара пользователя


30/05/09
121
Киев
Хотя, подождите - тема еще не закрыта. В такой вот простой "программе" ни ReadLn ни read не работают (задержка не происходит).

program Project1;
{$ APPTYPE CONSOLE}
uses SysUtils;
var a:integer;
begin
write('a='); read(a);
WriteLn(a);
ReadLn;
end.

Я пронаблюдал, что если в тексте программы используется вывод read(х) или ReadLn(х), тогда задержка не срабатывает. Мне кажется, что должна быть специальная функция (или процедура) задержки. Просто я никак не могу её найти.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение01.07.2009, 14:21 


06/04/09
156
Воронеж
Просто ReadLn "прочитала ввод", который не читала Read.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение10.09.2009, 17:17 


10/09/09
13
Удивительно, так никто и не помог человеку…

Alhimik
Используйте ReadKey и, при необходимости, KeyPressed. Если будет ругаться на несуществующие объявления, найти и подключить в Delphi модуль CRT32.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение10.09.2009, 19:45 


21/03/06
1545
Москва
Цитата:
Удивительно, так никто и не помог человеку…

Удивительно, что кто-то еще пытается юзать Паскаль в последней (как я надеюсь) инкарнации - Borland Delphi. И вовсе неудивительно, что никто не помог - мало кто сейчас знает Паскаль в таких подробностях. Синтаксис - еще куда ни шло, но специфика библиотечных (там они правда встроенные, насколько я понимаю, не суть) функций - увольте. Есть прямой, более гибкий и существенно более распространенный стандарт - Си/Си++ (чтобы исключить флейм - да, я знаю, Си++ - язык с уродским синтаксисом, но все-же он - стандарт, и применим к 99,9% прикладных и системных задач). Так исторически сложилось, и ничего с этим не поделаешь. Live with it.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение10.09.2009, 20:09 
Заслуженный участник


11/05/08
32166
e2e4 в сообщении #242088 писал(а):
да, я знаю, Си++ - язык с уродским синтаксисом,

вот ровно поэтому я его до сих пор так и не знаю. Прямой необходимости -- нет, а работать надо. В этой ситуации Паскаль, прекрасно и машинно- и в то же время человечески-ориентированный -- близок к идеалу. Для человека, не являющегося программистом и даже совсем не программистом, но которому программировать всё же приходится.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение10.09.2009, 23:14 
Заблокирован
Аватара пользователя


13/01/09

335
e2e4 писал(а):
Удивительно, что кто-то еще пытается юзать Паскаль в последней (как я надеюсь) инкарнации - Borland Delphi.

Это вы погорячились:
http://forum.ru-board.com/forum.cgi?act ... ord=delphi
А про уродливый синтаксис вам сам Страуструп на ушко шепнул?

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение10.09.2009, 23:23 


10/09/09
13
Цитата:
А про уродливый синтаксис вам сам Страуструп на ушко шепнул?

Скорее Б.Г. ему денег заплатил, за рекламу :-)

А вообще, e2e4, ewert, Nik_Svan, все, что вы здесь понаписали — оффтопик!

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение11.09.2009, 17:03 


21/03/06
1545
Москва
Я только хотел сказать, что почему бы человеку, который только обучается (или его обучают) программированию, не учить сразу гораздо более распространенный и востребованый язык Си/Си++ вместо академического Паскаля, тем более что в последнем малоразвиты такие необходимые для понимания программирования вещи (если конечно программист хочет стать настоящим профессионалом), как организация и работа с памятью, компоновка и сборка программы, окружение, динамическое выделение памяти под объекты и пр.

-- Пт сен 11, 2009 17:05:44 --

Nik_Svan писал(а):
Это вы погорячились:
http://forum.ru-board.com/forum.cgi?act ... ord=delphi

Это я погорячился... Удивительное рядом. И почему Паскаль столь популярен до сих пор?

Цитата:
А про уродливый синтаксис вам сам Страуструп на ушко шепнул?

И он в том числе. Он сам сожалеет о том, что Си++ был вынужден наследовать синтаксис Си, огромное кол-во скобок в типичных выражениях Си++, неочевидность операций с указателями (двойственность применения значка умножения), неявное приведение типов и пр. Он сам отмечает, что многие программисты просто запоминают, как выглядят те или иные конструкции, чем пытаются их понять :).

-- Пт сен 11, 2009 17:07:19 --

Maverick007 писал(а):
Скорее Б.Г. ему денег заплатил, за рекламу

Это-то к чему?

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение11.09.2009, 18:52 
Заслуженный участник
Аватара пользователя


01/08/06
3132
Уфа
e2e4 писал(а):
Я только хотел сказать, что почему бы человеку, который только обучается (или его обучают) программированию, не учить сразу гораздо более распространенный и востребованый язык Си/Си++ вместо академического Паскаля, тем более что в последнем малоразвиты такие необходимые для понимания программирования вещи (если конечно программист хочет стать настоящим профессионалом), как организация и работа с памятью, компоновка и сборка программы, окружение, динамическое выделение памяти под объекты и пр.


Странно, что Вы сравниваете коммерческие языки C/C++ с академическим Паскалем, а не с коммерческим Delphi (Object Pascal). С точки зрения организации работы с памятью, с оговоркой, что Object Pascal рассчитан только на одну модель памяти и только на прикладные задачи, я не вижу тут особых преимуществ у C/C++. Тем более, что в последних версиях Delphi используется весьма изощрённый менеджер памяти, с которым мало какой другой может сравниться по производительности.

Я думал, Вы упомянете в качестве преимуществ C/C++ наличие жёстких стандартов на языки (и вытекающую из этого универсальность), шаблоны (STL etc; хотя начиная с версии 2009 кое-какие подвижки в этом направлении стали происходить и в Delphi) или хотя бы более развитые (в силу более широкой распространённости) библиотеки.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение11.09.2009, 19:25 


21/03/06
1545
Москва
Извините, worm2, я вовсе не специалист по Паскалю, поэтому просто не в курсе всех его возможностей и ограничений. Borland Delphi и Паскаль использую как синонимы, т.к. никаких других значимых реализаций этого языка не знаю. Вроде бы при использовании Паскаля не заморачиваешься с указателями, выделением памяти, вызовом функций, написанных на других языках с другими соглашениями передачи параметров и т.п.? Может быть, Борланд и прикрутил какие-то костыли к нему, я не знаю.
Шаблоны - да, про это забыл.
Ну а про библиотеки - очевидно. На каком языке больше написано библиотек и opensource проектов?
Самое главное, что я хотел сказать - Си и Паскаль (Си++ и т.н. "Object Pascal" в виде Borland Delphi) - практически аналогичные по заложенной идее языки, отличаются только синтаксисом, только Паскаль делался изначально как довольно теоретическое средство обучения программированию, а Си - как рабочая лошадка системного программиста. Но никаких принципиальных различий или примененных в языках подходов я лично не вижу, только Си изначально гибче был по управлению низкоуровневыми ресурсами целевой платформы. Поправьте если я не прав.

P.S. Может быть модераторам стоит отделить эту тему в отдельную? Все-таки, мы уже далековато отдалились от первоначального вопроса?

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение12.09.2009, 17:31 
Заслуженный участник
Аватара пользователя


01/08/06
3132
Уфа
e2e4 писал(а):
Вроде бы при использовании Паскаля не заморачиваешься с указателями, выделением памяти, вызовом функций, написанных на других языках с другими соглашениями передачи параметров и т.п.? Может быть, Борланд и прикрутил какие-то костыли к нему, я не знаю.

Прикрутил :) Соглашения о передаче параметров --- в первых версиях Delphi, а всё остальное --- ещё раньше, в Borland Pascal'е.

e2e4 писал(а):
Си и Паскаль (Си++ и т.н. "Object Pascal" в виде Borland Delphi) - практически аналогичные по заложенной идее языки, отличаются только синтаксисом, только Паскаль делался изначально как довольно теоретическое средство обучения программированию, а Си - как рабочая лошадка системного программиста. Но никаких принципиальных различий или примененных в языках подходов я лично не вижу, только Си изначально гибче был по управлению низкоуровневыми ресурсами целевой платформы. Поправьте если я не прав.

Всё правильно.

 Профиль  
                  
 
 Re: Getch в Delphi
Сообщение12.09.2009, 18:00 
Заслуженный участник


11/05/08
32166
worm2 в сообщении #242649 писал(а):
Всё правильно.

Не совсем всё. Паскаль изначально готовился как язык обучения программированию. И изготовлен был -- грамотно (слава Вирту!). Потому он и идеален для чайников -- т.е. для тех, для кого программирование есть не средство заработка, а всего лишь инструмент, которым время от времени приходится пользоваться.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group