Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.10.2008, 13:33
Sergi_08 Sergi_08 вне форума
Прохожий
 
Регистрация: 28.10.2008
Сообщения: 2
Репутация: 10
По умолчанию Чтение числового массива из поля edit

Добрый день всем...
Есть проблема чтения числового одномерного массива из компоненты Edit..
Числа вводятся через пробел, нужно их внести в массив для дальнейшей обработки(сортировки)
Всем спасибо
Ответить с цитированием
  #2  
Старый 28.10.2008, 13:41
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

тебе надо бежать по пробелам и копировать значения между ними
Код:
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;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 28.10.2008, 15:06
Sergi_08 Sergi_08 вне форума
Прохожий
 
Регистрация: 28.10.2008
Сообщения: 2
Репутация: 10
По умолчанию

Все сделал как написано...но при использовании этой функции возникает шибка. Например после ввода
12 4 5 6
EConvertMessage with error "12'is not valid integer value'.
Ответить с цитированием
  #4  
Старый 28.10.2008, 15:21
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
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;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #5  
Старый 28.10.2008, 20:09
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Код:
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;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter