Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1215686856
TUserClass
2008-07-10 14:47
2008.08.10
Установить поле соответствия (Lookup := true) в DataSet ...


15-1214187119
Slider007
2008-06-23 06:11
2008.08.10
С днем рождения ! 23 июня 2008 понедельник


2-1215595887
fedorovandrey
2008-07-09 13:31
2008.08.10
Как организовать работу приложения?


15-1214223913
@!!ex
2008-06-23 16:25
2008.08.10
Ненене, Дэвид Блэйн, ненене!


13-1120639782
Игорь Шевченко
2005-07-06 12:49
2008.08.10
Как вызывать виртуальные классовые методы из неклассовых методов?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский