![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Добрый день всем... 
		
	
		
		
		
		
		
	
		
		
	
	
	Есть проблема чтения числового одномерного массива из компоненты Edit..   Числа вводятся через пробел, нужно их внести в массив для дальнейшей обработки(сортировки) Всем спасибо  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 тебе надо бежать по пробелам и копировать значения между ними 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Код: 
	function FillArrayFromString(Text:String;Buff:array of Integer):Boolean;
var _pos:Word;
    _text:String;
    index:word;
    BuffPos:Integer;
begin
  Result:=False;
  _text:=text;
  BuffPos:=0;
  If _Text[Length(_Text)]<>' ' Then _Text:=_Text+' ';
  For Index:=0 To Length(_text) Do
    Begin
      If _text[Index]<>' ' Then Continue;
      Try
        Buff[BuffPos]:=StrToInt(Copy(_text,1,Index));
        Delete(_text,1,index);
      Exscept
        Result:=False;
        Exit;
      End;
      Inc(BuffPos);
    End;
end; | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Все сделал как написано...но при использовании этой функции возникает шибка. Например после ввода 
		
	
		
		
		
		
		
	
		
		
	
	
	12 4 5 6 EConvertMessage with error "12'is not valid integer value'.  | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Код: 
	function FillArrayFromString(Text:String;Buff:array of Integer):Boolean;
var _pos:Word;
    _text:String;
    index:word;
    BuffPos:Integer;
begin
  Result:=False;
  _text:=text;
  BuffPos:=0;
  If _Text[Length(_Text)]<>' ' Then _Text:=_Text+' ';
  Index:=0;
  While Index<Length(_text) Do
    Begin
      Inc(Index);
      If _text[Index]<>' ' Then Continue;
      Try
        Buff[BuffPos]:=StrToInt(Copy(_text,1,Index-1));
        Delete(_text,1,index);
        Index:=0;
      Except
        Result:=False;
        Exit;
      End;
      Inc(BuffPos);
    End;
end; | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Код: 
	function StrToMas(const Source: String; var Buf: array of Integer): Boolean;
var
 i, iPos: Integer;
 Dest: String;
begin
 Result := False;
 Dest := Trim(Source) + ' ';
 iPos := Pos(' ', Dest);
 i := Low(Buf);
  while iPos <> 0 do
  begin
    if not TryStrToInt(Trim(Copy(Dest, 1, iPos-1)), Buf[i]) then
     Exit;
   Delete(Dest, 1, iPos);
   iPos := Pos(' ', Dest);
   Inc(i);
  end;
 Result := True;
end; |