  | 
	
		
	
	
		Как упростить... - Вопросы и ответы, обсуждения - Ваши вопросы по Pascal/Delphi только в данном разделе | 
	 
	 
	
	
	
	
	
	
	
	
	
	
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            06.07.2012, 16:54
            
            
         | 
        
             
            #1
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Разведчик  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 10.10.2011  
                
                
                
                 Сообщений: 35
                   
 Популярность: 184  
                  
	 Сказал(а) спасибо: 16  
	
		
			
				Поблагодарили 21 раз(а) в 9 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Как упростить...
             
             
            
        
        
        
            
               
    Можно ли как-нибудь упростить эти строчки, чтобы меньше кода было? 
	Код: 
	if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[0]) then ShowMessage('Нужно 30 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[1]) then ShowMessage('Нужно 63 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[2]) then ShowMessage('Нужно 99 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[3]) then ShowMessage('Нужно 139 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[4]) then ShowMessage('Нужно 183 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[5]) then ShowMessage('Нужно 231 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[6]) then ShowMessage('Нужно 284 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[7]) then ShowMessage('Нужно 342 монет');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[8]) then ShowMessage('Нужно 406 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[9]) then ShowMessage('Нужно 477 монет!');
if (sComboBox1.Text=sComboBox1.Items[0]) and(sComboBox2.Text=sComboBox2.Items[10]) then ShowMessage('Нужно 555 монет!');
 
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            06.07.2012, 17:02
            
            
         | 
        
             
            #2
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 07.05.2012  
                
                
                
                 Сообщений: 117
                   
 Популярность: 1781  
                  
	 Сказал(а) спасибо: 16  
	
		
			
				Поблагодарили 82 раз(а) в 44 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Как упростить...
             
             
            
        
        
        
            
               
    Где много кода? Не вижу.
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            06.07.2012, 17:20
            
            
         | 
        
             
            #3
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Разведчик  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 10.10.2011  
                
                
                
                 Сообщений: 35
                   
 Популярность: 184  
                  
	 Сказал(а) спасибо: 16  
	
		
			
				Поблагодарили 21 раз(а) в 9 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Как упростить...
             
             
            
        
        
        
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            06.07.2012, 17:22
            
            
         | 
        
             
            #4
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Старший сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 29.07.2011  
                
                
                
                 Сообщений: 197
                   
 Популярность: 8989  
                  
	 Сказал(а) спасибо: 45  
	
		
			
				Поблагодарили 175 раз(а) в 139 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Как упростить...
             
             
            
        
        
        
            
               
    С твоим подходом - нет. 
Откуда берется количество необходимых монет?
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            06.07.2012, 18:17
            
            
         | 
        
             
            #5
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Разведчик  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 19.02.2012  
                
                
                
                 Сообщений: 36
                   
 Популярность: 447  
                  
	 Сказал(а) спасибо: 25  
	
		
			
				Поблагодарили 50 раз(а) в 40 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Как упростить...
             
             
            
        
        
        
            
               
    
Если я правильно понял, что ты проверяешь, какой пункт выбран в комбобоксе, то в данном случае можно упростить так:
	Код: 
	   if (sComboBox1.ItemIndex = 0) then
   begin
      case sComboBox2.ItemIndex of
         0: ShowMessage('Нужно 30 монет!');
         1: ShowMessage('Нужно 63 монет!');
         // и т.д.
      end;
   end;
 
     
         
        
        
        
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            06.07.2012, 23:09
            
            
         | 
        
             
            #6
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Разведчик  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 25.03.2010  
                
                
                
                 Сообщений: 6
                   
 Популярность: 16  
                  
	 Сказал(а) спасибо: 0  
	
		
			
				Поблагодарили 3 раз(а) в 2 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Как упростить...
             
             
            
        
        
        
            
               
    или можно по-другому: 
в комбобокс дописать так: 
вариант1 (30) 
вариант2 (63) 
и спарсить
 
	Код: 
	showmessage(copy(combobox2.Text,pos('(',combobox2.Text),pos(')',combobox2.Text)));
 
	Код: 
	procedure TForm1.ComboBox1Change(Sender: TObject);
begin
showmessage('нужно '+
copy(combobox1.Text,
pos('(',combobox1.Text)+1,
pos(')',combobox1.Text)-pos('(',combobox1.Text)-1)+' монет!');
end;
xD
 
     
         
        
        
        
        
        
        
        
        
            
                 
                
                    
                        Последний раз редактировалось aktivizion15; 06.07.2012 в 23:21.
                    
                    
                
             
        
        
      | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            07.07.2012, 15:30
            
            
         | 
        
             
            #7
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Лейтенант-командор  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 12.08.2010  
                
                
                
                 Сообщений: 727
                   
 Популярность: 30569  
 Золото Zhyk.Ru: 1     
                  
	 Сказал(а) спасибо: 57  
	
		
			
				Поблагодарили 645 раз(а) в 386 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Как упростить...
             
             
            
        
        
        
            
               
    ItemIndex? не,не слышал   
     
         
        
        
        
        
        
        
            
             ________________  
                Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов  Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270. 
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию. 
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy. 
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
             
        
        
        
        
     | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
	
	
		
	
	
    
        
            
             
            07.07.2012, 15:45
            
            
         | 
        
             
            #8
            
         | 
    
 
    
    
  
    | 
    
     | 
     
  
    | 
    
     | 
    
    
     | 
   
  
    
        Сержант  
     | 
     
 
    
      
  
            
    
      
    
            
                 Регистрация: 20.07.2010  
                
                
                
                 Сообщений: 138
                   
 Популярность: 26409  
                  
	 Сказал(а) спасибо: 53  
	
		
			
				Поблагодарили 567 раз(а) в 198 сообщениях
			
		
	 
     
 
             
                
               
                
       
                  
     | 
    
    
    
        
        
            
            
                 
                Re: Как упростить...
             
             
            
        
        
        
            
               
    Чубарые, все же можно в одну строку написать. ООП для кого придумали? Нет чтоб учебник прочитать, пишут черти че. 
for i:=0 to ComponentsCount-1 do 
  if Components[i] is TsComboBox then // вариант 2 - if Components[i].Tag = 2 (присвоить всем нужным боксам тег - 2) 
     ... траляля ... 
 
Ну а тут : 
var msg:string; 
begin 
if sComboBox1.ItemIndex = 1 then 
Case sComboBox2.ItemIndex of 
0: msg:='123'; 
1: msg:='trololo'; 
....... 
end; 
end;
     
         
        
        
        
        
        
        
            
             ________________  
                 Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). 
             
        
        
        
        
        
            
                 
                
                    
                        Последний раз редактировалось Рэйзор; 07.07.2012 в 16:09.
                    
                    
                
             
        
        
      | 
 
    | 
        
        
        
        
         
     | 
    
    
    
        
        
        
        
             
        
        
        
        
        
        
        
            
        
        
        
     | 
 
 
 
  
	 
	
		 
	 
 
 
	
		
	
	
	
	
	
		
	
		 
		Ваши права в разделе
	 | 
 
	
		
		Вы не можете создавать новые темы 
		Вы не можете отвечать в темах 
		Вы не можете прикреплять вложения 
		Вы не можете редактировать свои сообщения 
		 
		
		
		
		
		HTML код Выкл. 
		 
		
	  | 
 
 
	 | 
	
		
	 | 
 
 
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 10:39. 
		 
	 
 
 | 
  |