Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2013, 18:54
Nastya777 Nastya777 вне форума
Прохожий
 
Регистрация: 22.04.2013
Адрес: Оренбург
Сообщения: 14
Версия Delphi: Delphi 7
Репутация: 10
Печаль главное меню с опциями “Занесение” и “Закрытие окна”

Нужна помощь в написании программы в Delphi.Извините,что так прошу.Сегодня за 2 пары сделала и сдала 3 программы.А эту дали дополнительно чтоб получить модуль.Сказали завтра сдать.Помогите пожалуйста написать,не поняла ее совсем,да и лишнего дня нет,чтоб не спеша сделать,делаю другие сейчас(((

Задание
На форме располагаются: таблица StringGrid 4х5, два набора радиокнопок с соответст-вующими надписями для выбора номеров строк и столбцов таблицы, главное меню с оп-циями “Занесение” и “Закрытие окна”. Выбор ячейки таблицы и опции «Занесение» приводит к появлению в данной ячейке названия группы. При этом в другой ячейке надпись исчезает. Опция «Закрытие окна» заканчивает программу.
Ответить с цитированием
  #2  
Старый 07.05.2013, 20:09
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

Nastya777 держи
кода там на пару строчек))
Вложения
Тип файла: zip Nastay777.zip (234.9 Кбайт, 6 просмотров)

Последний раз редактировалось Snake22, 07.05.2013 в 20:12.
Ответить с цитированием
  #3  
Старый 07.05.2013, 20:12
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Совершенно неясно откуда возьмется Название группы и откуда в какой-то ячейке уже была какая-то надпись.
Видимо это задание основано на более ранних примерах. Без них половина задания бессмысленна.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 07.05.2013, 20:12
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Ещё вариант, но строчек там чуть поболе будет чем пара
Вложения
Тип файла: zip ns.zip (2.1 Кбайт, 6 просмотров)
Ответить с цитированием
  #5  
Старый 07.05.2013, 20:25
Nastya777 Nastya777 вне форума
Прохожий
 
Регистрация: 22.04.2013
Адрес: Оренбург
Сообщения: 14
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Спасибр большое!!!))Попробую разобраться....потом отпишусь как получится.
А задания да непонятные,сама вот поэтому и не поняла как это делать и что нужно.Но вот такие нам дают номера.Не знаю откуда их она(препод) берет.Они все такие странные

Пока из всего задания я смогла прописать только закрытие окна,и начала работать с таблицей
Ответить с цитированием
  #6  
Старый 07.05.2013, 20:35
Аватар для orion_asm
orion_asm orion_asm вне форума
Прохожий
 
Регистрация: 23.06.2012
Адрес: Украина, Днепропетровск
Сообщения: 19
Версия Delphi: XE3
Репутация: 10
Подмигивание

Цитата:
Сообщение от Nastya777
Не знаю откуда их она(препод) берет.Они все такие странные
Не по теме: Есть такие преподаватели, которые специально дают задания, чтобы им на лапу шекель дали (взятку). Это легко проверить, если прийти к ним на консультацию с какими-то набросками кода, и если он так посмотрит лениво, скажет "ничего не понимаю", то или готовить деньги или искать помощи программистов, как здесь например ребята вам помогли.

Последний раз редактировалось orion_asm, 07.05.2013 в 20:37.
Ответить с цитированием
  #7  
Старый 07.05.2013, 20:39
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Коллега, а с чего это вы решили, что группа имеет какое-то отношение к RadioGroup? Совершенно не факт. Это может быть название группы абитуриентов например. Может вы и правы конечно, но что-то мне подсказывает, что это не так.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 07.05.2013, 20:43
Nastya777 Nastya777 вне форума
Прохожий
 
Регистрация: 22.04.2013
Адрес: Оренбург
Сообщения: 14
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Да,эти правильноработают.Спасибо!!!)))Еще спрошу точнее у препода само задание,если что изменю по ходу дела.
А вот в другой программе проблема.Вот задание: На форме располагается StringGrid,две линейки ScrollBar,задающие количество строк и столбцов.На форме также распологаются 3 кнопки:"Заполнить"(Заполняет матрицу случай-ными числами),"Очистить"(очищает матрицу),"Закрыть"(закрывает форму).

Как сделать очистить и заполнить???
Заполнить так : for i:= .... do
for j:= .... do
Ячейка[i,j] = Random(100);
Очистить можно я думаю простым StringGrid.Clear;Да????

Если что не так,напишите правильно что сделать???
Ответить с цитированием
  #9  
Старый 07.05.2013, 20:46
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну заполнить не сложно:
Код:
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  
Старый 07.05.2013, 20:56
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Со 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  
Старый 07.05.2013, 21:52
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

С небольшим уточнением - чистить можно сразу всю строку:
Код:
procedure TForm1.Button2Click(Sender: TObject);
Var
Row: integer;
begin
 for Row := StringGrid1.FixedRows to StringGrid1.RowCount - 1 
 do StringGrid1.Rows[Row].Clear;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #12  
Старый 20.05.2013, 18:29
Nastya777 Nastya777 вне форума
Прохожий
 
Регистрация: 22.04.2013
Адрес: Оренбург
Сообщения: 14
Версия Delphi: Delphi 7
Репутация: 10
Хорошо

Спасибо большое ребята!!!!!!)))Очень благодарна!Поняла,что вы настоящие профессионалы в этом деле)
Но вот последний вопрос,как сделать так,чтобы когда много строк и столбцов было,таблица StringGrid регулировалась по их уровню,а не появлялся ползунок,при нажатии на которого можно проматать на их,которые скрытые.надеюсь вы поняли о чем я,не совсем знаю професс.лексикон программистов)))

Вот мои наброски
Вложения
Тип файла: rar Задача - копия.rar (188.7 Кбайт, 5 просмотров)
Ответить с цитированием
  #13  
Старый 20.05.2013, 18:53
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Чтоб совсем полосы прокрутки убрать у StringGrid нужно его свойство ScrollBars выставить как ssNone. Что касается ширины и высоты, то здесь нужно подсчитать суммарную ширину всех столбцов и задать её как Width у сетки, соответственно с высотой точно так же, умножить кол-во всех строчек (RowCount) на их высоту (DefaultRowHeight) и эту сумму задать как Height стрингрида. Только вот что надо будет делать, если размеры сетки увеличатся больше самой формы или экрана?
Полосы прокрутки нужны.

З.Ы.

Вот, за не имением времени смотреть ваш код, прикладываю примерчик готовый, как можно всё оформить. Здесь используется DBGrid, но со StringGrid тоже самое, пжлст, посмотрите.

Последний раз редактировалось Alegun, 20.05.2013 в 19:24.
Ответить с цитированием
  #14  
Старый 20.05.2013, 19:12
Nastya777 Nastya777 вне форума
Прохожий
 
Регистрация: 22.04.2013
Адрес: Оренбург
Сообщения: 14
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Ок)))Тогда попробую ничего не менять,если она попросит,то придется попытаться изменить )
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:15.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter