String ile char arasında çevrim

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
karflake
Üye
Mesajlar: 222
Kayıt: 15 Haz 2003 03:57

String ile char arasında çevrim

Mesaj gönderen karflake »

Kod: Tümünü seç

if copy(listbox1.Items[i],1,1) in ['Ç','ç','Ğ','ğ','İ','ı','Ö','ö','Ş','ş','Ü','ü'] then continue;
şeklinde bir kod yazdığım zaman Delphi 7, copy fonksiyonu string tipinde sonuç döndürdüğünden haklı olarak "Incompatible types 'String' and 'Char' hatası" veriyor.

Gerçi bu durumda tmp isimli bir string değişken tanımlayıp

Kod: Tümünü seç

  tmp:=copy(listbox1.Items[i],1,1);
  if tmp[1] in ['Ç','ç','Ğ','ğ','İ','ı','Ö','ö','Ş','ş','Ü','ü'] then continue;
şeklinde bir takla atılarak sorun çözülebiliyor.

Daha uygun bir yol var mı?
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Merhaba.
@karflake yazdı:... şeklinde bir kod yazdığım zaman Delphi, copy fonksiyonu string tipinde sonuç döndürdüğünden haklı olarak ...
- Sonuç string olarak döndüğü için dediğinizde zaten kendi sorunuzun cevabını vermişsiniz demek olmuyor mu ? :wink:

- String ifade tek karakter de olsa çok karakter de olsa [1] dediğinizde ilk ve/veya tek harfi elde ettiğinizi biliyoruz...

Kod: Tümünü seç

if listbox1.Items[i][1] in ['Ç','ç','Ğ','ğ','İ','ı','Ö','ö','Ş','ş','Ü','ü'] then continue;
şeklinde kullanmanız kod sadeliği ve işlevi adına daha uygun olurdu...

- Aşağıdaki şekilde de sizin kodunuzda [1] eklenerek yapılmış hali inceleyin... Alttaki çizgi eklenen yeri işaret ediyor..

Kod: Tümünü seç

if copy(listbox1.Items[i],1,1)[1] in ['Ç','ç','Ğ','ğ','İ','ı','Ö','ö','Ş','ş','Ü','ü'] then continue;
//............................---
Resim
Resim ....Resim
Kullanıcı avatarı
karflake
Üye
Mesajlar: 222
Kayıt: 15 Haz 2003 03:57

Mesaj gönderen karflake »

mrmcop yazdı: ... listbox1.Items[1] ...

şeklinde bir kullanım olabileceğini hiç düşünmemiştim :oops: . Teşekkürler.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Memnun oldum... :)

- Sadece hep hatırlamanı istediğim nokta şu ki;

- Bir fonksiyonun sonucu hangi tipi döndürüyorsa; o fonksiyonu, o tipteki bir değişken gibi düşünebilirsin... :o

- Tabi bu sadece fonksiyondan bilgi alırken geçerli, tersi yönde bu tipe veri akışı sen de takdir edersin ki doğal olarak yasak... :oops:

- Çalışmalarında başarılar...
Resim
Resim ....Resim
Cevapla