|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
почему ParamStr(1) возвращает некорректное значение?
Приветсвую всех!
пишу в OnCreate формы Код:
Label.Caption := ParamStr(1); а значение, которое принимает Label.Caption D:\MYMUSI~1\NEW_TO~1\01-VA-~1.MP3 а нужен полный путь к файлу не могу понять в чем дело? |
#2
|
|||
|
|||
Используйте функцию GetFullPathName для получения полного пути.
Код:
var FullName: array[0..MAX_PATH - 1] of Char; FNameAddr: PChar; begin GetFullPathName(PChar(ParamStr(1)), MAX_PATH, FullName, FNameAddr); Label.Caption := StrPas(FullName); end; |
#3
|
|||
|
|||
спасибо, но не помогает...
все равно D:\MYMUSI~1\NEW_TO~1\01-VA-~1.MP3 |
#4
|
|||
|
|||
Не знаю, нужно ли вам ещё, но вот возможное решение:
Код:
procedure TForm1.FormCreate(Sender: TObject); var W32FD: WIN32_FIND_DATA; Hndl: Cardinal; cdir: array[0..MAX_PATH - 1] of Char; begin GetCurrentDirectory(SizeOf(cdir), cdir); FillChar(W32FD, SizeOf(W32FD), 0); Hndl := Windows.FindFirstFile(PChar(ParamStr(1)), W32FD); Label1.Caption := StrPas(cdir) + '\' + StrPas(W32FD.cFileName); Windows.FindClose(Hndl) end; Windows SDK так и предлагает: Цитата:
|
#5
|
|||
|
|||
Nyctos Kasignete Спасибо огромное за помощь...
|