Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.01;
Скачать: CL | DM;

Вниз

оцените код , и оптемезуйте   Найти похожие ветки 

 
Cranky   (2004-07-07 15:20) [0]

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 15:25) [1]

Все неправильно :)


PrinterName := Trim(Edit2.Text);
...
printers.Insert;
try
  printers.FieldByName("printer").AsString := PrinterName;
  printers.Post;
except
  printers.Cancel;
  raise
end;


 
Anatoly Podgoretsky ©   (2004-07-07 15:26) [2]

Что мы должны сделать?


 
Sandman25 ©   (2004-07-07 15:26) [3]

Строка id1:=printers.FieldValues["id"] должна быть вынесена из if, чтобы не дублироваться.


 
Sandman25 ©   (2004-07-07 15:27) [4]

[2] Anatoly Podgoretsky ©   (07.07.04 15:26)

Оптемезовать, там же написано :)


 
Johnmen ©   (2004-07-07 15:28) [5]

>оцените код ,

Цена близка к 0

>и оптемезуйте

Зачем ? Сколько платишь ?
:)


 
bushmen ©   (2004-07-07 15:33) [6]

> Cranky   (07.07.04 15:20)  

Не надо плодить топики, тем более под разными именами:
http://delphimaster.net/view/3-1089007411/


 
Соловьев ©   (2004-07-07 15:34) [7]

Во народ пошел. Наглый блин....


 
Sandman25 ©   (2004-07-07 15:35) [8]

вот блин, я попался...


 
jack128 ©   (2004-07-07 15:36) [9]

условия
> 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:38) [10]

[9] jack128 ©   (07.07.04 15:36)

Там ИМХО можно вообще обойтись тремя вызовами одной процедуры. Только DataSet и имена полей/значения передавать.


 
jack128 ©   (2004-07-07 15:45) [11]


> Там ИМХО можно вообще обойтись тремя вызовами одной процедуры.
> Только DataSet и имена полей/значения передавать
ну да. Это и имелось в виду. код же один к одному...


 
Cranky   (2004-07-07 16:42) [12]

пример плизз вот етого

Там ИМХО можно вообще обойтись тремя вызовами одной процедуры. Только DataSet и имена полей/значения передавать.


 
Cranky   (2004-07-07 17:01) [13]

але тогда при смене полей нужно Active:=false и Active:=true делать


 
Sandman25 ©   (2004-07-07 17:03) [14]

-Доктор, меня все игрнорируют.
-Следующий



Страницы: 1 вся ветка

Текущий архив: 2004.08.01;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.036 c
14-1089646989
Sheng
2004-07-12 19:43
2004.08.01
Извините за дибильный вопрос, но


14-1089459293
Alek
2004-07-10 15:34
2004.08.01
Kylix


14-1089664682
Sheng
2004-07-13 00:38
2004.08.01
WWW


14-1089801453
r0bert
2004-07-14 14:37
2004.08.01
у кого есть диски


4-1088053564
Pasha
2004-06-24 09:06
2004.08.01
Народ, подскажите плз. как мне дописать сводку к файлу