Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Вывод числового массива


Автор: astral79 9.3.2010, 17:40
В программе требуется вывод большого массива чисел, размер его варьируется в зависимости от входных данных. При каждом цикле счета вычисляется значение, которое требует вывода, как сделать вывод значений в столб в одной метке, если кол-во данных не фиксировано? Через перенос строки (FloatToStrF(..)+#13+..) очень неудобно.

Автор: Snowy 9.3.2010, 17:50
А зачем засовывать большой массив чисел в метку?
Почему не мемо, стринггрид, листвью и т.п.?
Использовать для вывода данных метку - как-то нелогично...

Автор: astral79 9.3.2010, 18:31
А как выглядят эти операторы?

Автор: Данкинг 9.3.2010, 18:48
Цитата(astral79 @  9.3.2010,  18:31 Найти цитируемый пост)
А как выглядят эти операторы? 

Какие операторы - эти?
Цитата(Snowy @  9.3.2010,  17:50 Найти цитируемый пост)
мемо, стринггрид, листвью

? smile Они выглядят как стандартные компоненты Дельфи. smile 

Вообще я бы выводил в ListBox обычный. Зачем метка-то, действительно?

Автор: astral79 9.3.2010, 19:01
Удобно просто через метку, когда чисел немного было.

Автор: Данкинг 9.3.2010, 19:18
Цитата(astral79 @  9.3.2010,  19:01 Найти цитируемый пост)
когда чисел немного было. 

Если два числа - может, и удобно. Если три и больше - ничего удобного.

Автор: pseud 11.3.2010, 11:12
Цитата(astral79 @  9.3.2010,  17:40 Найти цитируемый пост)
Через перенос строки (FloatToStrF(..)+#13+..) очень неудобно.

тогда пихай это дело в цикле TStringList, а потом 
Код

Label1.Caption := StringList1.Text;

Автор: astral79 11.3.2010, 18:04
Так у меня числа, а не строковые переменные. 

Автор: Данкинг 11.3.2010, 18:21
Цитата(astral79 @ 11.3.2010,  18:04)
Так у меня числа, а не строковые переменные.

И что мешает перевести их в строковые переменные? FloatToStr, IntToStr ?

Автор: pseud 12.3.2010, 10:28
Код

type
  TFloatArray = array of Extended;

function FloatArrayToStringList(AFloatArray: TFloatArray): string;
var
  i: Integer;
begin
  Result := '';
  with TStringList.Create do
  try
    for i := Low(AFloatArray) to High(AFloatArray) do
      Add(FloatToStr(AFloatArray[i]));
    Result := Text;
  finally
    Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  a: TFloatArray;
begin
  SetLength(a, 5);
  a[0] := 0.005;
  a[1] := 1.5;
  a[2] := 100.255;
  a[3] := 300.003;
  a[4] := 10;
  ShowMessage(FloatArrayToStringList(a));
end;

Автор: DarkProg 12.3.2010, 11:39
astral79, позвольте я дам вам полезный совет, даже два:
  
  • купите книгу по Делфи, которую вы открываете в магазине смотрите, читаете пару страниц и вам кажется что вроде бы всё понятно и читайте её начиная со второй главы очень внимательно
  • 2) скачайте DRKB
 

Автор: Данкинг 12.3.2010, 12:28
Цитата(DarkProg @  12.3.2010,  11:39 Найти цитируемый пост)
скачайте DRKB

Предваряя вопрос, отвечаю на него: http://drkb.ru/  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)