Unicodda kontrol
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Unicodda kontrol
Arkadaşlar merhaba
Acii kodda olduğu gibi Unicodda da kontrol yapılabilirmi?
Mesela: If RichEdit1.Text[RichEdit1.SelStart] = #65 then
Showmessage('Mehmet Akif');
Aynı Mantığı unicodda gerek karakter gerekse unicode yazarak kullanmak mümkünmü.
Selam ve dua ile...
Acii kodda olduğu gibi Unicodda da kontrol yapılabilirmi?
Mesela: If RichEdit1.Text[RichEdit1.SelStart] = #65 then
Showmessage('Mehmet Akif');
Aynı Mantığı unicodda gerek karakter gerekse unicode yazarak kullanmak mümkünmü.
Selam ve dua ile...
yapamazsınız, hatalı işlem olur,
Tnt unicode bileşen setini indirip kurun. forumda bahsi geçmişti daha önce, TntWideStrUtils unitini ekleyin projenize, oradaki widecopy widepos gibi delphi deki standart string fonksiyonlarının unicodeları var. ayrıca diğer system ve utils unitlerindede faydalı fonksiyonlar var(standart systemdeki fonksiyonların unicodeları mesela)

Kod: Tümünü seç
{*****************************************************************************}
{ }
{ Tnt Delphi Unicode Controls }
{ http://www.tntware.com/delphicontrols/unicode/ }
{ Version: 2.1.17 }
{ }
{ Copyright (c) 2002-2005, Troy Wolbrink (troy.wolbrink@tntware.com) }
{ }
{*****************************************************************************}
unit TntWideStrUtils;
{$INCLUDE TntCompilers.inc}
interface
{ Wide string manipulation functions }
{$IFNDEF COMPILER_9_UP}
function WStrAlloc(Size: Cardinal): PWideChar;
function WStrBufSize(const Str: PWideChar): Cardinal;
{$ENDIF}
function WStrMove(Dest: PWideChar; const Source: PWideChar; Count: Cardinal): PWideChar;
{$IFNDEF COMPILER_9_UP}
function WStrNew(const Str: PWideChar): PWideChar;
procedure WStrDispose(Str: PWideChar);
{$ENDIF}
//---------------------------------------------------------------------------------------------
{$IFNDEF COMPILER_9_UP}
function WStrLen(Str: PWideChar): Cardinal;
function WStrEnd(Str: PWideChar): PWideChar;
{$ENDIF}
function WStrCat(Dest: PWideChar; const Source: PWideChar): PWideChar;
{$IFNDEF COMPILER_9_UP}
function WStrCopy(Dest, Source: PWideChar): PWideChar;
function WStrLCopy(Dest, Source: PWideChar; MaxLen: Cardinal): PWideChar;
function WStrPCopy{TNT-ALLOW WStrPCopy}(Dest: PWideChar; const Source: AnsiString): PWideChar;
function WStrPLCopy{TNT-ALLOW WStrPLCopy}(Dest: PWideChar; const Source: AnsiString; MaxLen: Cardinal): PWideChar;
{$ENDIF}
function WStrScan(const Str: PWideChar; Chr: WideChar): PWideChar;
function WStrComp(Str1, Str2: PWideChar): Integer;
function WStrPos(Str, SubStr: PWideChar): PWideChar;
{ ------------ introduced --------------- }
function WStrECopy(Dest, Source: PWideChar): PWideChar;
function WStrLComp(Str1, Str2: PWideChar; MaxLen: Cardinal): Integer;
function WStrLIComp(Str1, Str2: PWideChar; MaxLen: Cardinal): Integer;
function WStrIComp(Str1, Str2: PWideChar): Integer;
function WStrLower(Str: PWideChar): PWideChar;
function WStrUpper(Str: PWideChar): PWideChar;
function WStrRScan(const Str: PWideChar; Chr: WideChar): PWideChar;
function WStrLCat(Dest: PWideChar; const Source: PWideChar; MaxLen: Cardinal): PWideChar;
function WStrPas(const Str: PWideChar): WideString;
{ SysUtils.pas } //-------------------------------------------------------------------------
function WideLastChar(const S: WideString): PWideChar;
function WideQuotedStr(const S: WideString; Quote: WideChar): WideString;
{$IFNDEF COMPILER_9_UP}
function WideExtractQuotedStr(var Src: PWideChar; Quote: WideChar): Widestring;
{$ENDIF}
function WideDequotedStr(const S: WideString; AQuote: WideChar): WideString;
.-.-.-.-.-.-.-. ^_^
Selamun aleykum
Eline diline gonluna saglik
Tnt Unicodlarini daha once denemistim.
Bu sefer bir turlu yapamadim. Bu hususta tekrar kitaplari karistirdim olmadi. Iki gundur webde dolasiyorum bir turlu uygun component bulamadim. Buldugum komponentlerle yazabiliyorum ama kod sayfasindan inicodla #65253 gibi kontrol yapamiyorum. Bu konuda tnt componentlerin yapip yapmadiginida bilmiyorum.
Bir tane buldum calisiyordu ama tam surum olmadigi icin tam calismiyordu sildim. ismini hatirlayamadigim icin maalesef tekrar bulamiyorum.
Emin olun usandim aramak ve denemekten yardim ederseniz memnun olurum
Selamlar
Eline diline gonluna saglik
Tnt Unicodlarini daha once denemistim.
Bu sefer bir turlu yapamadim. Bu hususta tekrar kitaplari karistirdim olmadi. Iki gundur webde dolasiyorum bir turlu uygun component bulamadim. Buldugum komponentlerle yazabiliyorum ama kod sayfasindan inicodla #65253 gibi kontrol yapamiyorum. Bu konuda tnt componentlerin yapip yapmadiginida bilmiyorum.
Bir tane buldum calisiyordu ama tam surum olmadigi icin tam calismiyordu sildim. ismini hatirlayamadigim icin maalesef tekrar bulamiyorum.
Emin olun usandim aramak ve denemekten yardim ederseniz memnun olurum
Selamlar
- fatihtolgaata
- Üye
- Mesajlar: 382
- Kayıt: 04 Mar 2004 09:46
- Konum: K.çekmece / İstanbul
- İletişim:
Sorun
Merhaba
Once ilginizden dolayi tesekkur
Sorun: Rich editte unicodla yazilmis bir metni kontrol etmek.
Mesela:
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
If RichEdit1.Text[RichEdit1.SelStart] = #65253 then
Showmessage('Mehmet Akif'); gibi.
end;
end.
Yani bilesen buradaki unicodu tanimasi lazim. Degilse hata veriyor. Bu sekliyle kontrol yapilamiyor.
Aslinda unicodla yazilmis metni bu sekilde kontrol eden componentler var. Bir defa bulmustum daha bulamadim.
Selamlar
Once ilginizden dolayi tesekkur
Sorun: Rich editte unicodla yazilmis bir metni kontrol etmek.
Mesela:
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
If RichEdit1.Text[RichEdit1.SelStart] = #65253 then
Showmessage('Mehmet Akif'); gibi.
end;
end.
Yani bilesen buradaki unicodu tanimasi lazim. Degilse hata veriyor. Bu sekliyle kontrol yapilamiyor.
Aslinda unicodla yazilmis metni bu sekilde kontrol eden componentler var. Bir defa bulmustum daha bulamadim.
Selamlar
- fatihtolgaata
- Üye
- Mesajlar: 382
- Kayıt: 04 Mar 2004 09:46
- Konum: K.çekmece / İstanbul
- İletişim:
Birincisi Richedit unicode değil. İçine unicode yazılsa dahi, siz Lines ile işlem yaparsanız TStringList'i kullanacağınızdan ansi, veya Text ile işlem yaparsanız string olacağından yine ansi sonuç alırsınız. Size daima ansi gelir. Yani #255 ve yukarısına çıkamazsınız. Bunun yerine işlemlerinizi TntRichEdit ile yaparsanız Lines özelliği TWideStringList ve Text özelliği de WideString olacaktır. Böylelikle karakter sınır #65535'e çıkacak ve siz #65253 kontrolünü yapabileceksiniz.
kolay gele.
kolay gele.
Unicode
Tesekkurler
Sorunda bu ya. Ben "tnt"yi denedim bir turlu derleyemedim. Nekadar denediysem hata veriyor. "Lmd" zaten olmuyor. Yani unicodla yazilabiliyor ama kontrol yapilamiyor.
http://www.tsilang.com
http://www.sicomponents.com
Buradaki sitede labele ait bir component var ve sozkonusu islemi yapiyor. Fakat richedit componenti yok. Herhalde demo versiyonu.
Nerede hata yaptigimi bilmiyorum. Eger mumkunse tnt nin derleme asamalarini kisaca izah edermisiniz
Selamlar
Selamlar
Sorunda bu ya. Ben "tnt"yi denedim bir turlu derleyemedim. Nekadar denediysem hata veriyor. "Lmd" zaten olmuyor. Yani unicodla yazilabiliyor ama kontrol yapilamiyor.
http://www.tsilang.com
http://www.sicomponents.com
Buradaki sitede labele ait bir component var ve sozkonusu islemi yapiyor. Fakat richedit componenti yok. Herhalde demo versiyonu.
Nerede hata yaptigimi bilmiyorum. Eger mumkunse tnt nin derleme asamalarini kisaca izah edermisiniz
Selamlar
Selamlar
- fatihtolgaata
- Üye
- Mesajlar: 382
- Kayıt: 04 Mar 2004 09:46
- Konum: K.çekmece / İstanbul
- İletişim:
derlenme aşaması olarak bileşen kurulumunu kast ediyorsunu herhalde. Birincisi Tnt'nin son sürümünü buradan indiriyorum:
http://download.tntware.com/delphi_unic ... ntrols.zip
İkincisi bunu silmeyeceğim sabit bir yere açıyorum. Ardından açtığımız bu klasörü Delphi'nin library path'ine ekliyorum. Ardından Hangi delphi sürümün kullanıyorsam, klasör içindeki packages klasöründeki ilgili xxxVcl ve xxxVcl_Design paketlerini delphi ile açıyorum. Burada D2005 için d9, ve D2006 için d10 klasörlerini kullanıyorum. Sonra bu paketleri build yapıp, derliyorum. Burada bir yanlışlık olmaması gerek çünkü d6 ve yukarısı için her paket bulunmakta. Eğer D2005 ve yukarısını kullanıyorsanız BPL dosyaları Belgelerim klasöründe Borland Studio Projects altında olacaktır. Ardından oluşan bu bpl dosyalarını Components menüsü altındaki "Install Package" ile kurun.
kolay gele.
http://download.tntware.com/delphi_unic ... ntrols.zip
İkincisi bunu silmeyeceğim sabit bir yere açıyorum. Ardından açtığımız bu klasörü Delphi'nin library path'ine ekliyorum. Ardından Hangi delphi sürümün kullanıyorsam, klasör içindeki packages klasöründeki ilgili xxxVcl ve xxxVcl_Design paketlerini delphi ile açıyorum. Burada D2005 için d9, ve D2006 için d10 klasörlerini kullanıyorum. Sonra bu paketleri build yapıp, derliyorum. Burada bir yanlışlık olmaması gerek çünkü d6 ve yukarısı için her paket bulunmakta. Eğer D2005 ve yukarısını kullanıyorsanız BPL dosyaları Belgelerim klasöründe Borland Studio Projects altında olacaktır. Ardından oluşan bu bpl dosyalarını Components menüsü altındaki "Install Package" ile kurun.
kolay gele.
Merhaba
Eline, diline ve gonlune saglik
Ben derlemeyi cesitli komponentlerle defalarca denemistim. Eski derlenmis dosyalar silinmesi gerekiyormus. Netice delphiyi tekrar yuleyerek denedim ve oldu. Tnt komponenti denemedim, Arap diliyle ilgili bir komponenti denedim oldu. Ve mantigi asagi yukari ogrendim. Oldukca kompliziert. Fakat sadra sifa heniz olmadi.
Her sey gonlunuzce olsun
Ben derlemeyi cesitli komponentlerle defalarca denemistim. Eski derlenmis dosyalar silinmesi gerekiyormus. Netice delphiyi tekrar yuleyerek denedim ve oldu. Tnt komponenti denemedim, Arap diliyle ilgili bir komponenti denedim oldu. Ve mantigi asagi yukari ogrendim. Oldukca kompliziert. Fakat sadra sifa heniz olmadi.
Her sey gonlunuzce olsun