![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с пониманием программы пути [D6, WinXP]
dreamse © (2005-08-04 08:32:00)В общем есть путь ..\skin\temp\skin.ini
И когда происходит выбор скина то этот путь меняеться относительно программы то есть становиться примерно таким "Путь выбраного скина + ..\skin\temp\skin.ini " А мне нужно чтобы путь всегда был расположен от программы то есть в верхнем каталоге программы.
Как решить этот вопрос ?
Profi (2005-08-04 14:24:00) [1]Antonn © (04.08.05 14:00) [30]
А теперь понял. Видимо просто пропустил. Надо больше спать.
Antonn (2005-08-04 14:00:00) [2]Profi © (04.08.05 13:32) [29]
я в [20] допер, он "ДОСовские" пути писал '..\тыры-пыры\'
Profi (2005-08-04 13:32:00) [3]Antonn © (04.08.05 9:33) [24]
Блин, я видимо спал мало, но во всей этой бредятине (в вопросах то бишь) ни х не понял.
dreamse (2005-08-04 10:00:00) [4]> > c:\proga\..\Skin\Temp\Skin.ini
>аналогичен c:\Skin\Temp\Skin.ini. Тебе это надо?
Нет , если был бы аналогичен то скины подгружали бы , а так нехотят :(
Вопрос был уже решён спасибо.
dreamse (2005-08-04 09:58:00) [5]> Antonn © (04.08.05 09:33) [24]
Спасибо большое ! Заработало !
Всем спасибо за активное участие Вопрос закрыт
Verg (2005-08-04 09:51:00) [6]Получи абсолютный путь из относительного и пользуйся им
ExpandFileName
evvcom (2005-08-04 09:47:00) [7]
> dreamse (04.08.05 09:23) [20]
Ты уж сам определись, где у тебя что лежит. То ты говоришь, что папка со скинами лежит на уровень выше от проги, а то пишешь структуру с папками прог внутри папки со скинами.
> c:\proga\..\Skin\Temp\Skin.ini
аналогичен c:\Skin\Temp\Skin.ini. Тебе это надо?
> В Temp директорию распоковываеться скин
Ну и пусть себе распаковывается, а ini-то почему там же?
Antonn (2005-08-04 09:33:00) [8]выходим на уровень выше:
label2.caption:=extractfilepath( copy(extractfilepath(application.exename),1,length(extractfilepath(application.exename))-1)+'.a');
дальше прибавляй 'skin\Temp\Skin.ini'
Antonn (2005-08-04 09:26:00) [9]аге, ошибся в [15]
label2.caption:=copy((opendialog1.filename),length(extractfilepath(application.exename)),length(opendialog1.filename)-le ngth(extractfilepath(application.exename))+1);//только если выбираемы файл лежит ниже программы
Skyle (2005-08-04 09:26:00) [10]
> ExtractFilePath(Application.ExeName) + '..\Skin\Temp\Skin.ini'
Это что такое?
Мало того, что ходить туда неприятно, так оттуда ещё и не возвращаются...
dreamse (2005-08-04 09:25:00) [11]> Думкин © (04.08.05 09:22) [19]
Я понимаю что можно делать переменную и в ней хранить путь но :
> ExtractFilePath(Application.ExeName) + '..\Skin\Temp\Skin.ini'
Не выходит ! Получаеться абракодабра !
Вопрос Как ?
dreamse (2005-08-04 09:23:00) [12]> ExtractFilePath(Application.ExeName) + '..\Skin\Temp\Skin.ini'
Пробывал :) Получаеться : c:\proga\..\Skin\Temp\Skin.ini в итоге по тому пити нефига не загрузишь
Структура каталогов
Каталог_со_скинами
| | |
прога1 прога2 прога3
Куча прог которые рабоатют со скинами но скины нужно брать из одного места
Думкин (2005-08-04 09:22:00) [13]> Вниматльнее читай пост 3
Да? А что мешает просто завести сразу же по запуску не относительный, а абсолютный путь? И не иметь геммор?
dreamse (2005-08-04 09:19:00) [14]> Antonn © (04.08.05 09:12) [15]
Что то не работает :( не понял принципа ...
> evvcom © (04.08.05 09:09) [13]
В Temp директорию распоковываеться скин
Skyle (2005-08-04 09:19:00) [15]
> > НЛП?
>
> Что-то не телепатируется, что бы эта аббревиатура обозначала.
НеЛинейное Предсказание.
2Автор: работай правильно, не завязывайся на текущий каталог. Он может измениться в такие моменты, которые тебе даже и не снятся.
evvcom (2005-08-04 09:15:00) [16]
> Не получиться так как у меня каталог для хранения скинов
> должен распологаться на директорию выше
ExtractFilePath(Application.ExeName) + '..\Skin\Temp\Skin.ini'
Если и это не то, дай четкую структуру твоих важных каталогов, чтобы хоть что-то понятно было из твоих мутных объяснений.
> Думкин © (04.08.05 09:09) [12]
> > [11] evvcom © (04.08.05 09:07)
>
> Телепат?
Бывает иногда. Но похоже не в этот раз.
> НЛП?
Что-то не телепатируется, что бы эта аббревиатура обозначала.
> Уважаю.
Спасибо. :)
Antonn (2005-08-04 09:12:00) [17]:='\'+copy((opendialog.filename),lenght(extractfilepath(application.exename)),lenght(opendialog.filename)-lenght(extract filepath(application.exename)));
может где-то ошибся, не проверял
dreamse (2005-08-04 09:11:00) [18]> cheloveck (04.08.05 08:58) [9]
Именно так ! Я это и говорил. Вот и вопрос как востановить текущий каталог ?
> evvcom © (04.08.05 08:57) [8]
Не получиться так как у меня каталог для хранения скинов должен распологаться на директорию выше
> Думкин © (04.08.05 08:55) [5]
Вниматльнее читай пост 3
Специально для тебя поясняю
Сначала FileExists(..\Skin\Temp\Skin.ini) = true
Потом : if bsSkinOpenDialog1.Execute then begin
После этого FileExists(..\Skin\Temp\Skin.ini) = false !
Так понятно ?
evvcom (2005-08-04 09:09:00) [19]Хотя, конечно, туфта какая-то написана. Какой смысл в ini-файле, если он хранится в Temp директории?
Думкин (2005-08-04 09:09:00) [20]> [11] evvcom © (04.08.05 09:07)
Телепат? НЛП? Уважаю.