Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2012, 21:15   #21
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

можно просто убить и создать форму заново (по-моему, это уже советовали)
если форма главная, добавить другую форму и сделать её главной, а Form1 создавать заново для каждого нового прогона теста
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 05.06.2012, 22:47   #22
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Можно, но это некрасиво.
phomm верно сказал - нужно разделять интерфейс и функциональность.
s-andriano вне форума Ответить с цитированием
Старый 06.06.2012, 08:53   #23
m1zantrop
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 103
По умолчанию

что то я не догоняю, скиньте пожалуйста ссылку где можно почитать об этом. чем подробнее, тем лучше.
m1zantrop вне форума Ответить с цитированием
Старый 06.06.2012, 09:19   #24
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,883
По умолчанию

http://www.gunsmoker.ru/2010/08/9897.html
phomm вне форума Ответить с цитированием
Старый 07.06.2012, 14:11   #25
m1zantrop
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 103
По умолчанию

т.е если я хочу запустить действие на первой кнопки через класс я создаю юнит, туда вбиваю

Цитата:
unit Unit6;

interface

type
TWorker = class
procedure ProcessFile(const AFileName: String, Integer);
end;

implementation

procedure TWorker.ProcessFile(const AFileName: String, Integer);
var
FS: TFileStream;
Dt1, Dt2 : TDateTime;
begin
FS := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite);
try

Form2.ADOQuery1.Active:=false;
Form2.ADOQuery1.SQL.Clear;
Form2.ADOQuery1.SQL.Add('SELECT * FROM rezult WHERE INT(data) BETWEEN :StartDate AND :FinishDate ');
Dt1 := Trunc(DateTimePicker1.Date);
Form2.ADOQuery1.Parameters.ParamByN ame('StartDate').Value := Dt1;
Dt2 := Trunc(DateTimePicker2.Date);
Form2.ADOQuery1.Parameters.ParamByN ame('FinishDate').Value := Dt2;
Form2.ADOQuery1.Active:=true;

finally
FreeAndNil(FS);
end;
end;
end;
end.
на первой форме пишу

Цитата:
procedure TForm1.Button4Click(Sender: TObject);
var
Worker: TWorker;
begin
Worker := TWorker.Create;
try
Worker.ProcessFile(DateTimePicker1, DateTimePicker2);
finally
FreeAndNil(Worker);
end;
end;
end.
и он ругается на творк
m1zantrop вне форума Ответить с цитированием
Старый 07.06.2012, 14:43   #26
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Используем файловые стримы, а в uses не добавили ничего, даже Classes например. Конечно компилироваться не будет. Конструктор и деструктор конечно в таком простом классе с одним методом можно и не объявлять, но желательно бы, на будущее, вдруг разрастется.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 07.06.2012, 15:15   #27
m1zantrop
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 103
По умолчанию

Цитата:
Сообщение от 3D Hunter Посмотреть сообщение
Используем файловые стримы, а в uses не добавили ничего, даже Classes например. Конечно компилироваться не будет. Конструктор и деструктор конечно в таком простом классе с одним методом можно и не объявлять, но желательно бы, на будущее, вдруг разрастется.
я чтобы проверить как это работает.

т.е если добавить в форму uses юнит6 то будет работать?
m1zantrop вне форума Ответить с цитированием
Старый 07.06.2012, 20:18   #28
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Естественно, а как вы думаете, откуда ему брать код еще, кроме как не из unit6?
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 08.06.2012, 09:08   #29
m1zantrop
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 103
По умолчанию

Цитата:
Сообщение от 3D Hunter Посмотреть сообщение
Естественно, а как вы думаете, откуда ему брать код еще, кроме как не из unit6?
у меня трудности с написанием самого юнита
m1zantrop вне форума Ответить с цитированием
Старый 08.06.2012, 09:16   #30
m1zantrop
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 103
По умолчанию

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

Цитата:
unit Unit6;

interface

type
TWorker = class
procedure ProcessFile(const AFileName: String);
end;

implementation

procedure TWorker.ProcessFile(const AFileName: String);
var
Dt1, Dt2 : TDateTime
begin

ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM rezult WHERE INT(data) BETWEEN :StartDate AND :FinishDate ');
Dt1 := Trunc(DateTimePicker1.Date);
ADOQuery1.Parameters.ParamByName('S tartDate').Value := Dt1;
Dt2 := Trunc(DateTimePicker2.Date);
ADOQuery1.Parameters.ParamByName('F inishDate').Value := Dt2;
ADOQuery1.Active:=true;

end;
finally
FreeAndNil(Dt1, Dt2);
end;
m1zantrop вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вернуть БД в состояние до экспорта в нее другой БД Rafting Microsoft Office Access 1 08.02.2012 11:11
CheckBox. Как проверить состояние Шуримар Microsoft Office Access 5 17.01.2012 10:22
Please!!! Как определить тактовою частоту процессора, и как прочитать текущее состояние счетчика тактов. Заранее спасибо Dem_v Общие вопросы Delphi 1 17.09.2011 13:44
Как определить состояние принтера Coryphaeus Общие вопросы Delphi 7 16.02.2010 21:19
Как менять состояние объектов в групбоксе всех вместе сразу _Инженер_ Компоненты Delphi 11 17.09.2008 19:24