String değeri Char tipine çevirmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
MehmetZahit
Üye
Mesajlar: 70
Kayıt: 04 Tem 2007 08:39

String değeri Char tipine çevirmek

Mesaj gönderen MehmetZahit »

s.a.

strDeger --> 'A' string veya WideStirng tipindeki bir değişkeni Char tipinde bir değişkene nasıl çevirebilirim?

chrDeger := ??
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Re: String değeri Char tipine çevirmek

Mesaj gönderen serkan »

Kod: Tümünü seç

VAR
s:string;
begin
s:='AAAAA';
pchar(s)

end;
Kullanıcı avatarı
MehmetZahit
Üye
Mesajlar: 70
Kayıt: 04 Tem 2007 08:39

Re: String değeri Char tipine çevirmek

Mesaj gönderen MehmetZahit »

hızlı cevabınız için teşekkürler ama benim istediğim, string değişken içinde 'A' gibi tek karakterlik bir deger var, char tipinde bir değişkene aktarmak istiyorum. char tipindeki bir veriyi case .. of ile kullanabiliyoruz.

case chrDeger of
'A' : .....
'B' : ....


gibi

yapmak istediğim strDeger değişkeninin değerini if'ler ile degil, case ile kıyaslamak istiyorum.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Re: String değeri Char tipine çevirmek

Mesaj gönderen Hakan Can »

String bir değişkeni Char bir değişkene atamak için:

Ch := St[1];

diyebilirsin. Ama St değişkeninin en az bir karakter olması gerekiyor. Garanti olsun diye:

St := St + 'X';
Ch := St[1];

diyebilirsin.

Maksadın "Case Of" ile kullanmak ise direk string değişkeni bu şekilde kullanabilirsin:

case St[1] of
'A': ..
else
..
end;
Kullanıcı avatarı
MehmetZahit
Üye
Mesajlar: 70
Kayıt: 04 Tem 2007 08:39

Re: String değeri Char tipine çevirmek

Mesaj gönderen MehmetZahit »

Teşekkür ederim hocam, sorun çözüldü.

Peki String değilde WideString olunca durum nasıl oluyor?

elimde bir webservisin sonucu var. Tipi widestring.

Cevap.Deger = 'A' olarak widestring tipinde dönüyor.

case Cevap.Deger[1] satırında "Incompatible Types (char) and (WideChar) " hatası veriyor.

tabiki bu değişkeni normal bir string değişkene atıp söylediğiniz yöntemi uygulayabiliriz. Sizin daha güzel bir yönteminiz varmı?
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Re: String değeri Char tipine çevirmek

Mesaj gönderen Hakan Can »

Şu örnekte çözüm olabilir:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  Ws: WideString;
begin
  Ws := Edit1.Text + 'A';
  case string(Ws)[1] of
    'A': ShowMessage('A Bildiniz...');
    'B': ShowMessage('B Bildiniz...');
    'C': ShowMessage('C Bildiniz...');
  else
    ShowMessage('Tutmadı...');
  end;
end;
Kullanıcı avatarı
MehmetZahit
Üye
Mesajlar: 70
Kayıt: 04 Tem 2007 08:39

Re: String değeri Char tipine çevirmek

Mesaj gönderen MehmetZahit »

Hakan Can yazdı:Şu örnekte çözüm olabilir:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  Ws: WideString;
begin
  Ws := Edit1.Text + 'A';
  case string(Ws)[1] of
    'A': ShowMessage('A Bildiniz...');
    'B': ShowMessage('B Bildiniz...');
    'C': ShowMessage('C Bildiniz...');
  else
    ShowMessage('Tutmadı...');
  end;
end;

Hocam işte bu tam çözüm oldu, ellerine sağlık...
Cevapla