![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Код: 
	const n=3; m=2; var a:array [1..N,1..M] of Char; v:array[1..M] of Char; i,j:byte; begin for i:=1 to N do for j:=1 to M do StringGrid1.Cells[j,i]:=a[i,j]; for i:=1 to N do V[i]:=a[i,M]; for i:=1 to N do memo1.lines.add(V[i]); end; end. буду благодарен за помощь. запускается, но в стринггрид меняются значения, а в мемо другие символы заносятся Последний раз редактировалось Admin, 17.02.2013 в 22:51.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 С какого перепуга что-то должно работать?  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Код: 
	var a:array [1..N,1..M] of Char;  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 массив заполняется после запуска программы 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Вот и приводи весь код, а не его огрызки. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 это полный код. значения вводятся после запуска программы. 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 В этом "полном" коде нет ни строчки где бы массив заполнялся. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 после запуска программы нажимаешь на ячейку stringgrid и вводишь значение. 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#8  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Хватит городить ерунду.  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Код: 
	const
  n = 3;
  m = 2;
var
  a : array [1..N, 1..M] of Char;
  v : array[1..M] of Char;
  i, j : byte;
begin
  for i := 1 to N do
    for j := 1 to M do
      // Здесь берутся данные из мифически заполненного массива a
      // и заполняют StringGrid, но никак не наоборот из StringGrid-а в a.
      StringGrid1.Cells[j, i] :=a[i, j];
  
  for  i:= 1 to N do
    V[i] := a[i,M];
  for i := 1 to N do
    memo1.lines.add(V[i]);
end; | 
| 
		 
			 
			#9  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 наверное тогда так надо: 
		
	
		
		
		
		
			
		
		
		
		
		
			Код: 
	a[i,j]:=StringGrid1.Cells[j,i][1]; Последний раз редактировалось NumLock, 18.02.2013 в 09:19.  | 
| 
		 
			 
			#10  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 теперь выдаёт ошибку после нажатие на button. 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#11  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 В какой строке и какую? 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#12  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 размер грида должен быть на 1 больше размера массива из-за фиксированых колонок и столбцов (наверняка они есть). все ячейки грида должны быть заполнены, пустые вызовут AV. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#13  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 все заполнено и у стринггрида больше на 1 ячеек и столбцов. 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#14  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 a[i,j]:=StringGrid1.Cells[j,i][1]; в этой строке. 
		
	
		
		
			 | 
| 
		 
			 
			#15  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Код: 
	procedure TForm1.Button1Click(Sender: TObject);
var
  a: array [1..4, 1..6] of Char;
  v: array [1..6] of Char;
  col, row: Integer;
  i: Integer;
begin
  Memo1.Clear;
  for col:=1 to 4 do
    for row:=1 to 6 do
      a[col, row]:=StringGrid1.Cells[col, row][1];
  for i:=1 to 6 do v[i]:=a[1, i];
  for i:=1 to 6 do Memo1.Lines.Add(v[i]); 
end;см. все во вложении  |