Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с пониманием программы пути [D6, WinXP]


Страницы:   1 2

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)

Телепат? НЛП? Уважаю.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо