| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > файлы, папки, диалоги, combobox`ы |
| Автор: :)PROD[; 15.6.2006, 07:46 |
| Здравствуйте. Эти вопросы по любому уже поднимались, но меня время поджимает - некогда искать. 1)нужно чтоб OpenDialog "открывал" папку, то есть настроить фильтр только на отображение папок, либо на одну папку с конкретным именем, типа ./proga . Ну и соответственно чтоб в OpenDialog1->FileName лежал путь папки. Если OpenDialog этого не всостоянии подскажите что лучше. 2)как сделать чтоб OpenDialog папкой "по умолчанию" (ту которую он показывает при создании себя) считал папку где лежит его же exeшник (то бишь сама прога). И как вообще задается папка открываемая по умолчанию 3)есть два ComboBox связаных друг с другом чем-то вроде запроса "один к многим". То есть когда выберается элемент в первом должно формироватся содержимое второго. Плюс к этому в процессе работы программы (множества её вызовов, а не одного) в эти списки будут добавлятся элементы и они должны сохранятся. Я планировал создать два бинарника в которые писать структуры. Первый бинарник - "старший" комбо, записывается структура типа struct MainComBox{ int ID //- itemindex комбика 1 AnsiString item //-текст соответствующий Itemindex } Второй бинарник - младший комбик struct OpinComBox{ int ID // itemindex младшего комбика int IDM // itemindex старшего комбика которому он соответствует } А теперь вопрос - не получается правильно записать и считать с файла эти структуры. Я думаю из того что использую AnsiString, а у них различная длина. подскажите как создавать Stringи фиксированой длины, либо как конвертировать их в char массив и обратно. Либо вариант по лучше. 4)как создавать папки, подкаталоги в каталогах путь которых известен 5)как копировать файлы в папку. желательно без непосредственного переноса содержимого, типа открываем старый как бинарник, создаем новый бинарник и понеслись биты в цикле. 6)как снять атрибут "для чтения" с файла зарание спасибо |
| Автор: Kuber 15.6.2006, 08:08 | ||||||||||
SetFileAttributes("C:\1.txt",FILE_ATTRIBUTE_NORMAL); ========================================= FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM. FILE_ATTRIBUTE_TEMPORARY =========================================
Передаешь функции CreateDirectory свой путь + добавляешь папку которую надо создать. ========================================== BOOL CreateDirectory( LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); ==========================================
Используй CopyFile или CopyFileEx..
Некоторые описания взяты из msdn, а вообще если ее у тебя нету, то смотри хелп в билдере Win32 Programmer's Reference. |
| Автор: skyboy 15.6.2006, 08:37 |
| 1) в разных пакетах есть компонент openfolderdialog. Уж он-то точно работает только с папками. Посмотри на www.torry.net 2) свойство диалога то ли path, то ли Folder. Определить папку запуска можно отделив от Application.ExeName имя самого ЕХЕшника 3) Я бе рекомендовал http://forum.vingrad.ru/index.php?showtopic=94245&hl=%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5,and,%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2,and,%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0#. И сохранять содержимое combobox'ов в файлы без заморочек. 4) ничего не понял. Что известно и что создавать? 5) так копировать или не копировать? что в этом предложении ключевое? "типа открываем старый как бинарник, создаем новый бинарник и понеслись биты в цикле" - это написано, как НАДО делать или как НЕ НАДО делать? 6) видимо, ты ищешь FileSetAttr А в общем и целом, за "некогда искать" я бы сделал с тобой нечто нехорошее. Поиск в файле помощи у меня занял 7 минут. Навряд у тебя ушло бы на эту процедуру больше времени. Но ты готов ждать день ответа на форуме, а в справку зайти лень... |
| Автор: BreakPointMAN 15.6.2006, 12:21 | ||
1,2) - читаем справку
|