|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
Ок)))Тогда попробую ничего не менять,если она попросит,то придется попытаться изменить )
|