Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2016, 12:59   #1
dima1208
Пользователь
 
Регистрация: 02.11.2015
Сообщений: 12
По умолчанию разбор строк в memo и массив элементов

Добрый день, уважаемые форумчане.
Прошу помощи в следующем вопросе:
Есть memo, в нем 5 строк по 8 символов (байт):

00001111
11110000
10101010
01010101
11111111

Также имеется массив из Shape такого же вида: arr[1..5, 1..8].

Нужно проанализировать строки в мемо, и если 1 то закрасить соответсвующий shape черным. Если 0 - то оставить белым.

Я так понимаю что нужно 2 цикла использовать
Код:
for i:=1 to 5 do begin
 for j:=1 to 8 do begin

 end;
end;
а что в циклах написать ничего не могу придумать...
Заранее спасибо!
dima1208 вне форума Ответить с цитированием
Старый 29.05.2016, 13:18   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
uses ExtCtrls;

var Shape:array[1..5,1..8] of TShape;

procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
   For i:=1 to 5 do
      For j:=1 to 8 do
      begin
         Shape[i,j]:=TShape.Create(Application);
         Shape[i,j].Parent:=Form1;
         Shape[i,j].SetBounds((j-1)*20,(i-1)*20,18,18);
      end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j,mi,mj:integer;
    s:string;
begin
   mi:=Memo1.Lines.Count;
   If mi>5 then
      mi:=5;
   For i:=0 to mi-1 do
   begin
      s:=Memo1.Lines[i];
      mj:=Length(s);
      If mj>8 then
         mj:=8;
      For j:=1 to mj do
         If s[j]='1' then
            Shape[i+1,j].Brush.Color:=clBlack else
            Shape[i+1,j].Brush.Color:=clWhite;
   end;
end;
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 29.05.2016, 14:40   #3
dima1208
Пользователь
 
Регистрация: 02.11.2015
Сообщений: 12
Хорошо

Огромное спасибо, то что нужно!)))
dima1208 вне форума Ответить с цитированием
Старый 29.05.2016, 14:51   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сформировать одномерный массив как сумму отрицательных элементов строк матрицы Андрей564 Паскаль, Turbo Pascal, PascalABC.NET 10 20.06.2015 16:33
Delphi.Чтение файла в Memo, вычисление, добавление строк в Memo antonio_sk Помощь студентам 0 26.04.2013 18:01
Дана матрица. Определить суммы положительных элементов строк и записать их в массив. mtv2107 Помощь студентам 5 05.01.2011 00:36
разбор строк Djeka(c) Общие вопросы Delphi 20 13.09.2010 18:09
Задача: сформировать новый массив, содержащий номера строк матрицы, имеющих отрицательную сумму элементов Striker14 Помощь студентам 1 23.02.2009 23:29