Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

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

Здравствуйте у меня такой вопрос: Собираюсь создать программу в которой желательно было бы работать с Экзелевским файлом. Собственно говоря такой вопрос- у меня будет файл с готовыми данными который при переносе будет находиться в той же папке что и проект. Впоследствии данные могут меняться есесн. Так вот, при открытии данного файла в моей проге нужно указать путь. А т к в разное время папка с проектом будет в разных местах на разных компьютерах то как мне его прописать? заранее спасибо за помощь чайнику)
all_is_fear вне форума Ответить с цитированием
Старый 17.07.2012, 14: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, 15:12   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

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

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


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

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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840