![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Нужна помощь в написании программы в Delphi.Извините,что так прошу.Сегодня за 2 пары сделала и сдала 3 программы.А эту дали дополнительно чтоб получить модуль.Сказали завтра сдать.Помогите пожалуйста написать,не поняла ее совсем,да и лишнего дня нет,чтоб не спеша сделать,делаю другие сейчас(((
![]() Задание На форме располагаются: таблица StringGrid 4х5, два набора радиокнопок с соответст-вующими надписями для выбора номеров строк и столбцов таблицы, главное меню с оп-циями “Занесение” и “Закрытие окна”. Выбор ячейки таблицы и опции «Занесение» приводит к появлению в данной ячейке названия группы. При этом в другой ячейке надпись исчезает. Опция «Закрытие окна» заканчивает программу. |
#2
|
|||
|
|||
![]() Nastya777 держи
кода там на пару строчек)) Последний раз редактировалось Snake22, 07.05.2013 в 20:12. |
#3
|
||||
|
||||
![]() Совершенно неясно откуда возьмется Название группы и откуда в какой-то ячейке уже была какая-то надпись.
Видимо это задание основано на более ранних примерах. Без них половина задания бессмысленна. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
![]() Ещё вариант, но строчек там чуть поболе будет чем пара
![]() Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
![]() Спасибр большое!!!))Попробую разобраться....потом отпишусь как получится.
А задания да непонятные,сама вот поэтому и не поняла как это делать и что нужно.Но вот такие нам дают номера.Не знаю откуда их она(препод) берет.Они все такие странные Пока из всего задания я смогла прописать только закрытие окна,и начала работать с таблицей |
#6
|
||||
|
||||
![]() Цитата:
Последний раз редактировалось orion_asm, 07.05.2013 в 20:37. |
#7
|
||||
|
||||
![]() Коллега, а с чего это вы решили, что группа имеет какое-то отношение к RadioGroup? Совершенно не факт. Это может быть название группы абитуриентов например. Может вы и правы конечно, но что-то мне подсказывает, что это не так.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#8
|
|||
|
|||
![]() Да,эти правильноработают.Спасибо!!!)))Еще спрошу точнее у препода само задание,если что изменю по ходу дела.
А вот в другой программе проблема.Вот задание: На форме располагается StringGrid,две линейки ScrollBar,задающие количество строк и столбцов.На форме также распологаются 3 кнопки:"Заполнить"(Заполняет матрицу случай-ными числами),"Очистить"(очищает матрицу),"Закрыть"(закрывает форму). Как сделать очистить и заполнить??? Заполнить так : for i:= .... do for j:= .... do Ячейка[i,j] = Random(100); Очистить можно я думаю простым StringGrid.Clear;Да???? Если что не так,напишите правильно что сделать??? |
#9
|
||||
|
||||
![]() Ну заполнить не сложно:
Код:
procedure TForm1.Button1Click(Sender: TObject); Var Row,Col: Integer; begin for Row := StringGrid1.FixedRows to StringGrid1.RowCount - 1 do for Col := StringGrid1.FixedCols to StringGrid1.ColCount - 1 do StringGrid1.Cells[Col,Row] := IntToStr(Random(100)); end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#10
|
||||
|
||||
![]() Со ScrollBar тоже не особо сложно, их только на форму кинуть не забыть
Код:
procedure TForm1.ScrollBar1Change(Sender: TObject); begin StringGrid1.ColCount:= ScrollBar1.Position; end; procedure TForm1.ScrollBar2Change(Sender: TObject); begin StringGrid1.RowCount:= ScrollBar2.Position; end; З.Ы. (забыл добавить) А очистка так Код:
procedure TForm1.Button2Click(Sender: TObject); Var Row, Col: integer; begin for Row := StringGrid1.FixedRows to StringGrid1.RowCount - 1 do for Col := StringGrid1.FixedCols to StringGrid1.ColCount - 1 do StringGrid1.Cells[Col, Row]:=''; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 07.05.2013 в 21:08. |
#11
|
||||
|
||||
![]() С небольшим уточнением - чистить можно сразу всю строку:
Код:
procedure TForm1.Button2Click(Sender: TObject); Var Row: integer; begin for Row := StringGrid1.FixedRows to StringGrid1.RowCount - 1 do StringGrid1.Rows[Row].Clear; end; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#12
|
|||
|
|||
![]() Спасибо большое ребята!!!!!!)))Очень благодарна!Поняла,что вы настоящие профессионалы в этом деле)
Но вот последний вопрос,как сделать так,чтобы когда много строк и столбцов было,таблица StringGrid регулировалась по их уровню,а не появлялся ползунок,при нажатии на которого можно проматать на их,которые скрытые.надеюсь вы поняли о чем я,не совсем знаю професс.лексикон программистов))) Вот мои наброски |
#13
|
||||
|
||||
![]() Чтоб совсем полосы прокрутки убрать у StringGrid нужно его свойство ScrollBars выставить как ssNone. Что касается ширины и высоты, то здесь нужно подсчитать суммарную ширину всех столбцов и задать её как Width у сетки, соответственно с высотой точно так же, умножить кол-во всех строчек (RowCount) на их высоту (DefaultRowHeight) и эту сумму задать как Height стрингрида. Только вот что надо будет делать, если размеры сетки увеличатся больше самой формы или экрана?
![]() Полосы прокрутки нужны. З.Ы. Вот, за не имением времени смотреть ваш код, прикладываю примерчик готовый, как можно всё оформить. Здесь используется DBGrid, но со StringGrid тоже самое, пжлст, посмотрите. Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 20.05.2013 в 19:24. |
#14
|
|||
|
|||
![]() Ок)))Тогда попробую ничего не менять,если она попросит,то придется попытаться изменить )
|