Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2012, 15:44   #1
all_is_fear
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 13
По умолчанию Delphi работа с Excel

Здравствуйте у меня такой вопрос: Собираюсь создать программу в которой желательно было бы работать с Экзелевским файлом. Собственно говоря такой вопрос- у меня будет файл с готовыми данными который при переносе будет находиться в той же папке что и проект. Впоследствии данные могут меняться есесн. Так вот, при открытии данного файла в моей проге нужно указать путь. А т к в разное время папка с проектом будет в разных местах на разных компьютерах то как мне его прописать? заранее спасибо за помощь чайнику)
all_is_fear вне форума Ответить с цитированием
Старый 17.07.2012, 15:58   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Определить путь исполняемого файла можно двумя способами:

ParamStr(0) - http://www.delphibasics.ru/ParamStr.php

и

Application.ExeName

Они вернут путь к проге. Для работы с путём есть кучку функций:

http://www.delphibasics.ru/ExtractFileName.php

Используя всё это, ты просто определяешь путь откуда запустился и припысываешь свой путь к файлу уже относительно основного пути. Типа этого:

Код:
MainPath := ExtractFilePath(Application.ExeName) + 'Data/excel/myfile.xls';
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 17.07.2012, 16:12   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

если файла XLS будет лежать рядом с вашим exe-шником и иметь заданное фиксированное имя, то путь к нему элементарно получить или так:
Код:
var XlsFileName : string;
begin
....
  XlsFileName := ExtractFilePath(Application.ExeName) + 'SMETA1.xls';
или так (более универсально):

Код:
  XlsFileName := ExtractFilePath( ParamStr(0) ) + 'SMETA1.xls';


Добавлено
когда писал свой ответ я не видел пост (с) Valio, иначе не стал бы, конечно, дублировать тоже самое...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.07.2012, 17:06   #4
all_is_fear
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 13
По умолчанию

уже разобрался. с помощью процедуры GetCurrentDir;
all_is_fear вне форума Ответить с цитированием
Старый 17.07.2012, 17:07   #5
all_is_fear
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 13
По умолчанию

Спасибо) щас попробую и так)
all_is_fear вне форума Ответить с цитированием
Старый 17.07.2012, 18:31   #6
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Угу, только с помощью GetCurrentDir не пробуй. Она текущую папку определяет, и во многих случаях (запуск через ярлык с др. рабочей папкой, смена папки в диалоговом окне и т.п.) может сработать неправильно.
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с Excel из Delphi Ky3Heu, Общие вопросы Delphi 2 12.10.2011 11:53
Delphi 7 работа с Excel Alkifr Помощь студентам 0 30.10.2010 00:31
Delphi 7 работа с Excel Alkifr Помощь студентам 0 29.10.2010 21:31
работа Excel на форме delphi DIMEDROL1985 БД в Delphi 1 23.01.2010 23:48