![]()  | 
	
 
  | 
| 
		 
			 
			#31  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Цитата: 
	
 Спасибо за код , если можно поясните принцип работы . А на счет ждать : для 9-значного " пароля " время перебора составит примерно 32 года , для 12-значного около 1 505 615 лет ( это если 36 символов : Англ.буквы одного регистра и цифры ) .  | 
| 
		 
			 
			#32  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Принцип очень простой. Используется рекурсия, т.е. вызов процедуры самой-себя. Для анализа работы рекомендую задать для CharSet значение '01' и вызвать процедуру так: 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	PassGen('00', 1); и в режиме отладки пошагово посмотреть что происходит.  | 
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
 
UchusNaDelhi7 (18.03.2012)
  | ||
| 
		 
			 
			#33  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Если тупо лоб в лоб, то 
		
	
		
		
		
		
		
		
			Код: 
	procedure TForm1.Button1Click(Sender: TObject);
var s1,s2,s3,s4,s5,s6,s7,s8: char;
begin
for s1:='a' to 'z' do
  for s2:='a' to 'z' do
    for s3:='a' to 'z' do
      for s4:='a' to 'z' do
        for s5:='a' to 'z' do
          for s6:='a' to 'z' do
            for s7:='a' to 'z' do
              for s8:='a' to 'z' do
Memo1.Lines.Add(S1+S2+S3+S4+S5+S6+S7+S8);
end;А реально имеетсмысл смотреть в сторону рекурсии Последний раз редактировалось Cheetos, 17.03.2012 в 23:18.  | 
| Этот пользователь сказал Спасибо Cheetos за это полезное сообщение: | ||
 
UchusNaDelhi7 (18.03.2012)
  | ||
| 
		 
			 
			#34  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Пардон, не заметил  
		
	
		
		
		
		
		
	
		
		
	
	
	![]()  | 
| 
		 
			 
			#35  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Ознакомился с массивами , const ... Всем огромное спасибо ! 
		
	
		
		
		
		
		
	
		
		
	
	
	 |