![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Darkmaster |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 22.11.2005 Репутация: нет Всего: нет |
такая вот проблема, мне нужно чтобы прога при старте(либо OnShow -Form либо OnCreate) загружала в Мемо определенный текстовый файл. Когда просто запускаешь прогу то все работает, но вот в чем проблема, у меня прога добавлена в автозагрузку и при автозагрузке текстовый файл не грузится. Как исправить? Вот код:
--------------------
GeekTV - интернет-телевидение для гиков |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
путь к файлу толком пропиши ( впиши абсолютный )
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Darkmaster |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 22.11.2005 Репутация: нет Всего: нет |
проблема в том что это не устраивает, так как программа может хранится в разных каталогах и файлы должны находится в папке с прогой.
--------------------
GeekTV - интернет-телевидение для гиков |
|||
|
||||
| nickelfire |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 22.12.2004 Репутация: нет Всего: нет |
Ты напиши так:
тока не помню точно paramstr(0) или paramstr[0]. |
|||
|
||||
| Foley |
|
|||
![]() Фсемба Яцца ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 31.1.2006 Где: Россия, Арх.обл Репутация: 2 Всего: 7 |
Можешь попробовать так (если файл воскресенье в каталоге проги):
memo1.lines.loadfromfile(GetCurrentDir+'воскресенье.тхт') |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
|
|||
|
||||
| Int64 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 10.2.2006 Репутация: 1 Всего: 1 |
GetCurrentDir - возвращает текущую директорию. Текущая директория не обязательно равна директории программы. Можно использовать SetCurrentDirectory, как показал Snowy. Но использовать абсолютные пути будет правильней. Не пойму, почему ты в LoadFromFile используешь абсолютный путь, а в FileExists - нет. Если текущая директория не равна директории твоей программы, то LoadFromFile никогда не выплнится:
Напиши так:
И все будет работать |
||||||
|
|||||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Это сообщение отредактировал(а) Yanis - 11.2.2006, 12:11 |
|||
|
||||
| Int64 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 10.2.2006 Репутация: 1 Всего: 1 |
Я лично не вижу смысла использовать SetCurrentDir даже так - лишние строки кода, нет где гарантии того, что директорию никто не сменит во время работы - в результате опять файл не грузиться. Пихать в цикл - не рационально, не красиво... Указав абсолютный путь избавляемся от подобного рода проблем. Ну и еще - дело вкуса, а точнее - привычки. |
||||
|
|||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Int64, я не сомневаюсь в вашей способности написать более функциональный и быстрый код, потому что надеюсь вы не сомневаетесь в моей способности сделать тоже самое.
В тот момент мне это решение пришлось по вкусу и я так написал. Учитывая саму проблему автора и выбранный путь её решения такой код будет смотреться вполне прилично |
|||
|
||||
| Int64 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 10.2.2006 Репутация: 1 Всего: 1 |
Просто пытался направить человека на путь истинный
|
|||
|
||||
| Foley |
|
|||
![]() Фсемба Яцца ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 31.1.2006 Где: Россия, Арх.обл Репутация: 2 Всего: 7 |
а тогда по какому принцыпу определяется текушая директория? у меня всегда работает, ниразу не глючило. значит если я войду в другую директорию в моем компе то прога не найдет этого файла? можно ведь и путь к экзешнику найти программно и добавить его в эдит, потом при указании пути подставить значение эдита + имя файла, в этом случае прога будет корректно работать и при копировании в другой каталог. Добавлено @ 00:33 упс... недоглядел... что-то совсем невнимательный стал пардон за: (это у всех написано) |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Напрмер, в свойствах ярлыка к любой программе есть свойство "Рабочая папка". Если значение этого свойства не совпадает с путём к программе, то текущая дирректория при запуске через этот ярлык будет уже "неверной" для программы. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |