Türkce karakter

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Türkce karakter

Mesaj gönderen Laz61 »

Slm. aleyküm

Dat uzabtili dosyalarda Türkce karakter sorununu nasil cözerim. Türkcede malum karakterleri kaydetmiyor.
Dolayisiyla aramalarda sorun cikiyor. Yurt disindayim. Bilgisayarimin ana dil ayari Almanca oldugi icin bu sorunla devamli karsilasiyorum.
Genelde Tnt kompenentleri kullaniyorum.

Tsk ederim.
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Türkce karakter

Mesaj gönderen mkysoft »

dat uzantılı dosyalardan kastınız ASCII dosyalar sanırım. Unicode sistemlerden önce ASCII olduğundan bu karakterleri görebilmek için öncelikle türkçe fontlara sahip olmanız gerekir. Eğer bir console uygulaması yapıyorsanız, IDE üzerinde yazdığınız türkçe karakterler düzgün çıkmayacaktır, türkçe karakterlerin ascii kodlarını yazmanız lazım.
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: Türkce karakter

Mesaj gönderen Laz61 »

Slm. aleykum

mkysoft tsk ederim.

Ascii kodu nereye yazacagim. Rasgele erisimli dosyayi ''adres.dat'' olarak kaydediyorum. Ve sisatemin fontlarini kullaniyorum. Kayit esnasinda ''dat'' uzantili dosyalara Türkce karakterleri kaydetmiyor.
dolayisiyla aramalarda istenilen kaydi bulmuyor. Editte Türkce karakterler yazili olsa bile, Türkce karakterler kaydeddilmedigi icin bulmuyor.
Windowsun "Bölge ve Dil sistemin yerel ayari" Türkce olarak degistirdigimde bu sorun ortadan kalkiyor. Ama bu yurtz disinda oldugum icin bana yaramiyor.

tsk. ederim
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: Türkce karakter

Mesaj gönderen Laz61 »

slm. aleykum

Herhalde cözdüm. Dosyalari kaydederken ascii olarak kaydediyormusum. Unicode volarak kaydettigimde oldu.
umarim sorun cikmaz

tsk ederim
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: Türkce karakter

Mesaj gönderen Laz61 »

Slm. aleyküm

Windows Not Defteriyle Kodlama Unicodeyi sectigimde Türkce karakterleri kaydediyor. Fakat programdan kaydetmiyor
Türkce malum karakterlerin yerine baska harfleri dönüstürüyor. Bu kodda eksik olan nedir.

Tsk. ederim

Kayit.UyeN:=TntEdit1.Text;
Kayit.TrH:=TntEdit2.Text;
Kayit.AdS:=TntEdit3.Text;
Kayit.Grv:=TntEdit4.Text;
Kayit.Ee:=TntEdit5.Text;
Kayit.UA:=TntEdit6.Text;
Kayit.Odn:=TntEdit7.Text;
Kayit.OdnM:=TntEdit8.Text;
Kayit.Cnst:=TntEdit9.Text;
Kayit.DyT:=TntEdit10.Text;
Kayit.MhC:=TntEdit11.Text;
Kayit.EvA:=TntEdit12.Text;
Kayit.MIA:=TntEdit13.Text;
Kayit.TeC:=TntEdit14.Text;
Kayit.Ilt:=TntEdit15.Text;
Kayit.WebA:=TntEdit16.Text;
Kayit.UB:=TntRichEdit1.Text;

If MessageDlg('Kaydetmek istiyor musunuz?',
mtInformation,[mbYes,mbNo],0)=mrYes then
Begin
Seek(Random_dosya,FileSize(Random_dosya));
Write(Random_dosya,Kayit);
end;
TntEdit1.Text:='';
TntEdit2.Text:='';
TntEdit3.Text:='';
TntEdit4.Text:='';
TntEdit5.Text:='';
TntEdit6.Text:='';
TntEdit7.Text:='';
TntEdit8.Text:='';
TntEdit9.Text:='';
TntEdit10.Text:='';
TntEdit11.Text:='';
TntEdit12.Text:='';
TntEdit13.Text:='';
TntEdit14.Text:='';
TntEdit15.Text:='';
TntEdit16.Text:='';
TntRichEdit1.Text:='';
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Türkce karakter

Mesaj gönderen mkysoft »

kullandığınız delphi sürümü unicode desteklemiyordur. sanırım en az 2008 gerekiyor. Kullandığınız veri tipleri unicode desteklemiyordur. Bunlara dikkat ediniz.
Laz61
Üye
Mesajlar: 135
Kayıt: 03 Eki 2007 11:51
Konum: Almanya

Re: Türkce karakter

Mesaj gönderen Laz61 »

Slm. aleyküm

Sorunu şöyle hallettim: Fontlab ile Ascii 253 ı harfini, 254 ş, 222 Ş, 240 ğ, 208 Ğ, 221İ harfini koyup fontu derledim.
Ayrıca istenirse ''if key='ü' then key:=#253; yöntemiylede yapılabilir.

Rasgele erişimli dosyalarla ilk defa ilgilendiğim için iki konuya takıldım.
1. Önceden kaydettiğim verileri tekrar kaydetmek istediğim zaman, mantıken bir öncekinin üzerine yazması gerekirken, tekrar kaydetiyor.
2. Önceden kaydettiğim verilerde, daha sonra yaptığım herhangi bir değişikliği kayıt ederken bir önceki gibi kaydediyor, ama son kaydediliş şekliyle ekrana getiriyor.

Rasgele erişimli dosyalarla bu iki konu normalmidir.

Tsk. ederim
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: Türkce karakter

Mesaj gönderen ikutluay »

bu tip dosyalarda kno gibi integer bir alan kullanıp buna göre okuma yazma yapmalısın. teknik olarak turbo pascalda bu numara şöyle hesaplanırdı. diyelimki bir kaydının uzunlugu 100 byte ve sen 10. kaydı istedin. o zaman pascal dosyayı açıp 10x100 byte atlayıp oraya kanumlanıp 100 byte okuyup sana verirdi. mantık işletim sistemi gereği hep böyle olsa gerek.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Cevapla