1

Konu: Editbox'ta sağ tıklamakla küçük harfe dönüştürmek

Merhaba,

EditBox'ta kullandığım (RightClick event) klasik kes/yapıştır menüm (aşağıda) var. Buna, seçilen texti küçük (ya da büyük) harfe dönüştüren bir seçenek eklemek istiyorum.
Nasıl yapabilirim?
Yardımlarınız için teşekkür ederim.

Visual Fox Pro
PROCEDURE SagTiklaMenu

LPARAMETERS oREF
DEFINE POPUP sagtik SHORTCUT RELATIVE FROM MROW(), MCOL()
DEFINE BAR _med_cut OF sagtik PROMPT "Kes            CTRL+X" FONT "Calibri",12 SKIP FOR oREF.SelLength=0 .OR. oREF.ReadOnly
DEFINE BAR _med_copy OF sagtik PROMPT "Kopyala     CTRL+C" FONT "Calibri",12 SKIP FOR oREF.SelLength=0
DEFINE BAR _med_paste OF sagtik PROMPT "Yapıştır      CTRL+V" FONT "Calibri",12 SKIP FOR EMPTY(_CLIPTEXT) .OR. oREF.ReadOnly
DEFINE BAR 2 OF sagtik PROMPT "\-"
DEFINE BAR _med_undo OF sagtik PROMPT "Geri Al       CTRL+Z" FONT "Calibri",12 SKIP FOR oREF.ReadOnly
ACTIVATE POPUP sagtik
ENDPROC

2 Son düzenleyen, KONURALP (08.01.2013 18:25:42)

Re: Editbox'ta sağ tıklamakla küçük harfe dönüştürmek

Küçük harf den büyük harfe, büyük harf den küçük harfe alttaki gibi kullanıyorum.

KELIME="ĞÜŞİÖÇğüşiöç"
? Upper(Chrtran( KELIME,'iı','İI'))
? Lower(Chrtran( KELIME,'İI','iı'))
Genelde "ı" ve "i" lerde  sorun çıkıyordu diye hatırlıyorum.
Baktım çıkıyormuş gerçekten.



Sağ klik i alttaki biçimde kullanabilirsin. Ama editbox daki yazıyı hemen düzeltirken başka sorunlar olur gibi geliyor.


Define Popup myPopup SHORTCUT Relative From Mrow(),Mcol()

Define Bar 1 Of myPopup Prompt " 1. yazı"
Define Bar 2 Of myPopup Prompt " 2. yazı"

Define Bar 10 Of myPopup Prompt "\-"

Define Bar 20 Of myPopup Prompt "Menüyü kapat"

On Selection Bar 1 Of myPopup  1.prg
On Selection Bar 2 Of myPopup  2.prg
On Selection Bar 20 Of myPopup Deacti Popup myPopup

Activate Popup myPopup

3

Re: Editbox'ta sağ tıklamakla küçük harfe dönüştürmek

Sorunum, oRef'i nasıl işleyeceğim idi. Yani oref text değil, obje.

Biraz uğraşınca çözdüm. Türkçelerde de sorun yok.
Burada oRef textbox'ın kendisi oluyor(muş).
Kod şöyle oldu:

Visual Fox Pro
DEFINE POPUP sagtik SHORTCUT RELATIVE FROM MROW(), MCOL()

 
DEFINE BAR _med_cut OF sagtik PROMPT "Kes            CTRL+X" FONT "Calibri",12 SKIP FOR oREF.SelLength=0 .OR. oREF.ReadOnly
 
DEFINE BAR _med_copy OF sagtik PROMPT "Kopyala     CTRL+C" FONT "Calibri",12 SKIP FOR oREF.SelLength=0
 
DEFINE BAR _med_paste OF sagtik PROMPT "Yapıştır      CTRL+V" FONT "Calibri",12 SKIP FOR EMPTY(_CLIPTEXT) .OR. oREF.ReadOnly
 
DEFINE BAR 2 OF sagtik PROMPT "\-"
 
DEFINE BAR _med_undo OF sagtik PROMPT "Geri Al       CTRL+Z" FONT "Calibri",12 SKIP FOR oREF.ReadOnly
 
DEFINE BAR 3 OF sagtik PROMPT "Küçük harfe dönüştür" FONT "Calibri",12  SKIP FOR oREF.SelLength=0 OR oREF.ReadOnly
ON SELECTION BAR 3 DO KUCUK WITH oRef
 
ACTIVATE POPUP sagtik
 
ENDPROC
 
PROCEDURE KUCUK
lparameters oRef
LOCAL lctxt
m.lctxt=oref.seltext
m.lctxt=STRTRAN(m.lctxt,"İ","i")
m.lctxt=STRTRAN(m.lctxt,"Ş","ş")
m.lctxt=STRTRAN(m.lctxt,"Ğ","ğ")
m.lctxt=STRTRAN(m.lctxt,"Ö","ö")
m.lctxt=STRTRAN(m.lctxt,"Ü","ü")
m.lctxt=STRTRAN(m.lctxt,"Ç","ç")
m.lctxt=STRTRAN(m.lctxt,"I","ı")
m.lctxt=LOWER(m.lctxt)
oRef.seltext=m.lctxt
ENDPROC


İlginize teşekkür ederim.

4

Re: Editbox'ta sağ tıklamakla küçük harfe dönüştürmek

Procedure Kucuk icin alternative versiyon(lar):


Visual Fox Pro
PROCEDURE KUCUK

lparameters oRef
 
return LOWER(CHRTRAN(oref.seltext,"İŞĞÖÜÇI","işğöüçı"))
 
ENDPROC



Visual Fox Pro
PROCEDURE KUCUK

lparameters oRef
 
return LOWER(CHRTRAN(oref.seltext,"İI","iı"))
 
ENDPROC

5

Re: Editbox'ta sağ tıklamakla küçük harfe dönüştürmek

Katkılarınız için teşekkür ederim Çetin Bey.

Sizin kodu görünce yıllar önce bir yerde okuduğum yazı aklıma geldi.
Bir zamanlar IBM ile Microsoft'un yazılımcıları DOS ((yanılmıyorsam) üzerinde ortak çalışırlarken, IBM mühendislerinin yazdığı bir sayfalık bir kodu gören bir MS yazılımcısı bir iki dakika içinde okuyup anlayıp sadece ve sadece 2 satırda aynı işlevi gören kod yazarak işi bitirmiş!