|
0 / 0 / 4
Регистрация: 21.08.2017
Сообщений: 208
|
||||||||||||||||
Написание файлового менеджера: добавление заголовочных файлов к проекту, а также прямая и обратная совместимость кода в02.05.2019, 20:23. Показов 2846. Ответов 26
Добрый день! Я пишу в шестом билдере файловый менеджер для курсовой работы как оконное приложение и не могу понять, в какой версии Borland C++ Builder или Embracadero разрабатывался этот код. Будет ли программа, написанная в старой версии, работать в новой и наоборот? А также как создавать новые заголовочные или cpp-файлы для текущего проекта?
Я пробовал использовать «Project -> Add To Project» для чернового консольного приложения, но в результате открывается окно проводника, который может только открыть уже существующий файл, а не создать новый. В итоге я создал на диске D папку с будущим проектом и через «File -> New -> Other… -> Cpp File» создал два cpp-файла перед созданием проекта, из-за чего возникли проблемы с компиляцией. По-хорошему, я по ходу работы в проекте кликаю правой клавишей по древовидной структуре, выбираю пункт «Создать -> Файл CPP» после чего среда сама подключает нужные библиотеки и после компиляции нужные заголовочные файлы «встают» сами. Файлы PropertyFile.cpp и PropertyDrive.cpp сами компилироваться не захотели, ссылаясь на ошибку Error: Field Form1->ImageList2 does not have a corresponding component. Remove the declaration? (Yes/No/Cancel/Help) и заголовочные файлы не «подтянулись». Придётся делать всё вручную и самому создавать недостающие заголовочные файлы. Какие библиотеки я должен подключить в двух вышеупомянутых файлах CPP и нужны ли первые девять строк в файле Unit1.h? Чтобы скомпилировать файл, не запуская его, я шёл в Project -> Compile Unit. И тут вопрос: после этой команды скомпилируется весь проект или только открытый в данный момент времени файл? Извините за огромное количество вопросов, просто курс визуального программирования я «проспал» и без помощи со стороны или хотя бы списка литературы с подробными объяснениями я в этом обилии форм, кнопок и свойств «заблужусь». В какой версии билдера или эмбракадеры лучше писать этот код? Где и какие библиотеки нужно добавить или убрать? Как добавить к проекту header- или cpp-файл непосредственно в ходе работы с ним и как скомпилировать отдельную подпрограмму, не запуская весь проект? Работаю в Borland C++ Builder 6. Unit1.h
0
|
||||||||||||||||
| 02.05.2019, 20:23 | |
|
Ответы с готовыми решениями:
26
Написание консольного файлового менеджера Про добавление заголовочных файлов в заголовочных файлах |
|
0 / 0 / 4
Регистрация: 21.08.2017
Сообщений: 208
|
|
| 05.05.2019, 14:45 [ТС] | |
|
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 05.05.2019, 15:39 | |
|
БузинВладимир, вы сейчас говорите не на моём лексиконе. Я не изучал программирование и не штудировал спец.литературу по этому предмету. Поэтому я избегаю давать советы там, где студенты ожидают теоретически грамотной рекомендации. Мой совет помог исправлению ошибки? ОК; а объяснять своему преподавателю почему так, а не иначе..., ну - это ваша головная боль.
Не нужно было спать на лекциях
0
|
|
|
Модератор
|
||
| 06.05.2019, 16:13 | ||
|
0
|
||
|
0 / 0 / 4
Регистрация: 21.08.2017
Сообщений: 208
|
|||||||||||
| 07.05.2019, 09:32 [ТС] | |||||||||||
|
Я модернизировал программу: в контекстном меню создал две кнопки: Cut и Paste, а также две глобальные переменные: filepath и filename. При нажатии на первую кнопку в этих глобальных переменных запоминаются текущий путь и имя файла, а на вторую - в зависимости от выполнения команды перемещения выводится сообщение об успешности или ошибке операции. Какие ещё случаи я не предусмотрел в алгоритме перемещения? Чем MoveFile отличается от MoveFileEx или MoveFileW? И как при нажатии на кнопку вывести диалоговое окно с полем для переименования файлов и кнопками OK и Cancel, если я буду создавать кнопку Rename?
Unit1.cpp
0
|
|||||||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|||||||
| 07.05.2019, 13:00 | |||||||
И добавить в конец: FileListBox1->FileName = filename; чтоб фокус не сползал.
0
|
|||||||
|
0 / 0 / 4
Регистрация: 21.08.2017
Сообщений: 208
|
||||||
| 08.05.2019, 11:50 [ТС] | ||||||
|
Что значит "один файл не должен быть перемещён дважды? Я в условии проверял, выполнилась ли операция перемещения и в зависимости от его выполнения выводил сообщение об успешности или ошибке. Как изменить условие проверки?
Добавлено через 3 часа 36 минут Я решил сделать кнопки Cut и Paste неактивными по умолчанию так, чтобы кнопка Cut стала активной только когда в FileListBox будет выделен какой-нибудь элемент списка, а кнопка Paste - тогда, когда будет нажата кнопка Cut и записаны путь к файлу и его имя. Я использовал событие OnChange для FileListBox и OnClick для Cut, но первое событие не сработало, кнопка Cut всё равно активна. Как сделать так, чтобы кнопка Cut была активна или неактивна в зависимости от того, был ли выбран файл в FileListBox или нет?
0
|
||||||
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 08.05.2019, 14:03 | |
|
0
|
|
| 08.05.2019, 14:03 | |
|
Реализация файлового менеджера Исходник файлового менеджера Совте о создании файлового менеджера Смена файлового менеджера по умолчанию Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|