Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SaveDialog, Не получается разобраться 
:(
    Опции темы
chiffa
Дата 25.7.2007, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: нет
Всего: -1



Что то не могу разобраться с SaveDialog. как с его помощью созранить файл? (в моем случаи ексель). 
пробывал так: 
Код

if (SaveDialog1.Execute)
  then SaveToFile(SaveDialog1.FileName);


но ошибка....
PM MAIL   Вверх
Telepyz
Дата 25.7.2007, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 9.7.2007

Репутация: нет
Всего: 1



Вроде все правильно делаешь, только ...
Код

if SaveDialog1.Execute  then 
 Memo1.SaveToFile(SaveDialog1.FileName); //Нужно указывать из какого объекта должны сохраняться данные

--------------------
обновить драйвер
PM MAIL   Вверх
chiffa
Дата 25.7.2007, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: нет
Всего: -1



Написал Excel.SaveToFile(SaveDialog1.FileName); при попытке сохранения выдает:

Method 'SaveToFile' not supported by automation object
PM MAIL   Вверх
sentry
Дата 25.7.2007, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Code Monkey
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.1.2007
Где: Москва

Репутация: нет
Всего: 10



Следующий код сохраняет в заданном файле активную книгу:
Код

if SaveDialog1.Execute then
  ExcelApplication1.ActiveWorkbook.SaveAs(SaveDialog1.FileName, 
    EmptyParam, EmptyParam, EmptyParam, EmptyParam,
    EmptyParam, xlNoChange, EmptyParam, EmptyParam,
    EmptyParam, EmptyParam, LOCALE_USER_DEFAULT);

PM MAIL   Вверх
chiffa
Дата 25.7.2007, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: нет
Всего: -1



спасибо! вопрос немного не в эту тематику, но все же, а могу ли я как то открыть сразу несколько книг и как их в дальнейшем определять? Excel.Workbooks[1].Open - выпадает на ошибку....
PM MAIL   Вверх
pseud
Дата 25.7.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Код

XLWorkbook1:= XLApp.Workbooks.Add(-4167);
XLWorkbook2:= XLApp.Workbooks.Add(-4167);



--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
chiffa
Дата 25.7.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: нет
Всего: -1



и еще, а как я могу получить имя сохраненного файла и путь к нему?
PM MAIL   Вверх
pseud
Дата 25.7.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Цитата(chiffa @  25.7.2007,  17:32 Найти цитируемый пост)
и еще, а как я могу получить имя сохраненного файла и путь к нему? 


сохраненного - значит ты его уже сохранил
под каким именем его сохранил - под таким он и есть
или я не так понял?

как ты его сохранил?




--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
chiffa
Дата 25.7.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: нет
Всего: -1



имеюю ввиду, как мне дальше оперировать этим именем? какая переменная отвечяет за имя файла?
PM MAIL   Вверх
pseud
Дата 25.7.2007, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Цитата(sentry @  25.7.2007,  17:18 Найти цитируемый пост)
  ExcelApplication1.ActiveWorkbook.SaveAs(SaveDialog1.FileName, 


если так то в SaveDialog1.FileName его и ищи
а лучше так

Код

s: string;
if SaveDialog.Execute then
begin
  s := SaveDialog1.FileName;
  ...
end;


и дальше везде юзай етот s


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
sentry
Дата 25.7.2007, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Code Monkey
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 29.1.2007
Где: Москва

Репутация: нет
Всего: 10



Цитата(chiffa @  25.7.2007,  18:54 Найти цитируемый пост)
открыть сразу несколько книг и как их в дальнейшем определять?

Создание книги:
Код

ExcelApplication1.WorkBooks.Add(EmptyParam, LOCALE_USER_DEFAULT);


Открытие сохраненной книги:
Код

if OpenDialog1.Execute then
  ExcelWorkbook1 := ExcelApplication1.Workbooks.Add(OpenDialog1.FileName, LOCALE_USER_DEFAULT);


Получение доступа к книге:
Код

ExcelWorkbook1 := ExcelApplication1.Workbooks[I];  // I изменяется от 1 до ExcelApplication1.Workbooks.Count


Активизация книги:
Код

ExcelWorkbook1.Activate(LOCALE_USER_DEFAULT);


А этот код сохраняет каждую открытую книгу в файле, имя которого совпадает с именем книги, в рабочий каталог:
Код

for I := 1 to ExcelApplication1.WorkBooks.Count do
  ExcelApplication1.Workbooks[I].Save(LOCALE_USER_DEFAULT);

PM MAIL   Вверх
chiffa
Дата 26.7.2007, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 734
Регистрация: 11.11.2003

Репутация: нет
Всего: -1



всем списибо smile
PM MAIL   Вверх
Kbl4AH
Дата 16.1.2009, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Здравствуйте.
Продолжу тему, вопрос такой.
Имя и расширение файла пользователем не должно меняться (ни вводом с клавиатуры, ни выбором другого файла).
Допустим файл должен быть MYFILE.TXT
Написал:
Код

  SaveDialog1.FileName := 'MYFILE';
  SaveDialog1.DefaultExt := 'TXT';
  SaveDialog1.Filter := 'TXT';
  if SaveDialog1.Execute then
    XML.SaveToFile(SaveDialog1.FileName);

Выглядит как нужно, т.е. и имя файла пользователю видно и расширение...
Но он может изменить имя файла с клавиатуры или
выбрать файл с другим расширением и тогда еще и оно изменится...
Как сделать, чтобы пользователь мог в диалоге только папку сохранения выбирать и больше ничего?
PM MAIL ICQ   Вверх
Rrader
  Дата 17.1.2009, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 18
Всего: 191



Возьми и покажи ему диалог выбора папки тогда...


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Kbl4AH
Дата 17.1.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Цитата(Rrader @  17.1.2009,  09:36 Найти цитируемый пост)
Возьми и покажи ему диалог выбора папки тогда...

Что за диалог? smile 
PM MAIL ICQ   Вверх
Rrader
  Дата 17.1.2009, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 18
Всего: 191





--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Kbl4AH
Дата 18.1.2009, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



 smile 
Но, спасибо, Rrader.
PM MAIL ICQ   Вверх
Данкинг
Дата 18.1.2009, 23:15 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Kbl4AH, в пакете BusinessSkin есть специальный компонент, который отображает директории. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Kbl4AH
Дата 19.1.2009, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Спасибо, Данкинг, но у меня нет этого пакета(
PM MAIL ICQ   Вверх
Rrader
  Дата 19.1.2009, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Inspired =)
***


Профиль
Группа: Экс. модератор
Сообщений: 1535
Регистрация: 7.5.2005

Репутация: 18
Всего: 191



Цитата(Kbl4AH @  19.1.2009,  03:51 Найти цитируемый пост)
 smile Но, спасибо, Rrader.

Почему такая реакция? smile Просто если делать OpenDialog, который будет отображать только папки (+запрещать выбор файла в качестве бонуса), то код с 10 строчек до 200 вырастет.


--------------------
Let's do this quickly!
Rest in peace, Vit!
PM MAIL Skype   Вверх
Kbl4AH
Дата 19.1.2009, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Цитата(Rrader @  19.1.2009,  08:45 Найти цитируемый пост)
Почему такая реакция?

Все нормально. Просто немного сложно smile для меня(


Это сообщение отредактировал(а) Kbl4AH - 19.1.2009, 09:34
PM MAIL ICQ   Вверх
lukas
Дата 19.1.2009, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Код

uses
   FileCtrl;

....
  Var
    S: String;
begin
  if SelectDirectory('','',S) then
    ShowMessage(S);
end;



--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Данкинг
Дата 20.1.2009, 02:46 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Kbl4AH @ 19.1.2009,  08:07)
Спасибо, Данкинг, но у меня нет этого пакета(

Поставь, там много чего интересного есть и удобного. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Kbl4AH
Дата 20.1.2009, 08:57 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



Цитата(Данкинг @  20.1.2009,  02:46 Найти цитируемый пост)
Поставь, там много чего интересного есть и удобного.

Он freeware?
PM MAIL ICQ   Вверх
lukas
Дата 20.1.2009, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Kbl4AH, он платный, да и зачем когда есть стандартная функция диалога SelectDirectory.


--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
Kbl4AH
Дата 20.1.2009, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



lukas, да, наверное, это мне было и нужно. Спасибо.
PM MAIL ICQ   Вверх
Данкинг
Дата 20.1.2009, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Kbl4AH @  20.1.2009,  08:57 Найти цитируемый пост)
Он freeware? 

Разумеется.

Цитата(lukas @  20.1.2009,  10:00 Найти цитируемый пост)
он платный

Хм...  smile 

Это сообщение отредактировал(а) Данкинг - 20.1.2009, 11:15


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Kbl4AH
Дата 20.1.2009, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 4
Всего: 15



PM MAIL ICQ   Вверх
Данкинг
Дата 20.1.2009, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Kbl4AH,  не знаю, я постоянно использую вот уже года 3 - и ничего плохого сказать не могу.



Это сообщение отредактировал(а) Данкинг - 20.1.2009, 12:27


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0779 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.