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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2007, 11:14   #1
Леха207
 
Регистрация: 18.06.2007
Сообщений: 3
По умолчанию Имя файла и его присвоение форме

Вопрос такой. Как Form1.Caption присвоить имя открываемого в ней файла? Конструкция Form.Caption:=OpenDialog.FileName выводит не только имя фала, но и его путь и расширение, что неприемлемо. Хотел сделать это перебором символов строки и выискиванием по . и / имя файла, но Делфи ругается на
for i:=length(OpenDialog.FileName) downto 0 do
Что не так? Ли может есть более рациональный способ?
Леха207 вне форума Ответить с цитированием
Старый 24.06.2007, 11:57   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Конечно есть

Form.Caption:=ExtractFileName(OpenD ialog.FileName);
zetrix вне форума Ответить с цитированием
Старый 24.06.2007, 12:02   #3
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от Леха207 Посмотреть сообщение
for i:=length(OpenDialog.FileName) downto 0 do
Что не так? Ли может есть более рациональный способ?
Более рациональный способ есть практически всегда!
Если нужно имя файла с расширением (но без пути), то можно так.
Form.Caption:=ExtractFileName(OpenD ialog.FileName);

Если нужно просто имя (без расширения и без пути), то в дополнение к ExtractFileName(OpenDialog.FileName ) использовать функцию ExtractFileExt(OpenDialog.FileName) , которая возвращает расширение файла (вместе с точкой, т.е. например ".txt"). Из первой строки "вычесть" вторую и получится просто имя файла. Для "вычитания" можно использовать или функцию Copy или процедуру SetLength:
Код:
var
  S: string;
begin
  S := ExtractFileName(Application.ExeName);
  SetLength(S, Length(S) - Length(ExtractFileExt(Application.ExeName)));
  Caption := S;
Jeni вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоение процедур компонентам N!ckeL Компоненты Delphi 4 26.04.2008 18:22
Присвоение переменным булевских выражений rider Паскаль, Turbo Pascal, PascalABC.NET 4 06.12.2007 21:11
Присвоение значения ключевому полю Arteom БД в Delphi 5 08.11.2007 00:02
Присвоение значения одного поля другому frai БД в Delphi 2 20.09.2007 15:03
Присвоение имени файлу в диалоге Beliyd Общие вопросы Delphi 3 05.09.2007 18:54