2014 dxdy logo

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

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




На страницу 1, 2  След.
 
 Getch в Delphi
Сообщение30.06.2009, 20:43 
Аватара пользователя
Может быть, кто-нибудь знает какая функция в консоли Delphi существует для задержки? В консоли C++ это была функция getch(); Просто хочу писать грамотно и красиво. Объявлять перепенную и писать в конце write ('Press any key to continue') надоедо.

 
 
 
 Re: Getch в Delphi
Сообщение30.06.2009, 21:52 
Аватара пользователя
Для таких действий подходит
Read;
Или
ReadLn; Будет жать ввода.

 
 
 
 Re: Getch в Delphi
Сообщение30.06.2009, 22:05 
Аватара пользователя
Уже всё норамльно. Спасибо большое.

 
 
 
 Re: Getch в Delphi
Сообщение01.07.2009, 13:09 
Аватара пользователя
Хотя, подождите - тема еще не закрыта. В такой вот простой "программе" ни 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 
Просто ReadLn "прочитала ввод", который не читала Read.

 
 
 
 Re: Getch в Delphi
Сообщение10.09.2009, 17:17 
Удивительно, так никто и не помог человеку…

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

 
 
 
 Re: Getch в Delphi
Сообщение10.09.2009, 19:45 
Цитата:
Удивительно, так никто и не помог человеку…

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

 
 
 
 Re: Getch в Delphi
Сообщение10.09.2009, 20:09 
e2e4 в сообщении #242088 писал(а):
да, я знаю, Си++ - язык с уродским синтаксисом,

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

 
 
 
 Re: Getch в Delphi
Сообщение10.09.2009, 23:14 
Аватара пользователя
e2e4 писал(а):
Удивительно, что кто-то еще пытается юзать Паскаль в последней (как я надеюсь) инкарнации - Borland Delphi.

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

 
 
 
 Re: Getch в Delphi
Сообщение10.09.2009, 23:23 
Цитата:
А про уродливый синтаксис вам сам Страуструп на ушко шепнул?

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

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

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

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

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

 
 
 
 Re: Getch в Delphi
Сообщение12.09.2009, 17:31 
Аватара пользователя
e2e4 писал(а):
Вроде бы при использовании Паскаля не заморачиваешься с указателями, выделением памяти, вызовом функций, написанных на других языках с другими соглашениями передачи параметров и т.п.? Может быть, Борланд и прикрутил какие-то костыли к нему, я не знаю.

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

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

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

 
 
 
 Re: Getch в Delphi
Сообщение12.09.2009, 18:00 
worm2 в сообщении #242649 писал(а):
Всё правильно.

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

 
 
 [ Сообщений: 18 ]  На страницу 1, 2  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group