|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.09.2011, 13:57 | #1 |
Пользователь
Регистрация: 08.09.2011
Сообщений: 28
|
Вырезка из матрицы
Сразу извиняюсь если вопрос является дублированным.
На Form имеются компоненты: StreengGreed2, StreengGreed3, edt1, edt2, btn1. Код программы в btn1: Код:
Нажимаем на RUN заполняем таблицу StreenGreed2 цифрами (эелементами матрицы), edt1-номер строки edt2-номер столбца. Проблема такая: как изменить текст программы в btn1, чтобы после нажатия на кнопку btn1, в StreenGreed3 выходила матрица с вырезанной строкой edit1 и вырезанным столбцом edit2 Последний раз редактировалось Stilet; 12.09.2011 в 17:49. |
08.09.2011, 19:12 | #2 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 588
|
Можно так:
Код:
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681 Последний раз редактировалось GetMax; 09.09.2011 в 08:07. |
09.09.2011, 14:42 | #3 |
Пользователь
Регистрация: 08.09.2011
Сообщений: 28
|
БОЛЬШОЕ СПАСИБО!
Теперь такой глупый вопрос, после заполнения edit1 и edit2 цифрами(номерами удаляемых строки и столбца) и нажатия на кнопку в StrengGrid3 появляется результативная матрица, однако после смены номеров edit1 и edit2 и каждого очередного нажатия на кнопку матрица уменьшается на 1 столбец и 1 строку от УЖЕ РЕЗУЛЬТАТИВНОЙ а не той что мы ввели в StringGrid2. Вопрос такой, что изменить дабы не приходилось заново перезапускать программу и заполнять ту же матрицу элементами снова и снова, ведь к примеру нужно мне вырезать 3 стр и 3стлб. нажал на кнопку получил. А если нужно ещё 2 и 2 приходится закрывать форму нажимать RUN и снова заполнять матрицу элементами и тд. (Извиняюсь если что-человек я в этом деле абсолютно новый и никогда раньше этим не занимался) |
09.09.2011, 17:11 | #4 |
Форумчанин
Регистрация: 21.10.2010
Сообщений: 588
|
Решение такое:
Код:
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681 |
09.09.2011, 18:07 | #5 |
Пользователь
Регистрация: 08.09.2011
Сообщений: 28
|
Спасибо! Появляются ещё вопросы но их задам попозже-если сам не смогу сделать))
Ещё раз спс. В продолжение данной темы. Задача: edt1 edt2 воспринимают пока только один элемент-однозначное число, надо чтобы воспринималось несколько чисел и возможно двухзначных-то есть надо мне сразу вырезать 7,13,22 строки и соответсвенно столбцы. Вот общий код: Код:
Сам то я понимаю что неправильно проименовал массивы и ключ к решению вот в этой части: Код:
Последний раз редактировалось Stilet; 12.09.2011 в 17:50. |
12.09.2011, 09:38 | #6 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
А что ты вообще хотел сказать этим?..
Ни arr1, ни arr2, ни x - у тебя не определены. Если ты их даже определишь - все равно их значения у тебя не заданы. Как ты их используешь? И что это там за круглые скобки за arr2[x] ?
Предпочитаю на "ты".
|
12.09.2011, 09:45 | #7 | |
Пользователь
Регистрация: 08.09.2011
Сообщений: 28
|
Цитата:
Круглые скобки опечатка. |
|
12.09.2011, 10:24 | #8 | |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Цитата:
Короче, если так, то тебе надо интерпертировать их как строки. Разбить их на части по разделителям (в цикле) и положить в массивы arr1 и arr2. Потом упорядочить эти массивы по убыванию и сделать цикл удаления. хех )), подумал - упорядочивание по возрастанию позволит организовать цикл удаления более эффективно, но логика будет чуть сложнее..
Предпочитаю на "ты".
Последний раз редактировалось Stilet; 12.09.2011 в 17:51. |
|
12.09.2011, 10:44 | #9 | |
Пользователь
Регистрация: 08.09.2011
Сообщений: 28
|
Цитата:
Перечисляются номера через запятую. Ну так в коде это все сделано-я так понимаю проблема именно в верхней части: Var i,j:Byte; n,m:Byte; arr: array[1..10] of byte; begin n:=arr1[x]; //номер строки m:=arr2[x]; //номер столбца или я неправильно понимаю? |
|
12.09.2011, 11:24 | #10 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 869
|
Если отбросить знак вопроса, то будет верное утверждение.
Смотри, вот так определялись номера удаляемых строки и столбца, когда их было по одному: Код:
Код:
Код:
Возможно, в Delphi есть встроенные средства для разбивания строки на слова (как Explode в PHP). А потом нужно будет упорядочить массивы n и m и сделать цикл для удаления.
Предпочитаю на "ты".
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вырезка бит в паскале. | dukales | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 02.09.2011 05:57 |
Вырезка изображения и переменные | Максим139 | Помощь студентам | 0 | 31.03.2011 17:31 |
Canvas, вырезка, буфер... | Максим139 | Помощь студентам | 0 | 28.03.2011 19:05 |
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. | Volk_xD | Помощь студентам | 6 | 05.01.2011 13:39 |
На главную диагональ матрицы поместить наибольшие элементы этой матрицы | mivel | Помощь студентам | 2 | 23.12.2009 21:19 |