Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi

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
  JSON Bilgi Talebi, RAD 10 Seattle Yeni JSON Özellikleri Hakkında eroniko 4 143 13-10-2018, Saat: 21:59
Son Yorum: eroniko
  ClassType hakkında adelphiforumz 1 99 11-10-2018, Saat: 22:27
Son Yorum: sabanakman
  Inherited Formlar Hakkında Bilgi Talebi adelphiforumz 5 154 11-10-2018, Saat: 10:28
Son Yorum: adelphiforumz
  Firedac bileşenleri hakkında canbir 2 374 06-10-2018, Saat: 02:06
Son Yorum: Lord_Ares
Shocked Çoklu Dil Desteği Hakkında SercanTEK 10 357 28-08-2018, Saat: 13:24
Son Yorum: uparlayan



Konuyu Okuyanlar: 1 Ziyaretçi