Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 29

Путеводитель по кафедрам факультета

15.12.2013, 17:44. Показов 2946. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приложение должно выполнять функции путеводителя по кафедрам одного из факультетов университета :
1. схематически отображать расположение корпусов, аудиторий и кабинетов на этажах каждого корпуса с возможностью изменения масштаба изображения;
2. осуществлять поиск сведений о заданной кафедре (фамилия зав. кафедрой, количество преподавателей, количество профессоров и доцентов и др.) с отображением ее территориального расположения;
3. осуществлять редактирование базы данных (изменение сведений о кафедрах).
Разработать интерфейс приложения.

Вот что имеется на данный момент:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "CSPIN"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
//Переход к этажам
 int a;
 a = StrToInt(CSpinEdit1->Text);
 if (a==1)
 Image1->Picture->LoadFromFile ("схема 1 этажа.jpg");
   if (a==2)
  Image1->Picture->LoadFromFile ("схема 2 этажа.jpg");
    if (a==3)
   Image1->Picture->LoadFromFile ("схема 3 этажа.jpg");
     if (a==4)
    Image1->Picture->LoadFromFile ("схема 4 этажа.jpg");
      if (a==5)
     Image1->Picture->LoadFromFile ("схема 5 этажа.jpg");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile ("общая карта универа.jpg");
Button1->Visible = False;
Button2->Visible = False;
CSpinEdit1->Visible = False;
Label1->Visible = False;
SpeedButton1->Visible = True;
//Label2->Visible = True;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
//Переход с общей карты университета на первый (второй) этаж
Image1->Picture->LoadFromFile ("схема второго этажа.jpg");
Button1->Visible = True;
Button2->Visible = True;
SpeedButton1->Visible = False;
CSpinEdit1->Visible = True;
Label1->Visible = True;
//Label2->Visible = False;
CSpinEdit1->Text = 2;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//Возврат к общей карте университета.
Image1->Picture->LoadFromFile ("общая карта универа.jpg");
Form1->ShowHint = true;
}
//---------------------------------------------------------------------------
Проблемы возникли со 2 и 3 пунктами задачи.
Была идея, чтобы при выборе кафедры (например, по нажатии на SpeedButton на схеме одного из этажей) выходила вторая форма, на которой в Memo или StringGrid выводилась информация о выбранной кафедре. Через StringGrid1->Cells[0,0] не получилось, да и с функцией изменения и сохранения информации идей не было. Решил сделать через Memo, ноне знаю, как сие действо реализовать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2013, 17:44
Ответы с готовыми решениями:

Путеводитель по книжкам про C++ Builder
Несколько лет назад попытался повысить свой уровень путем осваивания C++ Builder. Накупил кучу книжек. Начал с Архангельского. Всем...

Отсортировать студентов по кафедрам и посчитать средний бал по кафедрам
Помогите написать прогу:ввести фамилию,кафедру,специальность,оценку студента.Отсортировать студентов по кафедрам и посчитать средний бал...

Деревья. Выдать список аудиторий принадлежащих нескольким кафедрам.
в университете информация об имеющихся компьютерах задана двумя деревьями. В первом из них сыновьям корневой вершины соответствуют...

28
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 29
16.12.2013, 19:54  [ТС]
Студворк — интернет-сервис помощи студентам
UI, это, кстати, тоже не работает.
Работа программы моментально прекращается и выводится окно с жутким сообщением.
Либо я всё таки не туда что-то пишу (что вероятнее всего), либо что-то ещё...
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
16.12.2013, 21:28
и так, теперь все о чем я говорил тока собранное на коленке....
Опять же взята ситуация когда заполнение мемо полей идет из файлов...и привожу алгоритм который я описывал выше...

Unit1.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "Unit2.h"
#include <memory>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
std::auto_ptr<TStringList> SL(new TStringList);
SL->LoadFromFile("1.txt");
Form2->Memo1->Text=SL->Text;
Form2->Show();
 
}
//---------------------------------------------------------------------------
Unit2.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit2.h"
#include "Unit1.h"
#include <memory>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
int c;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::FormCreate(TObject *Sender)
{
   c=Memo1->Text.Length();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
std::auto_ptr<TStringList> SL(new TStringList);  // Создаем переменную типа StringList
if (c!=Memo1->Text.Length()) {
SL->Add(Memo1->Text);
SL->SaveToFile("1.txt")  ;
 
}
}
//---------------------------------------------------------------------------
1
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 29
16.12.2013, 21:42  [ТС]
Цитата Сообщение от demon_7 Посмотреть сообщение
C++
1
SL->SaveToFile("1.txt")
*;
а вот этого не получится. Нюанс такой, что у нас в корпусе 6 кафедр, а обработчик события открытия файла (для каждой кафедры) и сохранения один. Я вижу тут только один выход:
C++
1
2
if  (SaveDialog1->Execute() )
Memo1->Lines-> SaveToFile (SaveDialog1->FileName) ;
Остальные (перепробовал три способа) плодов не принесли.

C++
1
2
3
if (c!=Memo1->Text.Length()) {
SL->Add(Memo1->Text);
SL->SaveToFile("1.txt")  ;
а если без StringGrid делать? У меня просто только одно единственное Memo.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
16.12.2013, 21:47
я StringGrid не использовал в своем примере....
И собственно может и не понял в чем проблема 6 кафедр и 1-го обработчика, в любом случае делайте так как Вам удобнее для реализации... Просто чтоб пояснить свой алгоритм я Вам привел код, ели Вы уже решили эти проблемы другим путем то это круто =)
0
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 29
16.12.2013, 21:53  [ТС]
Цитата Сообщение от demon_7 Посмотреть сообщение
Form2->Memo1->Text=SL->Text;
значит я просто не понял значение SL)

Проблему я решил, но мне не очень нравится это решение. Я пол дня ломаю голову, как сделать быстрое сохранение текстового файла, что бы нажал Button и текст сохранился - но увы)
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
16.12.2013, 21:56
используйте StringList как в моем примере... или присутствие на форме Open\SaveDialog обязательно?
0
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 29
16.12.2013, 21:59  [ТС]
А блин, это StringList был...извиняй, уже крыша слегка скатывается.
Нет, не обязательно, просто я не вижу другого варианта, что сохранять разные текстовые файлы. Пробовал присваивать имя файла в Unit1 какой-нибудь переменной и потом использовать её в Unit2, но потом понял, что это бред.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
16.12.2013, 22:05
я думаю я Вам уже не раз сказал и даже привел пример в коде, про то как это сделать через StringList, что мешает попробовать сделать? есть какие то конкретные трудности?
0
0 / 0 / 0
Регистрация: 02.12.2013
Сообщений: 29
16.12.2013, 23:26  [ТС]
Спасибо, товарищи, всё работает, ничего не лагает (что более важно). Благодарю)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2013, 23:26
Помогаю со студенческими работами здесь

Путеводитель по городу
Всем привет! Прошу помочь мне с курсовой работой &quot;Путеводитель по городу&quot;. Мне необходима любая помощь. Заранее благодарен.

Путеводитель по разделу
Литература по бд Access и VBA: Cправка Microsoft, самоучитель Taurion, И.Харитонова, В.Михеева &quot;Ms Access&quot; Матвеев Microsoft...

NTI - ССЫЛКА-ПУТЕВОДИТЕЛЬ СПРАВОЧНИК ДЛЯ ПУТЕШЕСТВУЮЩИХ ПО НОРВЕГИИ
Здравствуйте, мы просто хотим некоторую обратную связь для нашей новой странице информации о поездках и в Норвегии. Конечно, изображения,...

Путеводитель для университета, 2gis отдыхает. Есть схемы, как подключить обьекты?
Доброго времени суток! Совсем недавно начал изучать Android программирование, столкнулся с такой проблемой. 1) Сущесвует картинка...

БД студентов факультета
Требуется создать базу данных студентов факультета с возможностью доступа для нескольких человек, организацией поиска по различным...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru