одновременно программа выводит идущие часы на екран и ожидает нажатие
кнопки, если кнопка была нажата то программа выполняет какое-то действие,
и снова ожидает нажатие кнопки.
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК ! 
4. НЕ используйте форум для личного общения! 
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел! 
| Bokul | 
                        
			
			  
			
				 Сообщение
					#1				
			 
		 | 
	
        	
        		![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация:    11           	 | 
       
			
			 Как в Паскале реализовать работу сразу двух процессов. Тоесть, например, 
			
			одновременно программа выводит идущие часы на екран и ожидает нажатие кнопки, если кнопка была нажата то программа выполняет какое-то действие, и снова ожидает нажатие кнопки. -------------------- Лао-Цзы : 
					
		Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.  | 
	
![]() ![]()  | 
	
| Atos | 
                        
			
			  
			
				 Сообщение
					#2				
			 
		 | 
	
| 
        	
        		 Прогрессор ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация:    9           	 | 
       
			
			 В Дельфи можно работать с потоками (TTreads), в Турбо Паскале несколько процессов запустить одновременно, насколько я злаю, нельзя (в DOS нет многозадачности), но можно посоветовать работать в цикле: 
			
			
					
		
  | 
	
| Altair | 
                        
			
			  
			
				 Сообщение
					#3				
			 
		 | 
	
        	
        		![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация:    45           	 | 
       
			
			 Цитата есколько процессов запустить одновременно, насколько я злаю, нельзя Есть псевдомультизадачность. В сети можно найти кучу модулей для реализации. На форуме обсуждалось, пользуйся поиском. исходники: http://pascal.sources.ru/multtask/index.htm -------------------- Помогая друг другу, мы справимся с любыми трудностями! 
					
		"Не опускать крылья!" (С)  | 
	
| APAL | 
                        
			
			  
			
				 Сообщение
					#4				
			 
		 | 
	
        	
        		![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация:    6           	 | 
       
			
			 Можно реализовать отображение часов (а лучше проверку их изменения, а потом уже отображение) в виде процедуры, а потом ее пихать везде где можно, т.е. например в циклы: 
			
			
 --------------------  | 
	
| Guest | 
                        
			
			  
			
				 Сообщение
					#5				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Цитата Repeat {...} Clock; {...} Until KeyPressed; Этот цикл будет работать только до первого нажатие клавиши, а мне надо чтобы программа постоянно ожидала нажатие клавиши, постоянно выводила идущие часы, и при этом она могла разобрать, какая именно клавиша была нажата. :cwm31: :cursorsmile2:  | 
	
| Bokul | 
                        
			
			  
			
				 Сообщение
					#6				
			 
		 | 
	
        	
        		![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация:    11           	 | 
       
			
			 Извините, guest это bokul, то-есть я, просто забыл войти под своим логином.  
			
			-------------------- Лао-Цзы : 
					
		Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.  | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#7				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 To: Bokul  
			
			
					
		repeat  | 
	
| Bokul | 
                        
			
			  
			
				 Сообщение
					#8				
			 
		 | 
	
        	
        		![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация:    11           	 | 
       
			
			 Цитата if keypressed then begin ch := readkey; Значит мне придется два раза нажимать одну и ту же клавишу? :confused: -------------------- Лао-Цзы : 
					
		Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.  | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#9				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 To: Bokul  
			
			
					
		Ты в курсе, КАК работает функция KeyPressed? По-моему, нет... А работает она так: если что-то было нажато, и буфер клавиатуры НЕ пустой, то KeyPressed вернет True, и ты зайдешь внутрь If ... НО !!! При этом ничего из буфера клавиатуры не читается, все, что там было - там и остается... А вот когда ты уже вошел внутрь If, и делаешь ch := readkey;, то тут ты и читаешь (первый и единственный раз) код той клавиши, которая была нажата... Так что в коде все нормально  | 
	
| Bokul | 
                        
			
			  
			
				 Сообщение
					#10				
			 
		 | 
	
        	
        		![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация:    11           	 | 
       
			
			 Большое спасибо.  
			
			-------------------- Лао-Цзы : 
					
		Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.  | 
	
![]() ![]()  | 
	
 
  | 
		Текстовая версия | 4.11.2025 13:26 |