InStrRev Komutunun Kullanımı

1 2
12/01/2010, 12:56

qhuan

Arkadaşlar merhaba,

Hazırladığım programda; bir tabloda yer alan "C:\1\Tml\Access1.exe" alanından, datanın son kısmı olan "access.exe"yi nasıl alırım diye araştırma yaparken "InStrRev" komutu ile karşılaştım.

Bu konutum kullanımı ile ilgili internette bulduğum örnek şu şekilde;


y = Left$(Text0, InStrRev(Text0, "\") - 1)
bu hali ile, yukardaki datadan sadece ""C:\1\Tml" kısmını alıyor. Yani benim istediğimin tam tersini... Left'i right yapmama ve birkaç farklı kombinasyon denememe rağmen bi sonuç alamadım...

Üstatlar da yardımcı olursa, hem benim sorunum çözülmüş olur, hem de diğer arkadaşlar bu komutun kullanımını öğrenmiş olur.


Şimdiden Teşekkürler.
Saygılarımla,
12/01/2010, 13:42

alpeki99

Bir buton ve metin kutusu olsun. Metin kutusunun adı Metin1 olsun. Bu şartlara göre kodunuz şu şekilde olacaktır:

Kod:
toplam_karakter = Len(Metin1)

istemedigim_yer_uzunlugu = Len(Left$(Metin1, InStrRev(Metin1, "\") - 1)) + 1

alacagim_yer = toplam_karakter - istemedigim_yer_uzunlugu
mesaj = Right$(Metin1, alacagim_yer)
MsgBox mesaj

bu kodu butonun tıklanma olayına yazın.
12/01/2010, 15:01

qhuan

Teşekkürler Sn.Alpeki99...
Ama benim söylemek istediğim "len" fonksiyonu değil, tüm metinin son "\"'den kısmı. yani, "accees1" kısmı.....
12/01/2010, 17:51

alpeki99

Örnek dosyada bu kodları dediğim gibi yapıp denediniz mi? Yoksa sadece kodlara bakıptamı cevap yazdınız?
12/01/2010, 18:15

qhuan

Denedim, metin2 olarak yazdırdığım yer "10" olarak ifade getirdi....


Saygılarımla,
12/01/2010, 18:22

alpeki99

Ben buradaki kodu zaten test edip eklemiştim. Bendeki örnek dosya bu ve çalışıyor. Bir yerde yanlış olmalı.
Toplam 4 adet Metin1 vardı birini gözden kaçırmış olmalısınız.
1 2