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

Вниз

Как сделать sql запрос к нескольким таблицам (ADO,MS Access)?   Найти похожие ветки 

 
gedevan   (2016-01-28 13:02) [40]

я понял он вылетает в Column.Field.Text этом месте когда Column.FieldName = "FourSearch", Т.е. туда должно было быть помещено значение помноженное на -1 или свичем полученное


 
gedevan   (2016-01-28 13:05) [41]

т.к. Column.Field = nil тогда (


 
sniknik ©   (2016-01-28 13:06) [42]

> ошибка аксес виолейшн.
пятая дельфя и adoquery используешь?
http://www.delphisources.ru/pages/faq/base/ado_acc_viol_err.html


 
sniknik ©   (2016-01-28 13:10) [43]

> т.к. Column.Field = nil тогда (
как у булена с дефзначением вдруг значение nil???
+
AsBoolean должно преобразовывать в фалсе.


 
gedevan   (2016-01-28 13:28) [44]

Делфи xe5 AdoDataSet использую.

В общем я сделал перерисовывание в ДБГриде. Но есть одна беда. Переодически после очередного запроса DBGrid начинает непрерывно и без остановки вызывать функцию (запрос при этом не вызывается вновь, т.е. оно "само")

procedure TTv.TVTableLogDrawColumnCell(Sender: TObject; const Rect: TRect;
 DataCol: integer; Column: TColumn; State: TGridDrawState);
var
 t: string;
begin
 if ADODataSet1.FieldByName("tempfound").Value = true then
   Font.Color := clGreen
 else if ADODataSet1.FieldByName("tempfound").Value = false then
   Font.Color := clred;

   if (Column.FieldName = "Expr1000") or (Column.FieldName = "Name") or
     (Column.FieldName = "ItemName") then
   begin
     with TVTableLog.Canvas do
     begin
       Brush.Color := clwhite;
       if Column.Field <> nil then
       begin
         FillRect(Rect);
         TextOut(Rect.Left + 2, Rect.Top + 2, Column.Field.Text);
       end;
     end;
   end
   else
   begin
     with TVTableLog.Canvas do
     begin
       Brush.Color := clwhite;
       if Column.Field <> nil then
       begin
         t := Column.Field.Text;
         if (Column.FieldName = "FourSearch") or
           (Column.FieldName = "SearchFixed") or
           (Column.FieldName = "anotherTime") then
         begin
           if t = "-1" then
             t := "True"
           else if t = "0" then
             t := "False";
         end;

         FillRect(Rect);
         TextOut(Rect.Right - 2 - TextWidth(t), Rect.Top + 2, t);
       end;

     end;

   end;

end;


из за этого все мигает и криво перерисовывается. В принципе если вот это решить то тогда с остальным можно не мучиться.


 
gedevan   (2016-01-28 13:43) [45]

глюк случается если в одной колонке в разных ячейках выполняются оба этих условия(т.е. есть и tempfound = true и tempfound = false в колонке):

if ADODataSet1.FieldByName("tempfound").Value = true then
   Font.Color := clGreen;
 //else if ADODataSet1.FieldByName("tempfound").Value = false then
 //  Font.Color := clred;


и вот если например, второе закомментировать, то глюка нет. А как тогда раскрасить в разные цвета? (


 
gedevan   (2016-01-29 08:46) [46]

разобрался TVTableLog.Canvas.Font.Color := clGreen; нужно писать



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

Форум: "Начинающим";
Текущий архив: 2017.12.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.003 c
2-1452769577
testeruser
2016-01-14 14:06
2017.12.24
Thread


2-1453069996
vegarulez
2016-01-18 01:33
2017.12.24
Ошибка при создании объекта


2-1453318580
testeruser
2016-01-20 22:36
2017.12.24
структура базы


15-1467989201
Kilkennycat
2016-07-08 17:46
2017.12.24
Что лучше, C# или Delphi


2-1453717107
Andrey K
2016-01-25 13:18
2017.12.24
Как активировать устройство подсоеденёное через роутер.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский