![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
оцените код , и оптемезуйте [D7, mdb]
Cranky © (2004-07-07 15:20:00)procedure TForm1.Button1Click(Sender: TObject);
var
id1,id2,id3:integer;
begin
if not printers.Locate('printer',Edit1.Text,[loCaseInsensitive])
then
begin
printers.Insert;
printers.FieldValues['printer']:=Edit1.Text;
printers.Post;
id1:=printers.FieldValues['id'];
end else id1:=printers.FieldValues['id'];
if not host.Locate('host',Edit2.Text,[loCaseInsensitive])
then
begin
host.Insert;
host.FieldValues['host']:=Edit2.Text;
host.Post;
id2:=host.FieldValues['id'];
end else id2:=host.FieldValues['id'];
if not users.Locate('user',Edit3.Text,[loCaseInsensitive])
then
begin
users.Insert;
users.FieldValues['user']:=Edit3.Text;
users.Post;
id3:=users.FieldValues['id'];
end else id3:=users.FieldValues['id'];
Log.Insert;
log.FieldValues['printer']:=id1;
log.FieldValues['host']:=id2;
log.FieldValues['user']:=id3;
log.FieldValues['tip']:=Edit4.Text;
log.FieldValues['name']:=Edit5.Text;
log.FieldValues['page']:=strtoint(Edit6.Text);
log.Post;
end;
Sandman25 (2004-07-07 17:03:00) [1]-Доктор, меня все игрнорируют.
-Следующий
Cranky (2004-07-07 17:01:00) [2]але тогда при смене полей нужно Active:=false и Active:=true делать
Cranky (2004-07-07 16:42:00) [3]пример плизз вот етого
Там ИМХО можно вообще обойтись тремя вызовами одной процедуры. Только DataSet и имена полей/значения передавать.
jack128 (2004-07-07 15:45:00) [4]
> Там ИМХО можно вообще обойтись тремя вызовами одной процедуры.
> Только DataSet и имена полей/значения передавать
ну да. Это и имелось в виду. код же один к одному...
Sandman25 (2004-07-07 15:38:00) [5][9] jack128 © (07.07.04 15:36)
Там ИМХО можно вообще обойтись тремя вызовами одной процедуры. Только DataSet и имена полей/значения передавать.
jack128 (2004-07-07 15:36:00) [6]условия
> if not printers.Locate('printer',Edit1.Text,[loCaseInsensitive])
> then
> ...
> end
> if not host.Locate('host',Edit2.Text,[loCaseInsensitive])
> then
> ....
> end
> if not users.Locate('user',Edit3.Text,[loCaseInsensitive])
> then
> ...
> end;
лудше вынести в отдельную процедуру...
Sandman25 (2004-07-07 15:35:00) [7]вот блин, я попался...
Соловьев (2004-07-07 15:34:00) [8]Во народ пошел. Наглый блин....
bushmen (2004-07-07 15:33:00) [9]> Cranky (07.07.04 15:20)
Не надо плодить топики, тем более под разными именами:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1089007411&n=1
Johnmen (2004-07-07 15:28:00) [10]>оцените код ,
Цена близка к 0
>и оптемезуйте
Зачем ? Сколько платишь ?
:)
Sandman25 (2004-07-07 15:27:00) [11][2] Anatoly Podgoretsky © (07.07.04 15:26)
Оптемезовать, там же написано :)
Anatoly Podgoretsky (2004-07-07 15:26:00) [12]Что мы должны сделать?
Sandman25 (2004-07-07 15:26:00) [13]Строка id1:=printers.FieldValues['id'] должна быть вынесена из if, чтобы не дублироваться.
Sandman25 (2004-07-07 15:25:00) [14]Все неправильно :)
PrinterName := Trim(Edit2.Text);
...
printers.Insert;
try
printers.FieldByName('printer').AsString := PrinterName;
printers.Post;
except
printers.Cancel;
raise
end;