Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
1-1089979074
AlexanderSK
2004-07-16 15:57
2004.08.01
Доступ к глобальной переменной.


14-1089634928
Piter
2004-07-12 16:22
2004.08.01
Master Of Magic


1-1089965444
Zlod3y
2004-07-16 12:10
2004.08.01
MaskEdit


3-1089378617
Дитё
2004-07-09 17:10
2004.08.01
Что такое Decision Cube ?


14-1088772941
Иксик
2004-07-02 16:55
2004.08.01
Имена




   Наверх