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 »

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: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen mrmarman »

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 ....Resim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen conari »

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 »

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: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen mrmarman »

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 ....Resim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Yazıyı Char Tipine Dökme

Mesaj gönderen conari »

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