Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069

SaveDialog и Edit

16.12.2011, 18:39. Показов 4004. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый вечер, и жителям дальнего востока доброе утро!

У меня собственно не самая сложная проблема однако решение не могу найти, а именно:
Вот таким образом:
C++
1
2
 if (SaveDialog1->Execute()) {
  Edit4->Text = SaveDialog1->FileName;
Записываю в Edit путь к выбранной папке, сам Диалог требует чтоб я ввел название файла, например 777, нажимаю сохранить и получаем в Edite это: C:\Users\Эдоня\Desktop\Log\777
А мне надо чтоб пользователь выбрал папку и создал в ней папку или просто выбрал папку куда будет сохранятся файла, а путь к папке записать в Edit чтоб выглядело так: C:\Users\Эдоня\Desktop\Log.
Посоветуйте решение ато скоро курсовая...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2011, 18:39
Ответы с готовыми решениями:

Компонент SaveDialog. Необходимо сохранить содержимое StringGrid и Edit в одном файле расширения *.txt
В одной процедуре/или нескольких необходимо прописать сохранение значений матрицы в StringGrid и определителя матрицы, который выводится в ...

Что надо сделать, чтобы при запуске программы и при первом запуске SaveDialog открывался заданный по умолчанию каталог?
Здравствуйте ВСЕ ! Проблема следующая. 1) При первом запуске SaveDialog открывается каталог с файлами. 2) Изменяешь каталог,...

SaveDialog
Доброе утро! Ребята помогите разобратся с проблемой!!!! Компонент SaveDialog1, не хочет сохранять данные в файл с расширение...

17
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.12.2011, 18:47
дык, так и используйте диалог выбора папки, их в билдере несколько, или функцию SelectDirectory
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.12.2011, 18:57
Со своей стороны порекомендую использовать для обработки не OpenDialogExecute (его оставить только в кнопке), а OpenDialogCanClose. Например__
C++
1
2
3
4
5
6
7
void __fastcall TForm1::OpenDialog1CanClose(TObject *Sender,
      bool &CanClose)
{
       fulnam = OpenDialog1->FileName;
       shortnam = ExtractFileName(fulnam);
       if (!FileExists(shortnam))
  {
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
16.12.2011, 18:58  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
дык, так и используйте диалог выбора папки, их в билдере несколько, или функцию SelectDirectory
А где можно почитать инфу про стандартные диалоги?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.12.2011, 19:07
Samrisbe, вот Вам пример из рабочей программы__
C++
1
2
3
4
5
6
//                            "Выбор базы"
     AnsiString dir1, dir2;
     dir1 = "c:\\mysql\\data";
     SelectDirectory("Выбор базы данных",WideString(dir1),dir2);
     if (FileExists(dir2+"[URL="file://\\config.frm"]\\config.frm[/URL]"))
       edBasa->Text = ExtractFileName(dir2);
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.12.2011, 19:10
Цитата Сообщение от Samrisbe Посмотреть сообщение
А где можно почитать инфу про стандартные диалоги?
Библиотека VCL и сопутствующие материалы
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
17.12.2011, 21:18  [ТС]
Вот такой вариант диалога создания новой дириктори работает в Builder 6 смотрите фото на скрине, в итоге в edit записывается путь в таком формате-C:\Users\Эдоня\Desktop вобщем точто мне и нужно...
Вот в Rad Studio 2010 этот код диалога:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
BROWSEINFO bi; // сторока с ошибкой
memcpy(FileName, "C:\\", 3);
bi.hwndOwner = 0;
bi.pidlRoot = NULL;
bi.pszDisplayName = FileName;
bi.lpszTitle = "Выберете папку ";
bi.ulFlags = BIF_STATUSTEXT
|BIF_BROWSEFORCOMPUTER
|BIF_EDITBOX
|BIF_NEWDIALOGSTYLE
|BIF_USENEWUI;
bi.lpfn = NULL;
SHGetPathFromIDList(SHBrowseForFolder(&bi),FileName);
Edit4->Text=FileName;
вот такую ошибку:
C++
1
[BCC32 Error] Unit1.cpp(3535): E2015 Ambiguity between 'BROWSEINFOA' and 'Shlobj::BROWSEINFOA'
перевод ошибки:
C++
1
Неоднозначность между "BROWSEINFOA» и «Shlobj: BROWSEINFOA"
У меня есть подозрение что он както пересекается с этим кодом который в программе есть:
C++
1
2
3
 char pathSTR[255];
   SHGetSpecialFolderPath(0,pathSTR,CSIDL_PERSONAL,True);
   ShellExecute(Handle, "open", "explorer", pathSTR, 0, SW_SHOWNORMAL);
Я прошу прошения но кто может посоветовать как его подправить чтоб он прошол цинзуру в Rad XE2010
Миниатюры
SaveDialog и Edit  
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.12.2011, 21:23
Samrisbe, обсуждалось мульйон раз:
C++
1
::BROWSEINFO bi; // сторока с ошибкой
или явым образом
C++
1
Shlobj::BROWSEINFO bi;
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
17.12.2011, 21:29  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
Samrisbe, обсуждалось мульйон раз:
До меня доходит с 1000001 раза
Зато теперь я доволен как слон, мне нравится как получилось...
Один вопрос названия кнопок сего диалога в англо шпрехающем компьютере будут на английском?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.12.2011, 21:37
скорее всего да, коль зависит от локали
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
17.12.2011, 21:37  [ТС]
И еще не во всех дирикториях работает неужеле требует права администратора?
Миниатюры
SaveDialog и Edit  
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.12.2011, 21:40
по ходу, в системе можно установить хоть все локали, переключаться, и смотреть, как оно будет выглядеть в соответствующей

Добавлено через 2 минуты
права, UAC, да мало ли чего - говорили уже, для этого есть Shared ...
или попробуй запустить программу "от имени администратора", что б не спрашивать
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
17.12.2011, 22:04  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
или попробуй запустить программу "от имени администратора"
Я знаю как через правую кнопку мыши запускать под администратором..
А нет такого кода который можно вписать в OnCreat чтоб программа сама запускалась под Администратором!
только не скажи что нет такого, ато я...
Я даже добровольно отказжусь от техподдержки и сопровождения...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.12.2011, 22:17
в вынь7 есть манифест, где можно указать права, в ХР манифест отвечает за "красивости", можно ли туда запиндюрить управление правами - не помню
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
17.12.2011, 22:19
Samrisbe,
Цитата Сообщение от Samrisbe Посмотреть сообщение
char pathSTR[255];
SHGetSpecialFolderPath(0,pathSTR,CSIDL_P ERSONAL,True);
ShellExecute(Handle, "open", "explorer", pathSTR, 0, SW_SHOWNORMAL);
1.Прошу прошение но почему тут исползуеш на пример тип char?(Тем более у тебя есть билдер 2010 -ого года)
2.что такое True? ? ?(И не АПИ и не С++... постав нормално TRUE или true)
3.почему массив?

А после етого ты говориш что у тебя ощыбки?? Ну я думаю ето нормално, после етого

Не по теме:

8-):D

1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
17.12.2011, 23:46  [ТС]
Цитата Сообщение от Programmer. Посмотреть сообщение
что такое True? ? ?(И не АПИ и не С++... постав нормално TRUE или true)
У меня с этим проблем нет.
Я сам не знаю это надо у Уважаемого LK спросить так сказать автора...
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
18.12.2011, 00:01
да какое автора... если это и было майо - то сам где-то скомуниздил, да где - не вспомнить...
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
18.12.2011, 00:21  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
то сам где-то скомуниздил
Неможет быть! а я думал что только я этим грешу
Цитата Сообщение от LK Посмотреть сообщение
Не стоит нагружать любимую администрацию бессмысленной работой
Тогда есть проблема если пользователь выберет место хранения журнала папку к которой есть допуск админа, он будет получать неприятный месседж....
Как тогда этого избежать, или типа предупреждать???
Но лучше конечно дать программе права админа она их использует только для записи некоторых событий в txt...ничего вредного чес слов!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.12.2011, 00:21
Помогаю со студенческими работами здесь

SaveDialog
Мужики, подскажите как предложить имя файла в SaveDialog1.FileName по первым трем словам из RichEdit1. Спасибо, заранее)) Добавлено...

SaveDialog
Здравствуйте. Подскажите пожалуйста у меня на форме расположены stringgrid, кнопка при нажатии которой данные из stringgrid...

SaveDialog
Сохраняю текст(SaveTextDialog), открываю вижу такое:{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fnil\fcharset0...

SaveDialog
Привет всем, возник вопрос! Как можно в SaveDialoge поле ввода имени файла сделать неактивным и выбор фильтра тоже? Заранее большое...

SaveDialog
Как изменить код : if OpenDialog1.FileName<>'' Then Memo1.Lines.SaveToFile(OpenDialog1.FileName) Else ...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru