Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
if and or sonucu hakkında
#1
İyi akşamlar.
Aşağıdaki kod da ARow 0 olduğu halde   begin and arası çalışıyor.
kodda neyi göremiyorum veya yanlış

procedure TFrm_Sevk_Yeni.Grd_SevkDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
var
saga_yasla: word;
begin
toplam_kapi.AsInteger := Grd_Sevk.RowCount-1;

            // stringgridde sağa yazılacak sutunlar
            if (ARow > 0) and (ACol = 0)  or (ACol = 1) then
              begin
               ShowMessage(inttostr(ARow));
               saga_yasla := settextalign(Grd_Sevk.Canvas.handle, ta_right);
               Grd_Sevk.Canvas.textrect(Rect, Rect.right - 2, Rect.Top + 2,Grd_Sevk.Cells[ACol, ARow]);
               settextalign(Grd_Sevk.Canvas.handle, saga_yasla);
              end ;

end;


Ek Dosyalar Resimler
   
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#2
if (( ARow > 0) and (ACol = 0)) or (ACol = 1) then
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#3
(12-04-2017, Saat: 17:53)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olif  (( ARow > 0) and (ACol = 0))   or (ACol = 1) then

if ((ARow > 0) and (ACol = 0))  or (ACol = 1) then
              begin
               ShowMessage(inttostr(ARow));
               saga_yasla := settextalign(Grd_Sevk.Canvas.handle, ta_right);
               Grd_Sevk.Canvas.textrect(Rect, Rect.right - 2, Rect.Top + 2,Grd_Sevk.Cells[ACol, ARow]);
               settextalign(Grd_Sevk.Canvas.handle, saga_yasla);
              end ;

veya 
if ((ARow > 0) and (ACol = 0)  or (ACol = 1)) then
Sonuç değişmedi. sıkıntı or kullanımında ama çözemedim.

if ((ARow > 0) and (ACol = 0))  then
Bu şekilde kullanınca düzgün çalışıyor ama tabi 2 kolonu sağ yaslamıyor.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#4
If (ARow>0) and ((ACol=0) or (ACol=1)) Then

Satır 0 dan büyükse ve kolon 0 yada 1 ise çalışır
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
WWW
Cevapla
#5
(13-04-2017, Saat: 09:03)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
If (ARow>0) and ((ACol=0) or (ACol=1)) Then

Satır 0 dan büyükse ve kolon 0 yada 1 ise çalışır
Bence de doğru olan bu.
Logic işlemler yaparken parantezler çok çok önemli Wink
There's no place like 127.0.0.1
WWW
Cevapla
#6
Merhaba,

Delphi'de operatör önceliği aşağıdaki gibidir:

@, not: first (highest)  
*, /, div, mod, and, shl, shr, as: second  
+, -, or, xor : third  
=, <>, <, >, <=, >=, in, is : fourth (lowest) 

(Listeyi Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol adresinden aldım.)

Sizin ilk mesajdaki kodunuza göre if şartını inceleyelim:

if (ARow > 0) and (ACol = 0)  or (ACol = 1) then
önce parantezler işlenecek. Yani

if (FALSE) AND (FALSE) OR (TRUE) then 

gibi bir şey olacak. Sonra önce AND işlenecek


if (FALSE) OR (TRUE) then

son olarak da OR işlenecek. Yukarıdaki örneğe göre de sonuç aşağıdaki gibi olacak


if (TRUE) then

Yani if şartı gerçekleşmiş olacak.

SimaWB'nin de önerdiği gibi bu gibi durumlarda fazladan parantez kullanmak hem hata yapmayı azaltacak, hem de kodu okumayı kolaylaştıracaktır.

İyi çalışmalar
Cevapla
#7
Esistem' in önerdiği gibi yaptım Eskiler bilir NACAR saat gibi çalıştı  Smile  İlgilenen emeği gecen tüm arkadaşlara teşekkür ederim Allah c.c razı olsun.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Puanların Önemi Hakkında... Tuğrul HELVACI 20 6.850 20-07-2018, Saat: 17:42
Son Yorum: Tuğrul HELVACI
Question SFTP Hakkında elixir84 3 140 25-06-2018, Saat: 10:02
Son Yorum: SimaWB
  Veritabanı hakkında mehmetalpgozbasi 4 218 19-06-2018, Saat: 12:57
Son Yorum: mehmetalpgozbasi
  Firedac Hakkında Tuğrul HELVACI 8 647 01-06-2018, Saat: 00:33
Son Yorum: nguzeller
  winusb protokolü hakkında yardım seci20 1 110 31-05-2018, Saat: 10:26
Son Yorum: SimaWB



Konuyu Okuyanlar: 1 Ziyaretçi