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

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

Программа через автозапуск не работает [D6, WinXP]


Vasya.ru ©   (2004-08-17 17:21:00) 

Прога использует 3 файла, прописываю в реестр в автозапуск - при старте Винды вылезает сообщение "File not Found", форма создается, но строки из файлов не грузятся.
Запускаю её мышкой - все работает. В чем может быть причина?


Senich   (2004-08-23 14:17:00) [1]

А где скачать эту программу?


Makssim   (2004-08-18 18:42:00) [2]

Anatoly Podgoretsky ©   (18.08.04 17:33) [14]
Ошибка в функции PoiskInFile


программа работает, ошибка только при старте через автозапуск


Anatoly Podgoretsky   (2004-08-18 17:33:00) [3]

Ошибка в функции PoiskInFile


Iconka   (2004-08-18 13:06:00) [4]

Попробуй в ярлыке запуска указать нужную рабочую папку


wicked   (2004-08-18 12:52:00) [5]

это

> AssignFile (MyFile, ItsAdres + 'Date.AS');
>  {$I-}
>  Reset (MyFile);
>  {$I+}
>  If IOResult <> 0 Then
>    Begin
>      ShowMessage ('Файл Date.AS не найден');
>      ReWrite (MyFile);
>      CloseFile (MyFile);
>      Application.Terminate;
>    End
>      Else CloseFile (MyFile);

заменить на FileExists(ItsAdres + 'Date.AS')

а вот это

> Date     : String;

переименовать... Date - стандартная функция...


  (2004-08-18 02:16:00) [6]

Удалено модератором


Vasya.ru   (2004-08-18 01:56:00) [7]

код в студию
procedure MainForm.FormCreate(Sender: TObject);
Var
 Stroka   : Integer;
 Date     : String;
 Comment  : String;  // Результат ф-ции ShowComment
 ...
 ItsAdres : String;  // Полный адрес файла
 MyFile   : TextFile;

Begin
 ItsAdres := ExtractFilePath(paramstr(0));
// ==== Проверяем, есть ли файл Date.AS ====
 AssignFile (MyFile, ItsAdres + 'Date.AS');
 {$I-}
 Reset (MyFile);
 {$I+}
 If IOResult <> 0 Then
   Begin
     ShowMessage ('Файл Date.AS не найден');
     ReWrite (MyFile);
     CloseFile (MyFile);
     Application.Terminate;
   End
     Else CloseFile (MyFile);
...

 Date := DateToStr(now);
 Stroka := PoiskInFile (ItsAdres + 'Date.AS',Date);
 If (Stroka > 0) Then
   Begin
     Lbl1.Caption := 'Здесь текст';
     Comment := ShowComment (Stroka); // Возвр. заданную стр. из файла
     If (Comment = '') Then Comment := 'Комментарий отсутствует';
     LblDate.Caption := Date;
     LblComment.Caption := Comment;
     MP.AutoOpen := True;
     MP.FileName := ItsAdres + 'Muzic.mid';
     MP.Open;
     MP.Play;
   End
     Else Application.Terminate;
End;


DeadMeat   (2004-08-18 01:08:00) [8]

Лучше видимо "код в студию" ©

---
...Death Is Only The Begining...


Vasya.ru   (2004-08-17 22:30:00) [9]

Сделал как советовали - все равно "File not found".
Ввел проверку на наличие файлов - должны ShowMessage вылезать, если файлов нет, они не вылезают, форма рисуется, текст из файлов не грузится


Vasya.ru   (2004-08-17 19:46:00) [10]

Спасибо, пойду переделывать программу


Иван Ширко   (2004-08-17 18:24:00) [11]

Извиняюсь, неправильно прочитал вопрос:-(
Нужно установить текущую директорию для файлов, либо писать правильные имена, либо код в студию.
Удачи!


Иван Ширко   (2004-08-17 18:21:00) [12]

Путь к файлу должен быть в сокращённом варианте.
Такой делает в Delphi функция ExtractShortPathName (?)
Удачи!


DVM   (2004-08-17 17:51:00) [13]


>
> Vasya.ru   (17.08.04 17:46) [3]

Когда запускаешь мышкой, то текущая директория та, из которой запустили программу и она без проблем находит файлы у себя в папке.
Когда все это дело запускается через реестр, текущая директория после запуска может и меняться и программа не находит их.
Надо к своим файлам обращаться по полному пути. Путь к проге можно выяснить ParamStr(0), выделить папку и добавить имя файла, с которым надо работать.


Vasya.ru   (2004-08-17 17:46:00) [14]

Файлы загружаются по имени. Рабочая директория c:\Program Files\Reminder\


wicked   (2004-08-17 17:23:00) [15]

как загружаются файлы - по полному пути или просто по имени?...
рабочая директория у программы какая?...


Vasya.ru   (2004-08-17 17:22:00) [16]

В реестре название ключа на Русском - от этого проблем не может быть?


Наверх

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