Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Çözüldü-string eşit değil hatası
#1
arkadaşlar ilğinç bir durumla karşılaştım burda paylaşıp fikir almak istedim

delphi7 de 2 adet string değeri karşılaştırarak eşit mi değil mi diye <> bu kodla karşılaştırma yapıyordum ve hata almıyordum 
aynı olayı lazarusda yaptığımda hata aldım..
şansıma karşılaştırma değerlerim rakam olduğu için integere çevirdim denedim hata almadım 

merak ettiğim string değerleri karşılaştırma yaparken özellikle eşitdeğil (<>)  de sizle hangi yöntemi kullanıyorsunuz.

if _fiyat <> dbFiyat then
                    begin
                     Tur:=2;  //özel fiyat
                    end;

if StrToInt(_fiyat)  <> StrToInt(dbFiyat) then
                    begin
                     Tur:=2;  //özel fiyat
                    end;
Cevapla
#2
(23-01-2019, Saat: 16:39)sadikacar60 Adlı Kullanıcıdan Alıntı: arkadaşlar ilğinç bir durumla karşılaştım burda paylaşıp fikir almak istedim

delphi7 de 2 adet string değeri karşılaştırarak eşit mi değil mi diye <> bu kodla karşılaştırma yapıyordum ve hata almıyordum 
aynı olayı lazarusda yaptığımda hata aldım..
şansıma karşılaştırma değerlerim rakam olduğu için integere çevirdim denedim hata almadım 

merak ettiğim string değerleri karşılaştırma yaparken özellikle eşitdeğil (<>)  de sizle hangi yöntemi kullanıyorsunuz.

if _fiyat <> dbFiyat then
                    begin
                     Tur:=2;  //özel fiyat
                    end;

if StrToInt(_fiyat)  <> StrToInt(dbFiyat) then
                    begin
                     Tur:=2;  //özel fiyat
                    end;

Merhabalar,

İlk aklıma gelen boşluk olmasından kaynalı olabilir.
Trim fonksiyonu ille boşlukları (baş-son) iptal edip deneyebilirsiniz.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#3
Programlama dillerinde genelde switch case yapısında string kullanamazsınız. Derleyiciyi yazanlar buna sebep olarak karşılaştırmanın bitsel yapıldığını söylerler string ile widestring in farklı olduğunu vurgularlar belki sizin sorununuzda türlerle alakalıdır.

“Do. Or do not. There is no try.”
Cevapla
#4
Merhaba,
string diyorsun ama sanki sayısal değerden dönüşmüş stringe benziyor.
debug ile değerlerine baktın mı?
ya da showmessage ile kontrol ettin mi?
Cevapla
#5
Comparevalue fonksiyonunu denemenizi tavsiye ederim. Sayısal bilgiler içinde math.Comparevalue
PostgreSQL - Linux - Delphi, Poliüretan
WWW
Cevapla
#6
Bu linkte sorunuzun cevabı olabilir.

http://www.delphibasics.co.uk/RTL.asp?Na...comparestr
Cevapla
#7
(24-01-2019, Saat: 18:48)sebahattin.koc Adlı Kullanıcıdan Alıntı: Bu linkte sorunuzun cevabı olabilir.

http://www.delphibasics.co.uk/RTL.asp?Na...comparestr

if(CompareStr(degisken1,degisken2)==0)
   //iki değişken birbirine eşittir
ben bu şekilde kullanıyorum
sorun olmuyor
Cevapla
#8
TEŞEKKÜRLER
trim ile boşlukları kaldırmak aklıma gelmedi muhtemelen ondan hata verdi
ama CompareStr komutu en iyisi sanırım bundan sonra bu komutu kullanacağım

saygılarımla
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Ubuntu çıktı hatası barissagir 1 841 31-08-2022, Saat: 14:32
Son Yorum: barissagir
  libqp hatası barissagir 3 1.191 09-10-2021, Saat: 13:13
Son Yorum: barissagir
  pardus 17 lazarus 2.0.10 kütüphane yükleme hatası sadikacar60 0 696 10-07-2021, Saat: 16:40
Son Yorum: sadikacar60
  Linux 20.04 LTD Apache Module Yukleme Hatası 3ddark 4 2.881 29-07-2020, Saat: 12:54
Son Yorum: 3ddark
  ÇÖZÜLDÜ-IdTCPClient1 ve IdTCPServer1 kompenantları HK. sadikacar60 1 1.798 21-02-2020, Saat: 22:24
Son Yorum: sadikacar60



Konuyu Okuyanlar: 1 Ziyaretçi