| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 «  : 29-10-2009 18:22 »   | 
								
								 | 
							  
							 
							В институте в качестве практики предложили сделать тестирующую оболочку, в качестве предмета предложили физику. Забил я все в картинки. Дело теперь за оболочкой. Начал с самого простого и постепенно усложняю структуру. Далеко не ушел. Код следующий... unit Unit1;
  interface
  uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, Buttons, StdCtrls, Mask, jpeg, ExtCtrls;
  type   TForm1 = class(TForm)     Label1: TLabel;     Label2: TLabel;     Label3: TLabel;     Family: TEdit;     Name: TEdit;     Group: TEdit;     SpeedButton1: TSpeedButton;     SpeedButton2: TSpeedButton;     SpeedButton3: TSpeedButton;     SpeedButton4: TSpeedButton;     Variant: TEdit;     otvet: TButton;     Image1: TImage;     Label4: TLabel;     procedure SpeedButton3Click(Sender: TObject);     procedure SpeedButton2Click(Sender: TObject);     procedure SpeedButton1Click(Sender: TObject);     procedure SpeedButton4Click(Sender: TObject);     procedure otvetClick(Sender: TObject);   private     { Private declarations }   public     { Public declarations }   end;
  var   Form1: TForm1;
  implementation
  {$R *.dfm}
  procedure TForm1.SpeedButton3Click(Sender: TObject); begin  Close(); end;
  procedure TForm1.SpeedButton2Click(Sender: TObject); begin  Family.Text := '';  Name.Text := '';  Group.Text := ''; end;
  procedure TForm1.SpeedButton1Click(Sender: TObject); begin  if (Family.Text = '') or     (Name.Text = '') or     (Group.Text = '')  Then ShowMessage('Заполните все поля!')  Else   begin    Family.Visible := False;    Name.Visible := False;    Group.Visible := False;    SpeedButton1.Visible := False;    SpeedButton2.Visible := False;    SpeedButton3.Visible := False;    Label1.Visible := False;    Label2.Visible := False;    Label3.Visible := False;    Label4.Visible := True;    Otvet.Visible := True;    Form1.Caption := 'Тестирование';   end; end;
  procedure TForm1.SpeedButton4Click(Sender: TObject); begin  Close(); end;
  procedure TForm1.otvetClick(Sender: TObject); var  a: Array[1..25] of Integer;  i: Integer; begin  Label4.Visible := False;  Otvet.Left := 192;  Otvet.Top := 416;  Variant.Visible := True;  SpeedButton4.Visible := True;  Randomize;  For i:= 1 to 25 do a[i]:=1+random[99]; // вот здесь ругается и пишет ошибку Array type required  Close(); end;
  end.
 
  Понять никак не могу, что там может не нравиться. Суть программки, что заполняется массив из 25 элементов числами от 1 до 99, а после что-то вроде в зависимости от значения элемента открывалась бы соответствующая картинка, считывал ответ тестируемого записанный в TEdit, сравнил с правильным и так дальше по элементам. Как реализовать, не знаю, хотелось бы узнать элементы, с помощью которых это можно сделать, а не готовые решения.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 29-10-2009 19:25 от Sel »
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 29-10-2009 19:57 »   | 
								
								 | 
							  
							 
							Димакрат, ты обращаешься к random как к массиву. А это массив ли?
  Кстати, в чем смысл заполнить локальный массив и сразу закрыть форму? Может стоит сперва описать логику, а потом уже кодировать? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 01-11-2009 09:53 »   | 
								
								 | 
							  
							 
							RXL, то есть, мне нужно описать еще один массив с 99 элементами от 0 до 98?
  Я ж говорю: делаю все по мере поступления задачи. Логика следующая: формируется массив из 25 элементов с числами в интервале от 1 до 99. К каждому числу у меня есть картинка с вопросом. После заполнения массива каждому элементу открывается соответствующая картинка.  К примеру, если первый элемент a[1]=22 то значение TImage.Picture.LoadFromFile:= '/путь ка картинке 22', и так пока массив из 25 элементов не закончится. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 01-11-2009 16:06 от Sel »
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Basurman
							
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 01-11-2009 15:10 »   | 
								
								 | 
							  
							 
							For i:= 1 to 25 do a:=1+random[99]; // вот здесь ругается и пишет ошибку Array type required
  random - стандартная функция языка, требующая  ПАРАМЕТР. ПАРАМЕТР задаётся в круглых скобках. Надо начинать изучать язык.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 02-11-2009 04:35 »   | 
								
								 | 
							  
							 
							RXL, то есть, мне нужно описать еще один массив с 99 элементами от 0 до 98?
  Нет. Надо не гадать, а думать.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 03-11-2009 11:42 »   | 
								
								 | 
							  
							 
							Димакрат, мне кажется, вы не правильно понимаете задачу. вы делаете не оболочку, а программу. изменить число вопросов у вас нельзя, варианты ответов - нельзя, сами вопросы - нельзя. где хранится правильный ответ для тога - не понятно. как сохраняются варианты ответов - тоже непонятно. т.е., это - не оболочка. это автономный и практически не изменяемый продукт, понятие же оболочки подразумевает унифицированную работу с некими меняющимися структурами данных.
  поэтому я бы советовал забить болт на всё, что вы написали, и задумался о том, чтобы храниться на диске в файле (файлах) список вопросов с вариантами ответов и указанием правильного ответа для каждого вопроса в виде обычного текстового файла (возможно - ini, хотя я бы выбрал xml). а задачей самой программы будет вычитать этот список, поочерёдно вывести на экран все вопросы и все варианты ответов к каждому, просуммировать правильные ответы, выдать на экран результат, и записать его в файл. к вопросу может прилагаться и картинка - ничто не мешает, просто одной опциональной строкой в инишнике будет больше.
  это будет именно оболочкой, т.к. она сможет тестировать всё, что угодно. для тестирование не по физике, а по анонимному ботановедению, достаточно будет набрать другой файл с вопросами и ответами и подсунуть программе.
  з.ы. имхо. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 03-11-2009 21:55 »   | 
								
								 | 
							  
							 
							Было и есть такое в планах сделать что действительно стоящее. Так как сроки не растягивают решил сделать только самое основное, мне попались вопросы по первому семестру. Код я немножко доделал, что то изменил, это конечно не глобальные изменения, но все таки. При компилировании доходит до определенного места и дальше только если нажимать кнопку выход. Ниже код procedure TForm1.OkClick(Sender: TObject);  var  a: Array[1..25] of Integer;  i,o: Integer; begin  Randomize;  For i:= 1 to 25 do a[i]:=1+random(99);  o:=0;  case a[i] {здесь останавливается курсор} of   1: begin       Edit1.Text :='img\1.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'а') or          (Variant.Text = 'А')       Then o:=o+1;       Variant.Text :='';      end;   2: begin       Edit1.Text :='img\2.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'г') or          (Variant.Text = 'Г')       Then o:=o+1;       Variant.Text :='';      end;
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Sla
							
						 | 
						
							
								  | 
								
									
									 « Ответ #7 : 04-11-2009 08:34 »   | 
								
								 | 
							  
							 
							ты привязываешься  к конкретной задаче Отойди в сторону и посмотри Твоя задача - тестирующая оболочка Что тестировать? Знания. Создаешь базу знаний База знаний  состоит из вопросов и ответов Например, в xml <ask title="Кто в доме хАзяин">   <responce  title="Он"> <yes>1</yes><responce>   <responce  title="Она"> <yes>0</yes><responce>   <responce  title="Они"> <yes>0</yes><responce> </ask>
  Т.е. твоя задача: обработка базы знаний  и  визуальное отображение  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							Мы все учились понемногу... Чему-нибудь и как-нибудь. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Oldy
							
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 04-11-2009 15:39 »   | 
								
								 | 
							  
							 
							case a[i] {здесь останавливается курсор} of
 Требует регулярного выражения? тогда; ... Var    i, o, x : integer; ...    x := a[i];    CASE x OF      1: ...      2: ...    END;
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 04-11-2009 15:40 от Oldy »
								 | 
								
									 
									Записан
								 | 
							  
							 
							С уважением, Oldy. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #9 : 05-11-2009 20:54 »   | 
								
								 | 
							  
							 
							Спасибо с case разобрался. Теперь в другом сложности. В общем кнопка никак не хочет работать так как нужно. Массив из 25 элементов и 99 картинок, которые выбираются функцией Random() она мне выводит, но выводит не 25 эелемнтов, а выводит до тех пор пока не нажмешь крестик справа вверху. Пытаюсь понять ошибку, но не получается. Вот код procedure TForm1.OkClick(Sender: TObject);  var  a: Array[1..25] of Integer;  i,o: Integer; begin  o:=0;  Randomize;  For i:= 1 to 25 do  begin   a[i]:=1+random(99);   case a[i] of    1: begin       Edit1.Text :='img\1.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'а') or          (Variant.Text = 'А')       Then o:=o+1;       Variant.Text :='';      end;   2: begin       Edit1.Text :='img\2.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'г') or          (Variant.Text = 'Г')       Then o:=o+1;       Variant.Text :='';      end;   3: begin       Edit1.Text :='img\3.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'г') or          (Variant.Text = 'Г')       Then o:=o+1;       Variant.Text :='';      end;   4: begin       Edit1.Text :='img\4.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'а') or          (Variant.Text = 'А')       Then o:=o+1;       Variant.Text :='';      end;   5: begin       Edit1.Text :='img\5.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'б') or          (Variant.Text = 'Б')       Then o:=o+1;       Variant.Text :='';      end;   6: begin       Edit1.Text :='img\6.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'б') or          (Variant.Text = 'Б')       Then o:=o+1;       Variant.Text :='';      end;   7: begin       Edit1.Text :='img\7.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'д') or          (Variant.Text = 'Д')       Then o:=o+1;       Variant.Text :='';      end;   8: begin       Edit1.Text :='img\8.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'д') or          (Variant.Text = 'Д')       Then o:=o+1;       Variant.Text :='';      end;   9: begin       Edit1.Text :='img\9.jpg';       Image1.Picture.LoadFromFile(pchar(Edit1.Text));       If (Variant.Text = 'Г') or          (Variant.Text = 'г')       Then o:=o+1;       Variant.Text :='';      end;   10: begin        Edit1.Text :='img\10.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or          (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   11: begin        Edit1.Text :='img\11.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   12: begin        Edit1.Text :='img\12.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   13: begin        Edit1.Text :='img\13.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   14: begin        Edit1.Text :='img\14.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   15: begin        Edit1.Text :='img\15.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   16: begin        Edit1.Text :='img\16.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   17: begin        Edit1.Text :='img\17.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   18: begin        Edit1.Text :='img\18.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'аб') or           (Variant.Text = 'бв') or           (Variant.Text = 'АБ') or           (Variant.Text = 'БА') or           (Variant.Text = 'Ба') or           (Variant.Text = 'аБ') or           (Variant.Text = 'бА') or           (Variant.Text = 'Аб')        Then o:=o+1;        Variant.Text :='';       end;   19: begin        Edit1.Text :='img\19.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'бв') or           (Variant.Text = 'вб') or           (Variant.Text = 'БВ') or           (Variant.Text = 'ВБ') or           (Variant.Text = 'бВ') or           (Variant.Text = 'Вб') or           (Variant.Text = 'Бв') or           (Variant.Text = 'вБ')        Then o:=o+1;        Variant.Text :='';       end;   20: begin        Edit1.Text :='img\20.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;       end;   21: begin        Edit1.Text :='img\21.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'вг') or           (Variant.Text = 'гв') or           (Variant.Text = 'ВГ') or           (Variant.Text = 'ГВ') or           (Variant.Text = 'Вг') or           (Variant.Text = 'гВ') or           (Variant.Text = 'вГ') or           (Variant.Text = 'Гв')        Then o:=o+1;        Variant.Text :='';       end;   22: begin        Edit1.Text :='img\22.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;       end;   23: begin        Edit1.Text :='img\23.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'д') or           (Variant.Text = 'Д')        Then o:=o+1;       end;   24: begin        Edit1.Text :='img\24.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;       end;   25: begin        Edit1.Text :='img\25.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'аб') or           (Variant.Text = 'бв') or           (Variant.Text = 'АБ') or           (Variant.Text = 'БА') or           (Variant.Text = 'Ба') or           (Variant.Text = 'аБ') or           (Variant.Text = 'бА') or           (Variant.Text = 'Аб')        Then o:=o+1;        Variant.Text :='';       end;   26: begin        Edit1.Text :='img\26.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'д') or           (Variant.Text = 'Д')        Then o:=o+1;        Variant.Text :='';       end;   27: begin        Edit1.Text :='img\27.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   28: begin        Edit1.Text :='img\28.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   29: begin        Edit1.Text :='img\29.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   30: begin        Edit1.Text :='img\30.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   31: begin        Edit1.Text :='img\31.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   32: begin        Edit1.Text :='img\32.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   33: begin        Edit1.Text :='img\33.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   34: begin        Edit1.Text :='img\34.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   35: begin        Edit1.Text :='img\35.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   36: begin        Edit1.Text :='img\36.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   37: begin        Edit1.Text :='img\37.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   38: begin        Edit1.Text :='img\38.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   39: begin        Edit1.Text :='img\39.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   40: begin        Edit1.Text :='img\40.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';        end;   41: begin        Edit1.Text :='img\41.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';        end;   42: begin        Edit1.Text :='img\42.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';        end;   43: begin        Edit1.Text :='img\43.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'д') or           (Variant.Text = 'Д')        Then o:=o+1;        Variant.Text :='';        end;   44: begin        Edit1.Text :='img\44.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';        end;   45: begin        Edit1.Text :='img\45.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';        end;   46: begin        Edit1.Text :='img\46.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';        end;   47: begin        Edit1.Text :='img\47.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'гд') or           (Variant.Text = 'дг') or           (Variant.Text = 'ДГ') or           (Variant.Text = 'ГД') or           (Variant.Text = 'гД') or           (Variant.Text = 'Дг') or           (Variant.Text = 'Гд') or           (Variant.Text = 'дГ')        Then o:=o+1;        Variant.Text :='';        end;   48: begin        Edit1.Text :='img\48.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';        end;   49: begin        Edit1.Text :='img\49.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'аб') or           (Variant.Text = 'ба') or           (Variant.Text = 'АБ') or           (Variant.Text = 'БА') or           (Variant.Text = 'аБ') or           (Variant.Text = 'Ба') or           (Variant.Text = 'Аб') or           (Variant.Text = 'бА')        Then o:=o+1;        Variant.Text :='';        end;   50: begin        Edit1.Text :='img\50.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';        end;   51: begin        Edit1.Text :='img\51.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   52: begin        Edit1.Text :='img\52.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   53: begin        Edit1.Text :='img\53.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   54: begin        Edit1.Text :='img\54.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   55: begin        Edit1.Text :='img\55.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   56: begin        Edit1.Text :='img\56.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   57: begin        Edit1.Text :='img\57.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   58: begin        Edit1.Text :='img\58.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   59: begin        Edit1.Text :='img\59.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'д') or           (Variant.Text = 'Д')        Then o:=o+1;        Variant.Text :='';       end;   60: begin        Edit1.Text :='img\60.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   61: begin        Edit1.Text :='img\61.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   62: begin        Edit1.Text :='img\62.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   63: begin        Edit1.Text :='img\63.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'вг') or           (Variant.Text = 'ВГ') or           (Variant.Text = 'гв') or           (Variant.Text = 'ГВ') or           (Variant.Text = 'Вг') or           (Variant.Text = 'гВ') or           (Variant.Text = 'вГ') or           (Variant.Text = 'гВ')        Then o:=o+1;        Variant.Text :='';       end;   64: begin        Edit1.Text :='img\64.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   65: begin        Edit1.Text :='img\65.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'д') or           (Variant.Text = 'Д')        Then o:=o+1;        Variant.Text :='';       end;   66: begin        Edit1.Text :='img\66.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   67: begin        Edit1.Text :='img\67.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'гд') or           (Variant.Text = 'дг') or           (Variant.Text = 'ДГ') or           (Variant.Text = 'ГД') or           (Variant.Text = 'гД') or           (Variant.Text = 'Дг') or           (Variant.Text = 'Гд') or           (Variant.Text = 'дГ')         Then o:=o+1;        Variant.Text :='';       end;   68: begin        Edit1.Text :='img\68.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'д') or           (Variant.Text = 'Д')        Then o:=o+1;        Variant.Text :='';       end;   69: begin        Edit1.Text :='img\69.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   70: begin        Edit1.Text :='img\70.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   71: begin        Edit1.Text :='img\71.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   72: begin        Edit1.Text :='img\72.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   73: begin        Edit1.Text :='img\73.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   74: begin        Edit1.Text :='img\74.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   75: begin        Edit1.Text :='img\75.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   76: begin        Edit1.Text :='img\76.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   77: begin        Edit1.Text :='img\77.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   78: begin        Edit1.Text :='img\78.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   79: begin        Edit1.Text :='img\79.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   80: begin        Edit1.Text :='img\80.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   81: begin        Edit1.Text :='img\81.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   82: begin        Edit1.Text :='img\82.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   83: begin        Edit1.Text :='img\83.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'д') or           (Variant.Text = 'Д')        Then o:=o+1;        Variant.Text :='';       end;   84: begin        Edit1.Text :='img\84.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'вд') or           (Variant.Text = 'дв') or           (Variant.Text = 'Вд') or           (Variant.Text = 'дВ') or           (Variant.Text = 'вД') or           (Variant.Text = 'Дв') or           (Variant.Text = 'ВД') or           (Variant.Text = 'ДВ')        Then o:=o+1;        Variant.Text :='';       end;   85: begin        Edit1.Text :='img\85.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   86: begin        Edit1.Text :='img\86.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   87: begin        Edit1.Text :='img\87.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   88: begin        Edit1.Text :='img\88.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'бд') or           (Variant.Text = 'дб') or           (Variant.Text = 'Бд') or           (Variant.Text = 'дБ') or           (Variant.Text = 'бД') or           (Variant.Text = 'Дб') or           (Variant.Text = 'БД') or           (Variant.Text = 'ДБ')        Then o:=o+1;        Variant.Text :='';       end;   89: begin        Edit1.Text :='img\89.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   90: begin        Edit1.Text :='img\90.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   91: begin        Edit1.Text :='img\91.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'б') or           (Variant.Text = 'Б')        Then o:=o+1;        Variant.Text :='';       end;   92: begin        Edit1.Text :='img\92.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   93: begin        Edit1.Text :='img\93.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   94: begin        Edit1.Text :='img\94.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   95: begin        Edit1.Text :='img\95.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'д') or           (Variant.Text = 'Д')        Then o:=o+1;        Variant.Text :='';       end;   96: begin        Edit1.Text :='img\96.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   97: begin        Edit1.Text :='img\97.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'г') or           (Variant.Text = 'Г')        Then o:=o+1;        Variant.Text :='';       end;   98: begin        Edit1.Text :='img\98.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'а') or           (Variant.Text = 'А')        Then o:=o+1;        Variant.Text :='';       end;   99: begin        Edit1.Text :='img\99.jpg';        Image1.Picture.LoadFromFile(pchar(Edit1.Text));        If (Variant.Text = 'в') or           (Variant.Text = 'В')        Then o:=o+1;        Variant.Text :='';       end;   end;  end; end;
  Вроде сам цикл у меня расчитан только на 25 проходов, но делает больше. Пытался поставить условие, использовать break, close() все равно не помогает.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Oldy
							
						 | 
						
							
								  | 
								
									
									 « Ответ #10 : 06-11-2009 15:26 »   | 
								
								 | 
							  
							 
							Димакрат, я ошибок цикла не заметил, почему он увеличивается - непонятно. Если не секрет - на сколько увеличивается, т.е. до какого числа i? 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 06-11-2009 15:44 от Oldy »
								 | 
								
									 
									Записан
								 | 
							  
							 
							С уважением, Oldy. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #11 : 07-11-2009 08:16 »   | 
								
								 | 
							  
							 
							я даже не знаю на сколько. Щелкал я как-то минут 10 и он мне продолжал рандомно картинки открывать. Передумаю я эту структуру, попытаюсь сделать все относительно элемента массива 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 07-11-2009 08:19 от Димакрат »
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							zubr
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #12 : 07-11-2009 10:44 »   | 
								
								 | 
							  
							 
							Димакрат, так ты даже не считал, а утверждаешь, что у тебя цикл больше 25 проходит (кто виноват - Windows маздай или Delphi Object Pascal ?). Элементарный тест, вставь в тело цикла до оператора case MessageBox(0, PChar(IntToStr(i)), '', MB_OK); Должно при нажатии кнопки 25 раз выскакивать сообщение с номером итерации цикла. Теперь по алгоритму - ужас, ужас... А если в тесте будет 1000 вопросов, так что будешь для 1000 меток вбивать код в оператор case? Так может тогда стоит тебе в операторы-машинистки переквалифицироваться, имхо больше заработаешь. Подумай как оптимизировать свой код. Даю наводящую подсказку: For i:= 1 to 25 do begin   a[i]:=1+random(99);   Edit1.Text :='img\' + IntToStr(a[i]) + '.jpg';   Image1.Picture.LoadFromFile(pchar(Edit1.Text)); end;
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #13 : 07-11-2009 11:49 »   | 
								
								 | 
							  
							 
							Я не на столько глуп) Думал я над этим, если использовать предложенную структуру то встает вопрос сравнивания ответов с правильным. В текстовый документ записывать ответы не вариант, студенты умные, копирнут и картинки и текстовый документ с вариантами ответов. Остается только таблицу использовать, созданную через DataBase и чего то там дальше, но как сравнивать через таблицу для меня это не знакомо, сижу пытаюсь найти как чего но пока без результатов 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #14 : 07-11-2009 11:54 »   | 
								
								 | 
							  
							 
							zubr,  поставил MessageBox(0, PChar(IntToStr(i)), '', MB_OK); вроде как 25 раз показывает мне номер вопроса, после ок счелкает следующий вопрос и так дальше, как только 25 становится останавливается 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RXL
							
						 | 
						
							
								  | 
								
									
									 « Ответ #15 : 07-11-2009 11:59 »   | 
								
								 | 
							  
							 
							Димакрат, текст не сложно зашифровать. Сделай отдельную утилиту для составления запросов, генерации XML-файла и его шифрации, а в тестирующей программе выполняй дешифрацию. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С. 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							zubr
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #16 : 07-11-2009 15:14 »   | 
								
								 | 
							  
							 
							zubr,  поставил MessageBox(0, PChar(IntToStr(i)), '', MB_OK); вроде как 25 раз показывает мне номер вопроса, после ок счелкает следующий вопрос и так дальше, как только 25 становится останавливается
  Так все таки цикл работает правильно. Я не на столько глуп) Думал я над этим, если использовать предложенную структуру то встает вопрос сравнивания ответов с правильным. В текстовый документ записывать ответы не вариант, студенты умные, копирнут и картинки и текстовый документ с вариантами ответов. Остается только таблицу использовать, созданную через DataBase и чего то там дальше, но как сравнивать через таблицу для меня это не знакомо, сижу пытаюсь найти как чего но пока без результатов
  Простое решение: создать константный массив правильных ответов: const   Answers: array[1..100] of Byte = (2, 5, 1, 4, .. , 3);
  В любом случае написать массив гораздо меньше кода, чем решение с case;  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #17 : 07-11-2009 23:39 »   | 
								
								 | 
							  
							 
							const   Answers: array[1..100] of Byte = (2, 5, 1, 4, .. , 3);
  а если у меня символы русского алфавита вместо байт char? но он вроде все равно не подходит  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							zubr
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #18 : 08-11-2009 07:46 »   | 
								
								 | 
							  
							 
							const   Answers: array[1..100] of char = ('A', 'Б', 'B', 'Г', .. , 'Д');
    if AnsiCompareText(Variant.Text, Answers[a[i]]) = 0 then   o:=o+1;
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 08-11-2009 07:50 от zubr »
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #19 : 08-11-2009 11:23 »   | 
								
								 | 
							  
							 
							коллеги, я всё понимаю, но зачем вот тут pchar?  Image1.Picture.LoadFromFile(pchar(Edit1.Text)); просто любопытно.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #20 : 08-11-2009 11:29 »   | 
								
								 | 
							  
							 
							Я не на столько глуп) Думал я над этим, если использовать предложенную структуру то встает вопрос сравнивания ответов с правильным. В текстовый документ записывать ответы не вариант, студенты умные, копирнут и картинки и текстовый документ с вариантами ответов. Остается только таблицу использовать, созданную через DataBase и чего то там дальше, но как сравнивать через таблицу для меня это не знакомо, сижу пытаюсь найти как чего но пока без результатов
  да ну, ерунда    храните код правильного ответа в левом верхнем пикселе картинки, у вас там для этого будет целых три байта. при выводе картинки заливайте этот пиксел цветом фона. это даже в примитивном случае с использованием картинок. а уже если текст есть - там вообще лафа.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #21 : 08-11-2009 13:16 »   | 
								
								 | 
							  
							 
							Димакрат, текст не сложно зашифровать. Сделай отдельную утилиту для составления запросов, генерации XML-файла и его шифрации, а в тестирующей программе выполняй дешифрацию.
  Ром, реальные пацаны лазят не в файле с запросами, а в файле с результатами   . в 10-м классе лицея на лабах один человек прошёл тест полностью, после чего взяли его файл с результатами, написали там, какой он молодец, и скопировали всей банде на дискеты. и фсё.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Димакрат
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #22 : 08-11-2009 15:20 »   | 
								
								 | 
							  
							 
							Такой вопрос созрел.  У меня к примеру есть три элемента Edit: Edit1, Edit2, Edit3. И нужно сделать следующее. var  a: Array [1..3] of Integer;  i: Integer; begin  randomize;  for i:= 1 to 3 do  begin   a[i]:=1+Random(3);   case i of   1: Edit1.Text:= IntToStr(a[i]);   2: Edit2.Text:= IntToStr(a[i]);   3: Edit3.Text:= IntToStr(a[i]);   end;  end; end;
   А можно ли обойтись без case , так что бы число после Edit ровнялось i ?  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 08-11-2009 15:25 от Димакрат »
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							zubr
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									«  Ответ #23 : 08-11-2009 15:50 »    | 
								
								 | 
							  
							 
							2 варианта: 1. Поместить нужные компоненты TEdit в массив или в TList или в TObjectList или даже в TStringList (вариант с массивом): var    EditArray: array [1..100] of TEdit;   edit: TEdit;
  for i := 1 to 100 do begin   edit := TEdit.Create(Self);   edit.Parent := Self;   //дальнейшая инициализация edit   EditArray[i] := edit; end;
    2.   for i := 1 to 3 do   begin     a[i]:=1+Random(3);     TEdit(FindComponent('Edit' + IntToStr(i))).Text := IntToStr(a[i]);   end;
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							x77
							
								Модератор
								
								 
								  Offline
								Пол:   
								
								меняю стакан шмали на обратный билет с Марса.
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #24 : 08-11-2009 15:58 »   | 
								
								 | 
							  
							 
							(FindComponent ('Edit' + IntToStr (a )) as TEdit).Text := a ; 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	 |