Yazıyı Char Tipine Dökme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cdmesut
Üye
Mesajlar: 29
Kayıt: 16 Mar 2008 02:40

Yazıyı Char Tipine Dökme

Mesaj gönderen cdmesut » 19 May 2010 09:52

merhaba arkdaşlar.
benim yapmak istediğim string tipinde olşturduğum değişlenin değerine göre char tipine dönüşüm yapmak istiyorum

mesea

string degisken:="ab";
string aktar;

aktar:="char(65)+char(66)"; //böyle aktaracak bildiğiniz gibi char tipinde 65 a ya 66 be ye denk geliyor.

bunu elle yapabiliyorum. ama bilgisayara koyduğum. text kutusunun otomatik yapmasını istiyorum. algoritmasını kuramadım. yardımcı olursanız sevinirim.

bir ufak sorum daha var tanımladığım string değişkenine unicode karakter tipine çevirebilirmyiim.
var
string degisken:="deneme";
aktar:=unicode(degisken); // gibi. d2010 kullanıyorum.




teşekkür ederim

Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4718
Kayıt: 09 Ara 2003 08:13
Konum: Ankara
İletişim:

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen mrmarman » 19 May 2010 11:20

Char tipine dönüşüp yapsın istiyorum demişsiniz ancak aktardığınız değişken yine bir string.

İstediğiniz işlem String bir ifadenin içeriğindeki her harfin ascii karşılığını alacak delphi kodu ürettirmek falan mı ? Diğer türlü sorduğunuz şekilde olacaksa, dinamik bir Char array oluşturup bu string ifade içindeki her bir karakteri basit bir for döngüsü ile bu Char array'a teker teker atama yapmalısınız.

( bu arada küçük harfler Ascii 97'den başlar .. 65'den başlayan büyük harfler :wink: )

Kod: Tümünü seç

Var
  degisken : String; // index 1'den başlar
  aktar    : array of Char; // inde 0'dan başlar
  i        : integer;
begin
  degisken := 'ab';
  setlength( aktar, length(degisken) );
  for i := 1 to length(degisken)
    do aktar[i-1] := degisken[i];

  for i := 0 to high(aktar)
    do showmessagefmt('%s (%d)', [aktar[i], ORD(aktar[i])]);
end;
Resim Resim

Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 02:10
Konum: İstanbul & Gebze Karışık

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen conari » 20 May 2010 03:25

Merhaba Hocam.

Mesajınızdaki

Kod: Tümünü seç

showmessagefmt('%s (%d)', [aktar[i], ORD(aktar[i])]);
kısmındaki format kullanımını biraz açıklayabilirmisiniz.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

cdmesut
Üye
Mesajlar: 29
Kayıt: 16 Mar 2008 02:40

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen cdmesut » 20 May 2010 03:41

elien sağlık hocam.
ekrana mesaj oalrak değil de memo1 nesnesine sıralı bir şekilde nasıl yazarız..ben denedim tip hatası gibi bişi verdi.
orada kullandığınız showmessage yöntemini ilk defa görüyorum.arkadaşın dediği gibi orayı da anlatabilirmisiniz.
teşekkür ederim.

Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4718
Kayıt: 09 Ara 2003 08:13
Konum: Ankara
İletişim:

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen mrmarman » 20 May 2010 05:10

Merhaba..

Format fonksiyonu, bir veya birden fazla değişkeni ve/veya ifadeyi önceden sizin tarafınızdan belirlenen bir düzen içerisinde sunmak için kullanılır. Bu fonksiyonun ShowMessage() fonksiyonuna monte edilmiş hali (sonunda ...Fmt yazdığına dikkat edin) olarak ShowMessageFmt() komutu mevcuttur.

'Merhaba %s bugün %d saysını değerlendiriyoruz.' ifadesi bir format ifadesi olarak kullanılır. soldan sağa boşluk doldurma gibi düşünebilirsiniz. %s string ifade olacağını %d ise integer ifade olduğunu biliyoruz. ( delphi help size diğer her tip için detay verecektir. ) Kullanımı şöyle olur.

Memo'ya eklemek için

Kod: Tümünü seç

Var
  isim : String;
  sayi : Integer;
begin
  isim := 'Muharrem ARMAN';
  sayi := 5;
  Memo1.Lines.Add( Format( 'Merhaba %s bugün %d saysını değerlendiriyoruz.', [ isim, sayi ]) ); 
end;
Ekrana showmessage ile yansıtmak için ya şöyle yapacaksınız...

Kod: Tümünü seç

  ShowMessage( Format( 'Merhaba %s bugün %d saysını değerlendiriyoruz.', [ isim, sayi ]) ); 
ya da önceki örnekte belirttiğim gibi ShowMessageFmt kullanarak içindeki formatı uyguluycaz.

Kod: Tümünü seç

  ShowMessageFmt(  'Merhaba %s bugün %d saysını değerlendiriyoruz.', [ isim, sayi ] ); 
başarılar.
Resim Resim

Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 02:10
Konum: İstanbul & Gebze Karışık

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen conari » 21 May 2010 07:33

teşekkürler hocam.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim

Cevapla