Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
24 / 24 / 2
Регистрация: 17.06.2008
Сообщений: 613

В какой процедуре описать событие?

07.09.2011, 13:43. Показов 2646. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создала на диске C:\ файлик, который программа ищет при запуске и если не находит - выдает сообщение: извините, мол, не судьба и программа закрывается. А если находит - программа запускается.

Вопрос: в какой процедуре прописать поиск файла и закрытие программы?

Прописываю при активации главной формы - не удобно: при закрытии программы выскакивает вопрос из процедуры FormCloseQuery (типа: "Вы точно хотите её закрыть или нет?").
Или, может быть, можно закрыть программу, обойдя процедуру FormCloseQuery?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.09.2011, 13:43
Ответы с готовыми решениями:

Как вызвать событие объекта в процедуре?
У меня программа большая, всё не буду описывать, но смысл такой: у меня есть две кнопки Button1, Button2. В методе OnClick второй кнопки...

Как передать процедуре событие и ссылку на процедуру?
Как передать процедуре событие и ссылку на процедуру для реализации примерно следующего: Public Sub AddHandlerForControls(ByVal controls...

Как описать одномерный массив в процедуре и функции?
Как описать одномерный массив в процедуре и функции?

26
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
08.09.2011, 11:20
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Grusha Посмотреть сообщение
прекратите на меня ругаться : (
А кто на тебя ругается?
0
24 / 24 / 2
Регистрация: 17.06.2008
Сообщений: 613
08.09.2011, 11:32  [ТС]
deathNC, строку закомментировала, файл на диске С есть, но программа всё равно не запускается. Ошибок не выдает.

программу, которую выложил Puporev не могу посмотреть по причине: ошибка загрузки библиотеки.
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
08.09.2011, 11:39
Вот ты глупость сделала, и я внимания не обратил:
Delphi
1
FileExists(ExtractFilePath(ParamStr(0)) + 'C:\setdo.ini')
Знаешь, что тут получается?
Вот это: Путь к папке с программой + "C:\setdo.ini"

Добавлено через 50 секунд
Вот так пробуй
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses
  Forms,
  SysUtils,
  Pod in 'Pod.pas' {F_Pod},
  //... и т.д....
  EditNepol in 'EditNepol.pas' {F_EditNepol};
 
begin
  If not FileExists('C:\setdo.ini') then
    halt;
  Application.Initialize;
  //Application.F_PodOnTaskbar := True;
  Application.CreateForm(TF_Pod, F_Pod);
  Application.Run;
end.
0
24 / 24 / 2
Регистрация: 17.06.2008
Сообщений: 613
08.09.2011, 11:39  [ТС]
deathNC, а если файл размещен не в папке с программой?



Ща...
0
Почетный модератор
 Аватар для Puporev
64320 / 47616 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
08.09.2011, 11:43
А у меня как было написано в теме
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program Project1;
 
uses
  Forms,SysUtils,Dialogs,
  Unit1 in 'Unit1.pas' {Form1};
 
{$R *.res}
 
begin
  if not fileExists('C:\123.txt') then
    begin
     Showmessage('Файл не найден, программа не может быть открыта');
     exit;
    end;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
так в проекте и есть, а уж почему не можете раскрыть обыкновенный war, понятия не имею.
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
08.09.2011, 11:47
Фукнция ExtractFilePath возвращает в результате путь к файлу, полный путь которого ты передаёшь в агрумент.
Допустим если:
Delphi
1
s := ExtractFilePath('C:\Forums\CyberForum\deathNC\666.exe');
то в s потом будет чисто 'C:\Forums\CyberForum\deathNC\'
А ParamStr(0) - это путь к экзешнику программы... Я-то думал, что этот файлик лежит в папке с прогой, поэтому и изял сначала папку к программе, а к ней добавил чисто название файла...
А раз у тебя он в другом месте лежит, так отдельно полный путь прописывай без всяких ExtractFilePath...

Добавлено через 2 минуты
Цитата Сообщение от Puporev Посмотреть сообщение
Например так
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program Project1;
 
uses
  Forms,SysUtils,Dialogs,
  Unit1 in 'Unit1.pas' {Form1};
 
{$R *.res}
 
begin
  if not fileExists('C:\123.txt') then
    begin
     Showmessage('Файл не найден, программа не может быть открыта');
     exit;
    end;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
И это было уже объяснено ещё в начале темы, а мы тут на 3 страницы тупости расписываем

Добавлено через 22 секунды
Grusha, Извини, но на тебя невозможно не поругаться!
0
24 / 24 / 2
Регистрация: 17.06.2008
Сообщений: 613
08.09.2011, 12:35  [ТС]
выдает ошибку на Application.Run;
Миниатюры
В какой процедуре описать событие?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.09.2011, 12:35

Получить в процедуре, вызываемой по событию, значения свойства компонента, в котором это событие возникло
Доброго времени суток. В приложении (Win32) на форме 50 однотипных компонентов для ввода чисел. В каждом компоненте надо...

В какой процедуре прорисовывать форму
Доброго дня суток. Есть форма с FormBorderStyle=None. Нужно нарисовать на ней элементы своего оформления - границу, заголовок и т.п. В...

Как узнать программно - в какой процедуре выполняется код?
Собственно что бы можно было вывести на экран сообщение Msgbox ("Ошибка в процедуре " & PROC_NAME.Tostring) Добавлено через...

Описать функцию, результатом работы которой является символ , заданный при обращении к процедуре
Описать функцию , результатом работы которой является символ , заданный при обращении к процедуре , если этот символ не является буквой , и...

Как описать одномерный массив, чтобы в одной процедуре заполнять его, а в другой вызывать элементы
как описать одномерный массив, так что бы в одной процедуре я заполнял этот массив, а в другой вызывал его элементы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru