Karakter Convert işlemi konusunda yardım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Karakter Convert işlemi konusunda yardım

Mesaj gönderen adelphiforumz »

S.A.

ARGOX OS-214 Plus yazıcıdan türkçe karakterleri döktürürken bir sorun yaşıyorum.
eğer cihaza türkçe karakterleri normal gönderirsem cihaz basmıyor
kendisinin bir programı var bu program text dosyaya kayıtları çıkarken şöyle bir format kullanıyor
ABCDEFGHIJKLMNO™PRSTUšVYZi”‡ÕgusiocXWQ gibi
dikkat edecek olursanız 'Ö' harfi yerine '™' karakteri 'Ü' harfi yerine 'š' karakteri koyuyor.

Şimdi 'Ö' harfi için kullanılan '™' karakterini ben delphinden nasıl elde edebilirim.
ORD('Ö') olarak çevirdiğimde delphi bana 214 veriyor oysaki '™' karakterinin karşılı 153 bunu nasıl çevirebilirim ve '™' karakterini printere gönderebilirim.

Umarımkı bu kafa ile anlatabilmişimdir. artık bunaldım çünkü.
Yardımcı olabileceklere şimdiden teşekkürler.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Karakter Convert işlemi konusunda yardım

Mesaj gönderen CiTiZEN »

sanki anlamadım ama atıyorum bir memodaki Ö harflerini bu karaktere mi çevirmek istiyorsunuz "™"
UWESIS CORPORATION
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Karakter Convert işlemi konusunda yardım

Mesaj gönderen sabanakman »

Tüm karakterleri diğer ortamdaki karakterlere dönüştürebilirsiniz. 2 yöntem önerebilirim ama benim önerim 2. sinin üzerinde durmanız olacaktır. Ayrıca bu örnekler sadece Ö ve Ü karakterleri üzerinden hazırlandı.

1..:

Kod: Tümünü seç

Bilgi:=AnsiReplaceStr(Bilgi,'Ö','™');
Bilgi:=AnsiReplaceStr(Bilgi,'Ü','š');
veya
2..:

Kod: Tümünü seç

function Donustur(const S:String):String;
const
  Normal:String='ÖÜ';
  Donsun:String='™š';
var i,p:Integer;
begin
  Result:=S;
  for i:=Length(Result) downto 1 do begin
    p:=Pos(Result[i],Normal);
    if p>0 then Result[i]:=Donsun[p];
  end;
end;
gibi bir fonksiyon üzerinden Bilgi:=Donustur(Bilgi); gibi bir kodla gerekli dönüşümü yapabilirsiniz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: Karakter Convert işlemi konusunda yardım

Mesaj gönderen adelphiforumz »

Öncelikle ilginiz için teşekkürler
Fakat benim burda asıl öğrenmek istediğim
Ö harfine karşılık gelen DEC=153, ASC=Ö, CHR='™'
burda DEC kısmını nasıl delphiden elde edebilirm
DEC kısmından CHR kısmına çevirmeye çalışıyorum
çünkü sadece türkçe karakterler için çeviri olmayacak DEC 128 den büyük olan tüm karakterler için yapılacak

Teşekkürler
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Karakter Convert işlemi konusunda yardım

Mesaj gönderen sabanakman »

Dönüşüm tablosunun hepsini görmeden bir şey söylemek mümkün değil ama Ord(St[1]) gibi St değişkeninin 1. karakterinin sayısal değerini elde edebilirsiniz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: Karakter Convert işlemi konusunda yardım

Mesaj gönderen adelphiforumz »

asagidaki linke ilgili ceviri tablosunun bir ornegini koydum
o tabloya bakabilirseniz yukarıda soylemek istediklerimi daha net anlatmış olacağım
DEC kısmında 153 olan yere bakarsanız ASC kısmında Ö harfi görünüyor fakat tm gibi olan chr çıkıyor
benim amacım kişi ekrandan bilgi girdiğinde bilginin içeriğinde Ö, Ç, Ş, Ü, gibi harfleri bulmak onun CHR kısmında olan koda çevirmek
incelediğim kadarı ile OS-214 gibi yazıcıların tümü bu çeviri işini kullanıyor
ve çeviri sonrasında oluşan datayı direkt comport üzerinden yazıcıya gönderdiğinizde
yazıcı windows driverı yüklü olana göre en az 4,5 kat daha hızlı yazabiliyor.
ayrıca bilgisayarlarada yazıcı driverı kurmanıza gerek kalmıyor.

teşekkürler

http://rapidshare.com/files/386740591/AsciiTable2.jpg
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Cevapla