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

Вниз

Оповещение в нижнем правом углу экрана   Найти похожие ветки 

 
uno-84   (2008-07-08 08:52) [0]

Здравствуйте! Пожалуйста подскажите! Я поставил таймер наствоил его на 5 мин в процедуру вписал

procedure TMainForm.Timer1Timer(Sender: TObject);
var
  UsI: Integer;
  WorkForOther: String;
  MyWork: String;
begin
    with DataModule1.IBQShared do
    begin
         SQL.Clear;
         SQL.Add("select USER_ID from USERS where USER_NAME = :USER_NAME");
         ParamByName("USER_NAME").AsString := USER_NAME_TCS;// имя пользователя вошедшего в систему
         Open;
             UsI := FieldByName("USER_ID").AsInteger;// ID пользователь в базе данных
         Close;
         SQL.Clear;
         SQL.Add("select count(*) from MESSAGE_EXT where MESSAGE_SENDER = :MESSAGE_SENDER and MESSAGE_WORK_TYPE = :MESSAGE_WORK_TYPE " +
                 "and MESSAGE_WORK_DATE <= :MESSAGE_WORK_DATE and MESSAGE_WORK_END = :MESSAGE_WORK_END");
                 ParamByName("MESSAGE_SENDER").AsInteger := UsI;
                 ParamByName("MESSAGE_WORK_TYPE").AsString := "T";
                 ParamByName("MESSAGE_WORK_DATE").AsDateTime := Now;
                 ParamByName("MESSAGE_WORK_END").AsString := "F";
                 Open;
                 WorkForOther := FieldByName("count").AsString;//количество заданий отправленных пользователем
                 Close;
         SQL.Clear;
         SQL.Add("select count(*) from MESSAGE_EXT where MESSAGE_RECIPIENTS_NAMES = :MESSAGE_RECIPIENTS_NAMES and MESSAGE_WORK_DATE <= :MESSAGE_WORK_DATE " +
                 "and MESSAGE_WORK_TYPE = :MESSAGE_WORK_TYPE and MESSAGE_WORK_END = :MESSAGE_WORK_END");
                 ParamByName("MESSAGE_RECIPIENTS_NAMES").AsString := USER_NAME_TCS;
                 ParamByName("MESSAGE_WORK_DATE").AsDateTime := Now;
                 ParamByName("MESSAGE_WORK_TYPE").AsString := "T";
                 ParamByName("MESSAGE_WORK_END").AsString := "F";
                 Open;
                 MyWork := FieldByName("count").AsString;//количество заданий полеченных пользователем
                 Close;
    end;
    ShowMessage("&#194; &#226;&#224;&#248;&#229;&#236; &#239;&#238;&#247;&#242;&#238;&#226;&#238;&#236; &#255;&#249;&#232;&#234;&#229; " + "" + #13 + "" + WorkForOther + " " + "&#231;&#224;&#228;&#224;&#237;&#232;&#233; &#238;&#242;&#239;&#240;&#224;&#226;&#235;&#229;&#237;&#237;&#251;&#245; &#226;&#224;&#236;&#232;" + "" + #13 + "" + MyWork + " " + "&#207;&#238;&#235;&#243;&#247;&#224;&#237;&#237;&#251;&#245; &#226;&#224;&#236;&#232;" + "" + #13 + "" + "&#209;&#208;&#206;&#202; &#199;&#192;&#196;&#192;&#205;&#200;&#201; &#200;&#209;&#210;&#197;&#202;!!!");

Мне нужно что бы вместо ShowMessage, выскакивало окошко как в ISQ оповещение, в правом нижнем углу экрана, помогите пожалуйста! Зарание спасибо!
end;


 
Ega23 ©   (2008-07-08 10:04) [1]

Ты для начала остальное всё оформи, как подобает. С try..except, try...finally, забудь про Clear и Add (есть SQL.Text) и т.п.


 
uno-84   (2008-07-08 10:09) [2]

Код работает и записи считает, try... exept я делаю после вставок или изменений записей, Clear нужен, так как компонент запроса один, а по ходу программы запросов выполняется очень много, вот и приходиться его очищать


 
medved_68 ©   (2008-07-08 10:14) [3]


> Мне нужно что бы вместо ShowMessage, выскакивало окошко
> как в ISQ оповещение, в правом нижнем углу экрана, помогите
> пожалуйста! Зарание спасибо!

CoolTrayIcon = > CoolTrayIcon.ShowBallonHint.....


 
Ega23 ©   (2008-07-08 10:17) [4]


> Код работает и записи считает


Замечательно.


> try... exept я делаю после вставок или изменений записей,


try
 try
   DataSet.Open;
   i := DataSet.FieldByName.....;
   j := DataSet.FieldByName.....;
   k := DataSet.FieldByName.....;
 except
   .....
 end;
finally
 DataSet.Close;
end;


Разрыв соединения и на Open может случиться.


> Clear нужен, так как компонент запроса один


Я уже сказал, что у SQL есть свойство Text


 
uno-84   (2008-07-08 10:32) [5]

У меня удаленная БазаДанных(InterBase), я дописываю приложение и в нем принцип построения запросов, такой как написан у меня, и DataSet я не могу закрыть, так одновременно с моим там выполняется еще много запросов, построенных таким же образом


 
Ega23 ©   (2008-07-08 10:38) [6]


> и DataSet я не могу закрыть, так одновременно с моим там
> выполняется еще много запросов, построенных таким же образом


Значит try-finally в этом конкретном случае не нужен. Но try-except - обязателен.


 
ЮЮ ©   (2008-07-08 10:43) [7]

> и DataSet я не могу закрыть, так одновременно с моим там
> выполняется еще много запросов, построенных таким же образом


Думаешь Clear его не закрывает? Там дахе Close лишний :)

 Close;
 SQL.Clear;
 SQL.Add(<текст>);

по функционалу идентичны
 
 SQL.Text := <текст>;

Но при построчной оплате обходится работодателю в три раза дешевле :)


 
uno-84   (2008-07-08 10:56) [8]

У меня не идет построчная оплата))))) Я вынес код в отдельную функцию сделал

Result := True;
    with DataModule1.IBQShared do
    begin ..........
.................................................
Try
   ExecSQL;
Except
    Result := False;
end;
...................................
if Result then DataModule1.IBT.CommitRetaining
       else DataModule1.IBT.RollbackRetaining;

Таким образом, я думаю можно поступить?


 
uno-84   (2008-07-08 11:08) [9]

Помогите сделать всплывающее окошко, вместо моего пробного ShowMessage, без использования компонента CoolTrayIcon?



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
15-1214206913
Vudu
2008-06-23 11:41
2008.08.10
Можно ли монитор подключить к видеовходу


2-1215104684
blazerad
2008-07-03 21:04
2008.08.10
Как заставить БД Делфи работать на другом компе.


4-1192602325
_Guest_
2007-10-17 10:25
2008.08.10
Распознать подключение / отключение флешки


2-1215579283
Magic
2008-07-09 08:54
2008.08.10
Кол-во циклов зависит от вводимой переменной N - возможно ли?


2-1215492775
uno-84
2008-07-08 08:52
2008.08.10
Оповещение в нижнем правом углу экрана