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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2007, 09:42   #1
lenysik
Новичок
Джуниор
 
Регистрация: 27.02.2007
Сообщений: 1
По умолчанию Извлечь путь к exe файлу

Подскажите, пожалуйста, как можно извлечь путь к exe файлу рабочей программы, то есть определить где лежит проект
lenysik вне форума Ответить с цитированием
Старый 27.02.2007, 10:37   #2
>AdepT<
 
Регистрация: 04.12.2006
Сообщений: 3
По умолчанию

Функция ParamStr(0) - возвращает нулевой параметр командной строки, т.е. полное имя исполняемого файла. Функция ExtractFilePath(FileName:string) - возвращает каталог, в котором лежит переданный ей файл. Сочетание этих функций вернёт путь к exe файлу: ExtractFilePath(ParamStr(0)).
>AdepT< вне форума Ответить с цитированием
Старый 27.02.2007, 10:39   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

http://delphibasics.ru/ExtractFileDir.php

справочник тебе в помощь, там многое есть...
Alar вне форума Ответить с цитированием
Старый 01.03.2007, 16:56   #4
Fainder
Участник клуба
 
Регистрация: 15.02.2007
Сообщений: 1,112
Восклицание А зачем ParamStr?

Цитата:
Сообщение от >AdepT< Посмотреть сообщение
Функция ParamStr(0) - возвращает нулевой параметр командной строки, т.е. полное имя исполняемого файла. Функция ExtractFilePath(FileName:string) - возвращает каталог, в котором лежит переданный ей файл. Сочетание этих функций вернёт путь к exe файлу: ExtractFilePath(ParamStr(0)).
Разве не проще ExtractFilePath(Application.exename );
Fainder вне форума Ответить с цитированием
Старый 01.03.2007, 18:16   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Из справочника "Основы Delphi"

Код:
Пример кода : Извлечение всех частей полного имени файла 
var
  fullFileName : string;

begin
  // Установка полного имени файла с диском и путем
  fullFileName := 'C:\Program Files\Borland\Delphi7\Projects\Unit1.dcu';

  // Показ составляющих частей этого полного имени
  ShowMessage('Диск       = '+ExtractFileDrive (fullFileName));
  ShowMessage('Каталог    = '+ExtractFileDir   (fullFileName));
  ShowMessage('Путь       = '+ExtractFilePath  (fullFileName));
  ShowMessage('Имя        = '+ExtractFileName  (fullFileName));
  ShowMessage('Расширение = '+ExtractFileExt   (fullFileName));
end;

Диск = C:
Каталог = C:\Program Files\Borland\Delphi7\Projects
Путь = C:\Program Files\Borland\Delphi7\Projects\
Имя = Unit1.dcu
Расширение = .dcu
Alar вне форума Ответить с цитированием
Старый 09.12.2007, 14:02   #6
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

а как получиь только имя файла ... без пути и расширения....
Пример
--------
Диск = C:
Каталог = C:\Program Files\Borland\Delphi7\Projects
Путь = C:\Program Files\Borland\Delphi7\Projects\
Имя = Unit1.dcu
Расширение = .dcu
Имя файла = Unit1?????
--------------------------------------
нашел решение, используем функцию
function GetFileNameWOExt(fn:String):String;
begin
Result := Copy(fn, 1, Length(fn)-Length(ExtractFileExt(fn)));
end;

Последний раз редактировалось Noor; 09.12.2007 в 14:19.
Noor вне форума Ответить с цитированием
Старый 09.12.2007, 14:21   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Код:
var
  Source : string;

begin
  Source := '12345678';
  Delete(Source, 3, 4);    // Удаление 3-го, 4-го, 5-го и 6-го символов
  ShowMessage('Source теперь : '+Source);
end;
http://delphibasics.ru/Delete.php

Возможно это использовать -

Код:
var
  before, after : string;

begin
  // Попытка заменить все вхождения A на THE
  before := 'This is a way to live A big life';

  after  := StringReplace(before, ' a ', ' THE ',
                          [rfReplaceAll, rfIgnoreCase]);
  ShowMessage('Before = '+before);
  ShowMessage('After  = '+after);
end;
http://delphibasics.ru/StringReplace.php

Код:
const
  Numbers = '0123456789';
begin
  if StrScan(Numbers, '2') <> nil
  then ShowMessage('2 - числовая цифра')
  else ShowMessage('2 - не числовая цифра');

  if StrScan(Numbers, 'A') <> nil
  then ShowMessage('A - числовая цифра')
  else ShowMessage('A - не числовая цифра');
end;
http://delphibasics.ru/StrScan.php


Код:
var
  position : Integer;

begin
  // Поиск слово 'Cat' в предложении
  // Обратите внимание: что этот поиск чувствителен к регистру, так, что
  //                    первое 'cat' не рассматривается
  position := AnsiPos('Cat', 'The cat sat on the Cat mat');
  if position = 0
  then ShowMessage('''Cat'' не найдено в предложении')
  else ShowMessage('''Cat'' было найдено начиная с символа '+IntToStr(position));
end;
http://delphibasics.ru/AnsiPos.php

И все это можно использовать
Alar вне форума Ответить с цитированием
Старый 09.12.2007, 14:23   #8
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Цитата:
Сообщение от Noor Посмотреть сообщение
нашел решение, используем функцию
function GetFileNameWOExt(fn:String):String;
begin
Result := Copy(fn, 1, Length(fn)-Length(ExtractFileExt(fn)));
end;
Когда работаешь постоянно с текстом, проще использовать встроенные функции, быстро привыкаешь и код позднее проще разбирать.

+ Все придумано до нас
Alar вне форума Ответить с цитированием
Старый 09.12.2007, 22:46   #9
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Например:
Var
f:string
begin
f:=Application.exename;
end;
FaTaL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Извлечь путь из EXE NeiL Общие вопросы Delphi 3 21.05.2008 18:44
Путь к файлу Баламут Win Api 12 14.05.2008 13:27
Путь к файлу Terran Общие вопросы Delphi 3 13.04.2008 01:18
Путь к файлу Лубышев Общие вопросы Delphi 2 10.02.2008 21:13
Как вытащить путь к файлу UnD)eaD)Snake Общие вопросы Delphi 13 20.08.2007 22:09