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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.04.2008, 21:11   #1
froggy
 
Регистрация: 03.04.2008
Сообщений: 8
По умолчанию Вырезать имя файла

Подскажите, пожайлуста, как вырезать одно название файла из полного пути к файлу?
Ну вот, например, есть строка:
C:/Folder/1/oops.txt
А надо, чтобы было:
oops.txt
Как это лучше сделать?
froggy вне форума
Старый 03.04.2008, 21:46   #2
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию

Можно так:
Код:
function Path(LongPath: String): String;
var buffer : String;
          len: Integer;
begin
SetLength(buffer,MAX_PATH);
len:=GetShortPathName(PAnsiChar(path)), PAnsiChar(buffer),MAX_PATH);
SetLength(buffer, len);
Path:=buffer;
end;
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума
Старый 03.04.2008, 22:50   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Рустам, это очень длино.

Есть спец-ые функции:

Function ExtractFilePath('Полный путь к файлу'):String; <= Путь к файлу, без имени файла
Function ExtractFileName('Полный путь к файлу'):String; <= Имя файла

Последний раз редактировалось Alter; 03.04.2008 в 22:54.
Alter вне форума
Старый 04.04.2008, 06:40   #4
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию

Зато познавательнее...
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума
Старый 04.04.2008, 14:26   #5
froggy
 
Регистрация: 03.04.2008
Сообщений: 8
По умолчанию

Спасибо, огромное=)
froggy вне форума
Старый 04.04.2008, 19:13   #6
froggy
 
Регистрация: 03.04.2008
Сообщений: 8
По умолчанию

И ещё один вопрос: как узнать что ехе-файл, запущенный при помощи winexec, завершил свою работу?
froggy вне форума
Старый 04.04.2008, 20:05   #7
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от froggy Посмотреть сообщение
И ещё один вопрос: как узнать что ехе-файл, запущенный при помощи winexec, завершил свою работу?
При помощи WinExec - без "вывертов" - никак. Для этого есть CreateProcess, WinExec уже очень давно устарела.
B_N вне форума
Старый 04.04.2008, 20:14   #8
froggy
 
Регистрация: 03.04.2008
Сообщений: 8
По умолчанию

ладно, тогда как с CreateProcess быть?
froggy вне форума
Старый 04.04.2008, 21:02   #9
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от froggy Посмотреть сообщение
ладно, тогда как с CreateProcess быть?
Код:
	STARTUPINFO si;
	PROCESS_INFORMATION pi;
	
	RtlZeroMemory(&pi, sizeof(PROCESS_INFORMATION));
	// создаем процесс
	CreateProcess("c:\\windows\\system32\\calc.exe", NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
	// ждём	завершения процесса
	WaitForSingleObject(pi.hProcess, INFINITE);
	// процесс завершился, закрываем хэндл
	CloseHandle(pi.hProcess);
Если дело происходит "в форме", то лучше ждать с MsgWaitForMultipleObjects, чтобы иметь возможность обрабатывать сообщения. Или запускать в отдельном потоке.
B_N вне форума
Старый 06.04.2008, 09:45   #10
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

один вопрос- одна тема. закрыто.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файл в состоянии "Вырезать". NeiL Общие вопросы Delphi 0 24.04.2008 23:23
Как вырезать Bitmap2 из Bitmap1 ??? Altera Мультимедиа в Delphi 3 07.03.2008 21:05
Как вырезать на форме область определенной формы ("что то вроде ножниц") dimfil Общие вопросы Delphi 9 10.11.2007 08:51
Два XL файла, данные 1-го файла являются частью другого в формуле 2-го Кот Microsoft Office Excel 2 14.08.2007 16:56