replace komutu

1 2 3
26/08/2010, 15:38

accessman

iyi günler
metin içerisindeki belli kelimeleri değiştirmek için kullandığımız
bu komutu içerisinde "" geçen kelimelerde nasıl kullanıyoruz
mesela metnimiz şöyle olsun
bugün okula "arabayla" gittim.dün "arabayla" çarşıya gitmiştim.
ilk "arabayla" kelimesini "bisikletle" şekline çevirmek istiyoruz
şunu yazarsak
Replace(metin, "arabayla", "bisikletle")
heriki arabayla kelimesini değiştirecek
halbuki biz sadece ilk arabayla kelimesini değiştireceğiz
ozaman bende şöyle düşündüm
Replace(metin, "okula "arabayla"", "okula "bisikletle"")
yazınca
type mismatch
uyarısı veriyor
nasıl bir kod yazmam lazım
içerisinde "" geçen kelimeleride değiştirebileyim
26/08/2010, 15:53

alpeki99

Kod:
Dim sonuc As String
Dim kelime2 As String
Dim kelime1 As String

kelime1 = Chr(34) & "olcay" & Chr(34)
kelime2 = Chr(34) & "zumrut" & Chr(34)

    sonuc = Replace(Metin0, kelime1, kelime2, 1, , vbTextCompare)
    MsgBox sonuc

Forma ekleyecekleriniz:

1 Adet Metin Kutusu --> Metin0 adında
1 Adet Buton --> Ne isim verirseniz artık

Butonun tıklanma olayına yukarıdaki kodu yazacaksınız. Metin kutusunun içine Merhaba "olcay" nasılsın yazıp butona tıklayın.
26/08/2010, 16:12

accessman

teşekkürler
sonuc = Replace(Metin0, kelime1, kelime2, 1, , vbTextCompare)
satırında
olcay yerine zümrüt yazıyor
, , vbTextCompare
kısımlarının manası nedir
26/08/2010, 16:30

alpeki99

Çift tırnak işareti yerine Chr(34) kullanıyoruz. 1 diye geçen yer hangi karakterden itibaren kontrol edileceğini ifade ediyor. vbTextCompare kısmında 3 seçenek vardır. Binary, Database ve Text. Biz metin karşılaştıracağımız için vbTextCompare seçtik.

Orada olcay yerine zümrüt yazarken çift tırnaklar ile yazdığını gözden kaçırmayın. İşin esprisi zaten çift tırnak.
26/08/2010, 16:39

accessman

mesela
a değişkeni integer
a= 6 + 8 + 9
ilk + işaretini nasıl - yaparız
a= replace (a, "+","-")
olurmu
veya şöyle ifade edeyim
a = b + c + d
hepsi integer
sadece ilk + yı - yapmak için ne yazmalıyız

26/08/2010, 16:52

alpeki99

Kod:
Dim sonuc As String

    sonuc = Replace(Metin0, "+", "-", 1, 1, vbTextCompare)
    MsgBox sonuc

Aynı butonun tıklama koduna bunları yazmalısınız. Burada öncekine göre dikkat ederseniz, 1, 1 gelmiş. İkinci 1 rakamının ne olduğunu anlamak isterseniz 2 yazın onun yerine.
1 2 3