Arama

Visualbasic'te Değişkenler

Güncelleme: 3 Temmuz 2013 Gösterim: 4.351 Cevap: 0
vain - avatarı
vain
Ziyaretçi
16 Şubat 2007       Mesaj #1
vain - avatarı
Ziyaretçi
Visual Basic'te Değişkenler

Sponsorlu Bağlantılar
Bir programda değişken çok önemlidir.
Değişkenler, değişen değeri tutarlar. Mesela değişkenin adı Aylar ise, bu değişkenin değeri "Ocak, Şubar, Mart..." diye giden aylar olacaktır. Değişkenler, türlerine göre bir ya da daha fazla değer tutabilirler. Adı üstünde, değişken, her zaman değişir.. Bu değişikliği biz de yapabiliriz, program da yapabilir.
Değişkenlerin tanımlanması "DIM" komutu ile yapılır. DIM, dimension "boyutlandır" kelimesinin kısaltılmışıdır. Tanımlayacağımız değişken adının önüne Dim yazarız. Mesela:
<%
Dim Ay, Gun, Sayi, İsim

Ay = "Ocak"
Gun = "Pazartesi"
Sayi = 3
İsim = "BUSE"
%>

Burada önce değişkenlerimizi tanımladık. Birden fazla da değişkenimiz olabilir. Bunun için değişkenlerin arasına virgül koyarak yaparız. Değişken isimlerimizde Türkçe karakter kullanmamaya özen göstermeliyiz. Değişken isimleri mutlaka harfle başlamalıdır, içinde noktalama işaretleri bulunamaz ve uzunluğu 255 karakteri geçemez. Zaten 255 karakterden uzun bir değişken de işimizi zorlaştırır diye düşünüyorumMsn Happy
Değişkenlerin isimlerini belirledikten sonra onlara bazı değerler atadık. Ay isimli değişkenimizin değeri "Ocak" oldu. Buna göre VBScript yorumlayıcısına, "VBScript yorumlayıcısı kardeş, Ay değişkeninin değeri nedir?" diye sorduğumuzda, "Bunu bilmeyecek ne var? Ocak'tır" diyecektir.

Şimdi şöyle bir değişken tanımladığımızı düşünelim, acaba ortaya nasıl bir değişken çıkar? :
<%
Dim Aylar(12), Gunler(31), İsimler(10)
%>

Bu yöntemle oluşturduğumuz kodlarla elde edilecek "kaplar," birden fazla değer tutabilir:
<%
Dim Aylar(12), Gunler(7), İsimler(10)

Aylar(5) = "Mayıs"
Gunler(2) = "Salı"
İsimlerMsn Note = "Hasan"
%>


Bu durumda, içinde 12 ayrı değişken tutabilecek olan Aylar değişkeninin 5 numaralı değeri "Mayıs", 7 değer tutabilecek olan Gunler değişkeninin 2 numaralı değeri "Salı" ve 10 değer tutabilecek olan İsimler değişkeninin 8 numaralı değeri "Hasan" olacaktır. Böyle, birden fazla değer tutabilen değişkenlere Dizi Değişken veya Array denir.

Array Fonksiyonu
VBScript' in kullanıma hazır bir çok fonksiyounu vardır, bunlardan biri olan Array ile kolayca dizi değişken oluşturabiliriz.
Örneğin, Gunler(7) dizi-değişkenini isimler ile doldurmak istiyoruz:

<%
Dim İsimler = Array ("Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar")
%>


Böylece hem dizi değişkeni oluşturabiliriz, hem de değerlerini atayabiliriz. Buna göre daha sonra dizi değişkenin üyelerini sıra numarası ile çağırabiliriz:
<%= Gunler(5) %>
bize "Cumartesi" değerini verir. Neden mi? Çünkü dil tasarımcıları, sayı saymaya biz dünyalılar gibi 1' den değil de 0' dan başlarlar. Dolayısıyla Gunler dizi değişkeni Gunler(0)' dan başlayacaktır.

<html>
<%
Dim Degisken(2), Toplam
Degisken(1) = "BUSE"
Degisken(2) = "NUR"
Toplam = Degisken(1) + Degisken(2)
%>

<%= Toplam %>
</html>
Bu sayfayı çalıştırdığımızda sayfaya BUSENUR yazıldı değil mi? (Arada boşluk olmayışına aldırmayın. Daha sonra göreceğiz.) Şimdi Değişken(1)' in değeri olarak "BUSE" yerine tırnak içinde 3, NUR değeri yerine yine tırnak içinde 10 yazın. Şimdi sayfayı tekrar açalım. Sonuç? 310 değil mi? Şimdi tırnakları kaldırın 3 ve 10 ' un çevresinden. Sonuç? Doğru sonuç aldığınızdan eminim. Sayıların çevresinden tırnak işaretlerini kaldırınca VBScript bunların sayı olduğunu anladı ve işlemi ona göre yaptı.
SABİTLER (CONST)
VBScript' de bir kere tanımladığımızda bir daha değişmesini istemediğimiz unusurlar olabilir. Bunlara değişken diyemeyiz. Öyle değil mi? O zaman onlara Sabit Değerler diyelim. Sabit değer, bütün site boyunca yani uygulama boyunca değişmeden kalır. Bu değerleri Const (constant, sabit kelimesinden türetilme) komuyutla yaparız:

Const Siteadi = "ASPnedir?com"
Const Slogan = "En iyi kaynak"

VBScript'in kullandığı tek tür değişkene variant denir. Variant, karakter dizini (String) de olabilir, sayı (number) ' da. Fakat bir Variant'ın içindeki değer, veri olarak nitelendiğinde şu türlerden birine girer:
Boolean: Değişkenin değeri ya True (doğru) ya da False (Yanlış) olur. True' nun değeri -1, False' un değeri ise 0' dır.

Byte: 0 ile 255 arasında bir sayısal değeri olabilir.
Double: Yüzen noktalı değer denilen veri türüdür. Pozitif sayılar için 4.9E-324 ile 1.8E308 arasında, negatif sayılarda -4.9E-324 ile 1.8E308 arasında bir değer alabilir.
Date/Time: Önceden belirlenmiş biçimlerde tarih ve zaman bilgisi içerir.
Empty: Tanımlanmış ancak henüz değer atanmamış (boş) değişken türüdür.
Error: Programın hata mesajlarını ve hata değerlerini tutar.
Integer: Noktalık bölüm içermeyen tamsayı verilerdir, değeri
-32.768 ile +32.767 arasında olabilir.

Long: Noktalık bölüm içermeyen tamsayı verilerdir; değeri -2.147.483.648 ile 2.147.483.648 arasında olabilir.
Null: İçinde bulunmamak üzere tanımlanmış değişkenlerdir.
Object: Windows OLE nesnelerini tutmak üzere tanımlanmış değişkenlerdir.
Single: Yüzen noktalı değer denilen veri türüdür. Pozitif sayılar için 1.4E.45 ile 3.4E38 arasında, negatif sayılarda -1.4E-45 ile -3.4E38 arasında bir değer alabilir.
String: Alfanumerik veri tutan değişkenlerin değeridir.

Visual Basic - Sayısal Fonksiyonlar

Programlarımız içerisinde hezaman metinsel bazlı değil bazende sayısal bazlı işlemler yaparız. Bu işelmlerimizi ise bazı hazır fonsyonlar sayesinde kolay hale getirebiliriz. Sayısal işlemler :
Kullanılan tüm sayısal fonksiyonarın kullanım biçimi aynıdır. Fonsiyon sonucu bir değişkene atılır ve işlemlerimize devam edilir. Matematik te kullanılan tüm foksiyonlar aynen geçerlidir bunların bazıları Cos, Sin, Tan, CoTan, Log, Ln vb.. şeklindedir. Kısa kısa bu fonksiyonlara değinelim.
Atn : Bir sayının arctanjantını verir.
Cos : Bir açının cosinusunu verir.
Exp : Bir sayının (onluk tabanda) üssünü alır.
Log : Bir doğal sayının logaritmasını alır.
Randomize : Rastgele sayı üreticisine ilk değer atar.
Rnd : Rastgele sayı üretir.
Sin : Bir açının sinüsünü verir.
Sqr : Bir sayının karekökünü verir.
Tan : Bir sayının tanjantını verir.
<%
Option Explicit
Dim Sayi, Sonuc
Sayi = 90
Sonuc = Cos(Sayi)
respose.write Sonuc
%>

Sonuç olarak '90' sayısının kosinisü olan '-0,4480' değeri çıkar (unutmayın trigonometrik işlemlerde asp dili radyan cinsinden işlem yapar.)
Tarih işlemleri :
Visual basic programlama dilinin hemen hemen tüm zaman fonsyonları vbscript'te de aynen kullanılır. Bunlara ek olarak extra birkaç fonksiyon eklenmiştir. Bu fonksiyonları sırayla inceleyelim;
Date : O anki tarihi verir (25.07.1997 gibi)
<%
Option Explicit
Dim Tarih
Tarih = Date()
respose.write Tarih
%>

Time : O anki zamanı verir (03:11:40 gibi)
<%
Option Explicit
Dim Saat
Saat = Time()
respose.write Saat
%>

Now : O anki tarih ve saati aynı anda verir. (25.07.1997 03:11:40 gibi)
<%
Option Explicit
Dim Simdi
Simdi = Now()
respose.write Simdi
%>

Weekday : Verilen tarihteki günün haftanın kaçıncı günü olduğunu verir (1 gibi)
<%
Option Explicit
Dim Gun
Gun = Weekday(Date)
respose.write Gun
%>

Weekdayname : Verilen değere karşılık gelen gün ismini verir. (1 için Pazar gibi)
<%
Option Explicit
Dim Tarih
Tarih = WeekDayName(1)
respose.write Tarih
%>

Month : Verilen tarihteki ayın sayısal olarak değerini verir. (06.05.2001 için 5 gibi)
<%
Option Explicit
Dim Ay
Ay = Month(date)
respose.write Ay
%>

Monthname : Verilen değere karşılık gelen ay adını verir. (5 için Mayıs gibi)
<%
Option Explicit
Dim Tarih
Tarih = MonthName(5)
respose.write Tarih
%>

Day : Verilen tarihin gün kısmını sayısal olarak verir. (25.07.1997 için 25 gibi)
<%
Option Explicit
Dim Gun
Gun = Day(date)
respose.write Gun
%>

Year : Verilen tarihin yıl kısmını sayısal olarak verir. (25.07.1997 için 1997 gibi)
<%
Option Explicit
Dim Yil
Yil = Year(date)
respose.write Yil
%>

Vbscript, bu değerleri dorudan işletim sisteminden alacağı için bölgesel ayarlar olarak nasıl tanımlanmışsa öyle gösterilecektir. Eğer serverda tarih ve saat Türkçe ayarlanmamışsa programda da ayarlı standarta göre veriler işlenecektir. Örneğin İngiltere standartlarına göre ayarlanmış bir server da ay adları Ocak, Şubat şeklinde değil January, February biçiminde dönecektir bunlara dikkat edersek programlama içerisinde yanılgılara düşmemiş oluruz.
Test İşlemleri :
Bazen de değişkenlerimizin hangi tip de olduğunu sınamamız gerekir bu eksiği kapatmak için vbscript içerisinde test fonksiyonları geliştirilmiştir. Bu fonksiyonlardan dönen değer 1 veya 0 yani doğru yada yanlıştır. Bu fonsiyonlar şunlardır.
Isarray : değişkenin dizi değişken (array) olup olmadığını sınamak için kullanılır.
Isdate : değişkenin değereinin tarih olup olmadığını sınamak için kullanılır.
<%
Option Explicit
Dim Tarih, sonuc
Tarih = 25/07/1997
Sonuc = Isdate(Tarih)
respose.write Sonuc
%>

Sonuç true olur. Çünkü verdiğimiz değişken bir tarihtir.
Isempty : değişkenin bir veriye sahip olup olmadığını sınamak için kullanılır.
<%
Option Explicit
Dim Isim, Bos
Isim = 'Seda Onur'u seviyor'
Bos = Isempty(Isim)
respose.write Bos
%>

Isnull : değişkene tanımlandıktan sonra hiç değer atanıp atanmadığını sınamak için kullanılır.
<%
Option Explicit
Dim Isim, Bos
Isim = 'Deniz'
Bos = Isnull(Isim)
respose.write Bos
%>

Çıktı olarak False yani yanlış sonucu verir çünkü değişkene değer atadık.
Isnumeric : değişkenin sayısal bir değer olup olmadığını sınamak içine kullanılır.
Program çıktısı olarak False değeri dönecektir. Çünkü isempty fonsiyonu ile sınadığımız değişkenin bir değeri var.
Dönüştürme işlemleri
Bazende değişkenlerin birbirleri arasında dönüştürülmesi gerekebilir. Bu dönüştürme fonksiyonları şunlardır. (Bu fonksiyonların uygulamalarını ileri uygulamalarımızda yapıcağız.)
Asc : Bir karakterin numerik ANSI kod sayısını dödürür.
Chr : bir numerik ANSI sayısını karaktere dönüştürür.
Cbool : variantı boolean alt tipine dönüştürür.
Cbyte : variantı byte alt tipine dönüştürür.
Cdate : variantı date alt tipine dönüştürür.
Cint : variantı integer alt tipine dönüştürür.
Cstr : variantı string alt tipine dönüştürür.
Int : Bir sayının tamsayı kısmını verir.
Sgn : bir sayının işaret fonksiyonunu verir.

Visual Basic String Fonksiyonları

SIK KULLANILAN FONKSİYONLAR
Elimizin altında bulunması gereken, sıklıkla kullandığımız fonksiyonları inceliycez.
INSTR
Bir string ifade içindeki aranacak olan başka bir string ifadenin kaçıncı pozisyonda olduğunu belirler.
Kullanımı; Instr(başlangıç, aranacak_ifade, aranan_ifade)
Örneğin ASPNEDıR kelimesi içinde N harfinin kaçıncı pozisyonda olduğunu bulalım;
deger=InStr(1 , "ASPNEDıR", "N")
Geri dönen değer 4 dür. Burada ASPNEDıR ifadesi içinde 1. harfden başlayarak N harfinin kaçıncı eleman olduğunu bulduruyoruz.
LEFT
String ifadenin soldan istenilen kadar bilgisini geri gönderir.
Kullanımı; Left(string_ifade, alınacak_karakter_sayısı)
Left("ASPNEDıR", 3) kullanımı sonunda soldan ASPNEDıR kelimesinde 3 harf alacaktır ve dönen değer ASP olacaktır.
STRREVERSE
String ifadeyi tersine çevirip ekrana yazar.
Kullanımı; strReverse(string_ifade)
strReverse("ASPNEDıR") ifadesinde geriye dönen değer RıDENPSA olacaktır.
LEN
Gönderilen string ifadenin kaç karakterden oluştuğunu geri gönderir.
Kullanımı; LEN(string_ifade)
len("ASPNEDıR") örneğinde geriye dönen değer 8 olacaktır.
MID
Gönderilen ifade de belirtilen karekter pozisyonundan itibaren istenilen kadar değeri geri gönderir.
Mid(string_ifade,başlangıç_noktası,[alınacak karakter sayısı]) Alıcanacak karakter sayısı opsiyoneldir. Eğer belirtilmezse ifadenin sonuna kadar alacaktır.
Mid("ASPNEDıR", 4, 2) ifadesinde geriye dönen değer NE olacaktır.
REPLACE
Gönderilen string ifade içerisinde belitilen karakteri başka bir karatere çevirir.
Kullanımı:
REPLACE(string_ifade,değiştirilecek_karakter,değişecek_karakter)

Replace("ASPNEDıR", "N", "NN") sonucunda ASPNNEDıR olacaktır.
RIGHT
String ifadenin sağdan istenilen kadar bilgisini geri gönderir.
Kullanımı; RIGHT(string_ifade, alınacak_karakter_sayısı)
RIGHT("ASPNEDıR", 3) kullanımı sonunda soldan ASPNEDıR kelimesinde 3 harf alacaktır ve dönen değer DIR olacaktır.
UCASE
Gönderilen string ifadeki küçük harfleri büyük harfe çevirir.
Kullanımı; UCASE(string_ifade)
UCase("aspnedir") sonucunda ASPNEDıR göndericektir.
LCASE
Gönderilen string ifadeki büyük harfleri küçük harfe çevirir.
Kullanımı; LCASE(string_ifade)
LCase("ASPNEDıR") sonucunda aspnedir göndericektir.
DAY
Gönderilen tarihde geriye sadece o tarihin gününü gönderir.
Kullanımı; DAY(tarih)
DAY(26.09.2001) sonucunda 26 göndericektir.
MONTH
Gönderilen tarihde geriye sadece o tarihin ayını gönderir.
Kullanımı; MONTH(tarih)
MONTH(26.09.2001) sonucunda 09 göndericektir.
YEAR
Gönderilen tarihde geriye sadece o tarihin yılını gönderir.
Kullanımı; YEAR(tarih)
YEAR(26.09.2001) sonucunda 2001 göndericektir.
ARRAY
Dizi tanımlarız. Yani bir değişkende birden fazla değer tutulur. Dizi elemanları 0 dan başlar.
Kullanımı; ARRAY(dizielemanı0,dizielemanı1,dizielemanı2,...)
Meyveler = Array("Elma","Armut","Muz")
Favori = Meyveler(1)

Favori değişkeninin aldığı değer Armut olacaktır.
SECOND
Saat bilgisinden sadece saniye kısmını alır.
Kullanımı; Second(Saat)
MINUTE
Saat bilgisinden sadece dakika kısmını alır.
Kullanımı; Minute(Saat)
HOUR
Saat bilgisinden sadece saat kısmını alır.
Kullanımı; HOUR(Saat)

Ekstra Bilgiler:

Alıntı
vain adlı kullanıcıdan alıntı

String Fonksiyonları String Fonksiyonları-ASC Fonksiyonu
Verilen string'in ilk karakterinin ASCII kodunu geri döndürür. Genel yazım biçimi şu şekildedir:

A% = ASC(String)



CHR$ Fonksiyonu
0 ile 255 arasında girilen sayının ASCII karakterini geri döndürür. Genel yazım biçimi şu şekildedir:

A$ = CHR$(number)



SPACES$ fonksiyonu
n ile girilen değer kadar boşluk karakterini geri döndürür. Genel yazım biçimi şu şekildedir:

A$ = SPACES$(10)


STRING$ (adet, kod)
"kod" parametresi 0 ile 255 arasında bir değer alabilir. Girilen kodun ASCII karakterini "adet" sayısı kadar geri dödürür. Genel yazım biçimi şu şekildedir:

yediA = STRING$(7, 66)



RIGHT$ (string, adet)
String ifadesinin sağından adet miktarı kadar karakteri geri döndürür. Genel yazım biçimi şu şekildedir:

met = RIGHT$("Mehmet", 3)


LEFT$ (string, adet)
String ifadesinin solundan adet miktarı kadar karakteri geri döndürür. Genel yazım biçimi şu şekildedir:

meh = LEFT$("Mehmet", 3)



MID$ (string, sol_bas, adet)
Girilen string ifadesinde sol_bas ile verilen değerdeb başlayarak; adet kadar, sağa giderek yeni bir string geri döndürür. Genel yazım biçimi şu şekildedir:

meh = MID$("tarak", 1,3) 'Sonuç "tar" olacaktır.



LEN (string)
Bir string'in uzunluğunu bulmak için kullanılır. Genel yazım biçimi şu şekildedir:

uzunluk = LEN("Çekoslavakyalılaştıramadıklarımızdanmısınız") 'Sonuc 43 olacaktır.


LCASE(string)
Bir string'in tamamını küçük harfe çevirir. Genel yazım biçimi şu şekildedir:

ahmet = LCASE("AHMET")


UCASE(string)
Bir string'in tamamını büyük harfe çevirir. Genel yazım biçimi şu şekildedir:

AHMET = UCASE("ahmet")


INSTR (baslama, str1, str2, CompareMethod)
2. string'i 1. string içinde arar. Eğer başarılı olursa str1'deki str2'nin başlangıç karakterini alır. Genel yazım biçimi şu şekildedir:

Text1.Text = InStr(1, "Çekoslavakyalılaştıramadıklarımızdanmısınız", "lılaş", vbTextCompare) ' _
Sonuç "lılaş" string'inin başlangıç harfi "l"'nin nosu olur. yani 13


STRCOMP(str1,str2,tip)
İki string'i karşılaştırmaya yarar. Eğer karşılaştırma sonucu iki string aynı ise "0" değerini farklı ise "-1" değerini geri döndürür. Genel yazım biçimi şu şekildedir:

Text1.Text = StrComp("Çekoslovakya", "Çekoslovakya", vbTextCompare)


TRIM(string)
Stringin sağ ve solundaki boşlukları atar. LTRIM ve RTRIM ile sağ ve solda özellikle boşluklar atılabilir. Genel yazım


Bu dersimizde nesnelerin ozelliklerine ve belli basli vb fonksiyonlarına değineceğiz.
Vb de bize hazır olarak verilen ve geliştireceğimiz yazılımlar içindeki işlemlerimizi kolaylaştıran fonksiyonlar mevcuttur.
Fonksiyonu kısaca şöyle tanımlayabiliriz; fonksiyona bir değer göndeririz ve fonksiyon da gerekli işlemleri yaparak bize sonucu gönderir.

Aşağıda bir fonksiyon örneği mevcuttur.


[25,15] -> Topla (25 + 15) -> [40]

Burada 3 aşama mevcuttur.
1-25 ile 15 değerleri Topla isimli fonksiyona gönderilir.
2-Topla fonksiyonu bu değerleri toplar.
3-Sonucu bize geri göderir.

Lafı fazla uzatmadan hemen gerçek bir örneğe geçelim.
İlk olarak Abs fonksiyonunu ele alalım.Bu fonksiyon gönderdiğiniz sayının mutlak değerini dödürür.
Standart bir exe projesi açın,Form1’e text1 ismi ile bir textbox ve command1 ismi ile bir commandbutton ekleyin.
Formun kod kısmına aşağıdaki kodu yapıştırın.

Private Sub Command1_Click()
Text1.text=Abs(Text1.text)
End Sub

Programı çalıştırın, textbox’a –1 değerini girin ve command buton’a basın.Evet –1 olarak girdiğiniz değer 1 oldu değil mi? Evet artık fonksiyonları nasıl test edeceğimizi öğrendiğimize göre diğer fonksiyonlara geçebiliriz.

Asc : Gönderdiğiniz karakterin ASCII değerini döndürür.
Chr : Gönderdiğiniz ASCII değerini karakter cinsinden döndürür.
Cbool : Gönderdiğiniz değeri boolean veri tipine döndürür.
Cbyte : Gönderdiğiniz değeri byte veri tipine döndürür.
Ccur : Gönderdiğiniz değeri currency veri tipine döndürür.
Cdate : Gönderdiğiniz değeri tarih veri tipine döndürür.
Cdbl : Gönderdiğiniz değeri double veri tipine döndürür.
Date : Herhangi bir değer göndermenize gerek kalmadan size sistem tarihini döndürür.
FormatCurrency : Gönderdiğiniz değeri para birimi yazımı şeklinde döndürür.
Lcase : Gönderdiğiniz metni küçük harfe çevirir ve döndürür.
Left : Gönderdiğiniz metnin sol tarafından istediğiniz sayıda harfi döndürür.
Len : Gönderdiğiniz mernin kaç harften oluştuğunu döndürür.
Ucase : Gönderdiğiniz merni büyük harfe çevirir ve döndürür.
Right : Gönderdiğiniz metnin sağ tarafından istediğiniz sayıda harfi döndürür.

Başlangıç olarak yukarıdaki fonksiyonlar yeterli olacaktır.Derslerimiz ilerledikçe ve örneklerimiz çoğaldıkça diğer fonksiyonları da kullanacağız.

Şimdi isterseniz biraz da standart nesnelerin özelliklerine değinelim

Textbox (Metin Kutusu)
Özellikler
Alignment
Alabileceği değerler : 0 (Left Justify) , 1 (Right Justify), 2(Center)
Metinkutusu içine yazılan metnin sola , sağa veya ortaya hizalanması için ayarlanması gereken özelliktir.
Eğer bu değer 1 yapılırsa metinkutusu içine yazılan metin sağa hizalanır.
Appearance
Alabileceği değerler : 0 (Flat), 1(3D)
Metinkutusunun ekranda düz veya 3 boyutlu olarak görünmesi için ayarlanması gereken özelliktir.
Backcolor
Alabileceği değerler : Sisteminizin size sunduğu renk paletindeki renk değerleri
Metinkutusunun arkaplan renginin belirlenmesi için ayarlanması gereken özelliktir.
BorderStyle
Alabileceği değerler : 0 (None), 1(Fixed Single)
Metinkutusunun çerçevesinin görüntülenip görüntülenmesi için ayarlanması gereken özelliktir.
CausesValidation
Alabileceği değerler : True,False
Metinkutusu değerinin değiştiğinde Validate event’inin tetiklenip tetiklenmeyeceğini belirten özelliktir.
Enabled
Alabileceği değerler : True,False
True değeri atanmışşa metinkutusuna erişebilir ve değerini değiştirebilirsiniz.False değeri atanmışsa
sadece metinkutusu içindeki değeri görebilirsiniz.
Font
Alabileceği değerler : Sisteminizin size sunduğu font değerleri
Metinkutusu içinde kullanılacak font değerini belirler.
ForeColor
Alabileceği değerler : Sisteminizin size sunduğu renk paletindeki renk değerleri
Metinkutusunun yazı renginin belirlenmesi için ayarlanması gereken özelliktir.
Height
Metinkutusunun yüksekliğini belirten/ayarlayan özelliktir.
Left
Metinkutusunun formun en sağ kısmından itibaren uzaklığını belirten/ayarlayan özelliktir.
Locked
Alabileceği değerler : True,False
True ise metinkutusu içinde imleç ile gezinebilir fakat değeri değiştiremezsiniz.False ise istediğiniz
değişiklikleri yapabilirsiniz.
MaxLength
Metinkutusu içine yazabileceğiniz maksimum karakter sayısını belirten/ayarlayan özelliktir.
Eğer 0 değeri girilirse metinkutusuna istediğiniz kadar giriş yapabilirsiniz.
Multiline
Alabileceği değerler : True,False
True ise enter tuşuna bastığınızda bir alt satıra geçer,False ise geçmez.
PasswordChar
Bu özelliğe bir değer atadığınızda metinkutusuna hangi karakteri girerseniz girin PasswordChar’a atadığınız
karakter gösterilir.Bu özellik daha çok şifre girişlerinde kullanılır.
ScrollBars
Alabileceği değerler : 0(None), 1(Horizontal), 2(Vertical), 3(Both)
Metinkutusunda ne tür kaydırma çubuklarının gösterileceğini belirtir/ayarlar.
Text
Metinkutusu içerisinde yazan metin değerini belirten/ayarlayan özelliktir.
Top
Metinkutusunun formun en üst kısmından itibaren uzaklığını belirten/ayarlayan özelliktir.
Width
Metinkutusunun genişliğini belirten/ayarlayan özelliktir.
Olaylar

Click
Metinkutusuna tıklandığında tetiklenen olaydır.
GotFocus
İmleç metinkutusuna konumlandığında tetiklenen olaydır.
Keydown
İmleç metinkutusu üzerinde iken bir tuşa basıldığı anda tetiklenen olaydır.
Keypress
İmleç metinkutusu üzerinde iken bir tuşa basıldığı anda Keydown’dan sonra tetiklenen olaydır.
Keyup
İmleç metinkutusu üzerinde iken bir tuşa basılıp bırakıldığı anda tetiklenen olaydır.
Lostfocus
İmleç metinkutusu’nu terkettiğinde tetiklenen olaydır.
Mousedown
Fare ile metinkutusuna tıklandığında tetiklenen olaydır.(Mouse’un hangi tuşu ile tıklandığını
Button değerinden anlayabilirsiniz.)
Mousemove
Fare metinkutusu üzerinde gezindiğinde tetiklenen olaydır.
Mouseup
Fare ile metinkutusu’na tıklanıp bırakıldığında tetiklenen olaydır.
Metodlar

Setfocus
İmlecin metinkutusu üzerine konumlanmasını sağlar.
Zorder
Metinkutusunun ön veya arka plana atılmasını sağlar.

Bu dersimizde Nesneye dayali programlama ve Vb’nin kod sisteminden bahsedecegim

Nesneye dayali programlama...Dos tabanli yazilimlar gelistirdigimiz tarihlerde elimizde sadece degiskenlerimiz mevcuttu.String, integer .... Simdi ise arti olarak nesnelerimiz
mevcut.

Farki daha iyi anlatabilmek icin nesneye dayali yazilimlar’in akis diyagrami ile dos tabanli yazilimlarin akis diyagram’inin calisma farkina deginmek isterim.

vb0004

Sema’da goruldugu gibi dos tabanli yazilimlarda yorumlama tek duzende gitmektedir, nesneye dayali yazilimda ise her obje icin bir akis diyagrami mevcuttur.Burada bahsettigimiz objeler ise commandbutton, label , textbox gibi objelerdir.

Nesneye dayali programlama 3 ana temel uzerine kurulmustur.

Property (ozellik) – Event (olay) – Method (islev)

Bir textbox’i ele alalim.
Textbox’in belli basli property’leri ...
Text : Textbox’in icine yazilacak deger.
Left : Textbox’in uzerinde bulundugu formun en sol kenarindan, textbox’in en sol kenarina olan uzaklik
Width : Textbox’in genisligi
Height : Textbox’in yuksekligi

Textbox’in belli basli event’leri ...
Click : Textbox uzerine mouse ile clicklendiginde calisir.
MouseMove : Textbox uzerinde mouse ile gezinildiginde calisir.

Textbox’in belli basli method’lari ...
Move : Textbox’i form uzerinde verilen koordinatlara konumlandirir.
Setfocus : Imleci textbox uzerine konumlandirir.

Iste nesneye dayali programlama tamamen bu objeler uzerine kurulmustur.

Vb’de kod baslica sub ve function’lar altina yazilir.Ornek olarak
Private Sub Text1_Click()
MsgBox "Textbox'a tikladiniz."
End Sub

Private sub’lar yazildigi modul icerisinde ,
Public sub’lar ise butun proje genelinde gecerlidir.
Bu kural functionlar icin de gecerlidir.

Isterseniz ikinci ornegimizi yapalim.
Bir hesap makinesi yazalim

Bunun icin kullanacagimiz objeler label,textbox,line ve commandbutton

Standart bir exe projesi acin.
Formun uzerine 3 label 3 textbox 1 line ve 1 command button objesi yerlestirin.
Objeleri asagidaki semada goruldugu gibi yerlestirin.

vb0005

Formun Load sub’ina asagidaki kodu yazalim.

Private Sub Form_Load()
Form1.Caption = "Hesap makinesi"
Label1.Caption = "1.deger"
Label2.Caption = "2.deger"
Label3.Caption = "Toplam"
Command1.Caption = "Hesapla"
End Sub

Boylece form yuklenirken formun basligi “Hesap makinesi”, label’lar “1.deger” “2.deger” “toplam” ve commandbutton’un basligi “Hesapla” olarak atanacaktir.

Burada yapmamiz gereken islem Hesapla butonuna basildiginda text1 ve text2 textboxlari icindeki degerleri toplayip text3’e atamak.

Dolayisi ile kodumuzu command1_click altina yazacagiz

Private Sub Command1_Click()
Dim lngDeger1 As Long
Dim lngDeger2 As Long
Dim lngSonuc As Long

lngDeger1 = Val(Text1.Text)
lngDeger2 = Val(Text2.Text)
lngSonuc = lngDeger1 + lngDeger2

Text3.Text = lngSonuc
End Sub

Burada Command1_click sub’i icerisinde gecerli olacak 3 degisken tanimladik.
Ilk degerimize text1 icerisine girilen degeri atadik.
Ikinci degerimize de text2’ye girilen degeri atadik.
Dikkat ederseniz atama isleminde val fonksiyonunu kullandik.Val fonksiyonu
gonderilen string degeri numerik olarak geri dondurur.
Sonra text3’un text degerine lngdeger1 ve lngdeger2’nin toplamini atadik.

Evet hesap makinemiz hazir.

Menu

File
New Project : Yeni bir vb projesi acar.
Open Project : Diskte mevcut olan bir vb projesini acar.
-
Add Project : Proje gezgini’ne yeni bir proje ekler.
Remove Project : Mevcut olarak yuklu olan projeyi proje grubundan kaldirir.(Proje
grubuna ilerleyen derslerde deginecegiz.)
-
Save Project : Mevcut olarak yuklu olan projeyi diske kaydeder.
Save Project as : Mevcut olarak yuklu olan projeyi baska bir isimle diske
kaydeder.
-
Print : Mevcut olarak yuklu olan projenin printer’dan ciktisini alir.
Print Setup : Printer ayarlari ekranini acar.
-
Make .... (yeni bir proje actiginizda Make Project1.exe olarak gozukur.) : Mevcut
olarak yuklu olan projeyi exe olarak derler.
-
Exit : Vb programini kapatir.

Edit
List properties methods : Proje’de kullanilmak uzere secilmis obje ve
fonksiyonlarin listesini verir.
List Constants : Bir ozelligin (property) alabilecegi standart degerlerin
listelenmesi.(Genellikle vb bunu =’den sonra otomatik olarak yapar.
Esc tusuna basildiginda ise bu liste kaybolur.Eger listenin tekrar gosterilmesini
istiyorsaniz ya =’i silip tekrar yazacksiniz ya da menuden bu secenegi sececeksiniz. J )
Quick Info : Imlecin uzerinde bulundugu ozellik hakkinda bilgi verir.
Parameter Info : Fonksiyon veya sub ‘in parametreleri hakkinda bilgi verir.
(Genellikle vb bunu fonksiyon veya sub ismi yazildiktan sonra otomatik olarak
yapar.Esc tusuna basildiginda ise bu bilgi kutucugu kaybolur.Eger parametre
bilgi kutusunu tekrar gormek istiyorsaniz ya space tusuna basin ya da menuden
bu secenegi secin.)
Complete Word : Bir ozellik,obje,fonksiyon,sub kisaca vb icinde tanimli herhangi
bir programlama bileseninin ismini tamamlar.Ornek olarak msgbox ‘in tamamini
yazacaginiza msgb yazip ctrl+space ‘e basarsaniz vb hafizasinda tanimli olan
butun bilesenleri arayip msgb ile baslayanlari listeleyecektir.Eger 1 eslesme
mevcutsa liste gostermeden sozcugu tamamlayacaktir.

View
Code : Kod yazilan ekrani acar.
Object : Formun gorsel olarak tasarlandigi ekrani acar.
-
Definition : Imlecin uzerinde bulundugu obje,fonksiyon veya sub ‘in detay
bilgilerinin aciklandigi object browser ekranini acar.
Last Position : Imleci bir onceki konumuna getirir.
-
Object Browser : Vb’deki tanimli obje,fonksiyon,sub gibi bilesenlerin detayli
bilgilerinin listelendigi ekran.
-
Immediate Window : Runtime’da belirli degiskenlerin degerlerini okuyabilmemize
Veya uzerinde oynama yapabilmemize olanak saglayan immediate window’u acar.
Locals Window : Prosedur’de tanimlanmis butun degiskenlerin isimlerini ve
degerlerini gosterir.
Watch Window : Watch window’a eklenen degiskenlerin degerlerini listeler.
-
Project Explorer : Proje gezgini cercevesini gosterir.
Properties Window : Obje ozellikleri cercevesini gosterir.
Form Layout Window : Formun ekrandaki konumunu ayarlayacaginiz cerceveyi
gosterir.
Property Pages : Secili olan objenin varsa ozelliklerinin atanabildigi ozellikler
ekranini acar.
-
ToolBox : Arac kutusu cercevesini gosterir.
Data View Window : Vb’nin mevcut olarak bagli oldugu veri kaynaginin ozelliklerini
listeleyen ekrani acar.
Toolbars : Araccubuklarinin gosterilmesi/kaldirilmasi.

Project
Add ... : Yeni bir proje ekler.
Remove ... : Mevcut olarak acik projeyi kaldirir.
-
References : Vb’nin mevcut proje icin kullanacagi dll’lerin secildigi ekrani acar.
Components : Vb’nin mevcut proje icin kullanacagi obje’lerin secildigi ekrani acar.
(AracKutusunda bulunan objeler)
-

Format
Lock Controls : Mevcut formdaki objelerin kilitlenmesi.Form uzerindeki
konumlarinin sabitlenmesini saglar.(Bu secenek programcinin yanlislikla
obje konumunun degistirmesini veya objeyi silmesini engeller.)

Debug
Step into : Vb’nin imlecin bulundugu kod satirindan itibaren yorumlama
yapmasini saglar.
Step over : Vb’nin imlecin bulundugu kod satirindaki prosedur’un isleyisini
gostermeden yorumlama yapmasini saglar.
-
Toggle Breakpoint : Imlecin bulundugu satira yorumlamanin durdurulmasi icin
bir isaret koyar.Vb yorumlayicisi bu satira geldiginde program pause edilir.
Clear All Breakpoints : Butun breakpointleri kaldirir.

Run
Start : Programi calistirir.
Start with full compile : Programin tamamini yorumlayarak calistirir.
Break : Yorumlama islemini Start veya End komutu verilene dek durdurur..
End : Yorumlama islemini bitirir.

Tools
Menu Editor : Forma eklenecek menu’nun hazirlandigi ekrani acar.
Options : Vb’nin seceneklerinin gosterildigi ekrani acar.

Arac Kutusu

Bu bolumu anlatmadan once soyle bir geriye gidelim.Eskiden dos ortamindaki programlarda ekrana bir kutucuk yaratmak icin ne yapardik?

Koselere Г gibi karakterler ekler ve koseler arasindaki cizgileri – karakteri ile cizerdik.

Eminimki cogunuz kutucuk cizecek bir kod yazip her kutu cizme isleminde o
kodu kullanmistir.Yani her kutucuk gerektiginde tekrar kod yazmamissinizdir.Dogal ve
mantikli olan da bu zaten.

Simdi bir metin kutusunu (textbox) dusunun.Bu Ms’in yazip vb ile size sundugu bir objedir.Bunun gibi bir suru obje mevcuttur.Ornek olarak listview,treeview…
Hangi objelerin projede kullanilacagini Project/Components menusunden seciyoruz.
Iste bu ekranda sectigimiz objeler Arackutusunda bizim kullanmamiz icin ekleniyor.

Proje Gezgini

Bu cerceve mevcut olarak acik olan proje bilesenlerini listeler.Bu bilesenler form,moduller
classmoduller,Dataenvironment,DataReport olarak orneklenebilir.Ilerleyen derslerimizde
bu bilesenlere de deginecegiz.



Ilk Vb programimiz
Aslinda ilk programi yazmadan once deginecek birkac konu mevcut ama sizi yaziya bogmak istemiyorum.Sonucta bu is sadece okuyarak olmaz. J

Standart bir exe projesi acin.
Uygulama tasarim alaninda form’un uzerinde herhangi bir yere cift tiklayin.
Kod yazma ekrani acilacaktir ve asagidaki kod gozukecektir.

Private sub Form_Load()
End sub

Kodu asagidaki gibi degistirin

Private sub Form_Load()
Msgbox “Hello world!!!”
End sub

F5’e basin ve program calisacaktir.Ilk once “Hello world!!!” seklinde bir mesaj kutusu belirecektir.OK’e bastiktan sonra form1 ekranda gozukecektir.Vb’ye geri donmek icin
Formu normal bir windows ekranini kapatirmis gibi X’dan kapatin.

VB0003

Visual Basic Nedir?
Visual basic windows uygulamalari gelistirmek icin tasarlanmis bir yazilim gelistirme aracidir.Windows uygulamalarinin temeli olan form ve objeleri visual basic ile diger yazilim gelistirme araclarina nazaran cok daha rahat bir sekilde olusturabilir ve kullanabilirsiniz.

Visual Basic ile ne tür projeler gelistirilir?
Visual basic ile Windows isletim sistemlerinde calisacak yazilimlar gelistirebilirsiniz.Daha detaylandirmak gerekirse standart bir exe projesinden tutun diger vb projelerinde kullanilmak uzere dll veya ocx projeleri gelistirebilirsiniz.Bu detaylara ilerleyen derslerde deginecegiz.

Visual Basic programini nerden alabilirim?
Vb programini butun ms yetkili saticilarindan alabilirsiniz.

Visual Basic Arayuzu
Bu baslik altinda vb arayuzunu inceleyecegiz.Artik sizin vb programini kurdugunuzu varsayiyorum.Vb’yi calistirdiginizda sizin karsiniza ilk olarak proje secim ekrani gelecektir.Ilk etapta Standart EXE proje tipini secin.Ilerleyen derslerde diger proje tiplerine de deginecegiz.

vb0002

Vb surum 5’den sonra MDI arayuzune sahip olmustur.Yani birden fazla dokuman tek pencerede calistirilabiliyor.

vb0001

Menu
Vb editorunun size sunmus oldugu hizmetlere bu menu’den ulasabilirsiniz.

Arac Cubugu
Vb editorunun menusunde bulunan seceneklerin cok kullanilanlarinin buton olarak kullaniciya sunuldugu bir toolbar’dir.(Ornek olarak Internet explorer’daki back butonunu gosterebiliriz.)

Uygulama Tasarim Alani
Projede mevcut olarak secili bulunan bilesenin gosterildigi, uzerinde degisiklik yapabilmemize, yeni objeler eklememize, formun altina kod yazabilmemize imkan saglayan alan.

Proje Gezgini
Vb’de mevcut olarak acik olan proje ve bu projeye ait alt bilesenlerin (form,module,classmodule...) listelendigi cerceve.Bu cerceveden proje dahilindeki bilesenlere cift tiklayarak bilesenin uygulama tasarim alaninda gosterilmesini sagliyoruz.

Obje Ozellikleri
Uygulama tasarim alaninda mevcut olarak gosterilmekte olan bilesenin ozelliklerinin listelendigi ve uzerinde degisiklik yapmamiza imkan saglayan cerceve.

Arac Kutusu
Uygulama tasarim alaninda mevcut olarak gosterilmekte olan form’a bilesen eklememizi saglayan cerceve.Ornek olarak Arac kutusundan bir label secilip uygulama tasarim alaninda gosterilmekte olan formun uzerine gidilip tiklayarak label objemizi forma ekleyebiliriz.

Formun Ekrandaki Konumu
Uygulama tasarim alaninda gosterilmekte olan formun ekranda hangi koordinatlarda gosterileceginin gorsel olarak ayarinin yapildigi cerceve.

Word dosyalarının kullanımı

GENERAL
'Proje Tipi : clsMsWord
'Bagli oldugu Moduller :
'**************************************************************************
'Aciklama : Microsoft Word dokumani acma,icerik alma,icerik atama,saklama,
'Yazan : Levent YILDIZ
'Sirket :
'Baslangic Tarihi : 02.11.2002
'************************************************************************** PUBLIC SUBS
'Property Pupose (Public)
'**************************************************************************

'**************************************************************************
' PRIVATE SUBS
'Local Purpose (Private)
'**************************************************************************
'**************************************************************************
' PUBLIC FUNCTIONS
'Property Pupose (Public)
'**************************************************************************

'**************************************************************************
' PRIVATE FUNCTIONS
'Local Purpose (Private)
'**************************************************************************
'**************************************************************************
' DECLERATIONS
'
'**************************************************************************
Private objMsWord As Object
Private strCurrentFileName As String
Private intFileClose As Integer
'**************************************************************************
' EVENTS
'
'**************************************************************************
Event Error()
'**************************************************************************
' PROPERTIES
'
'**************************************************************************
'**************************************************************************


Function CreateWordObject() As Boolean
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Word objesinin yaratilmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
Set objMsWord = CreateObject("Word.Basic")
End Function
Function DestroyWordObject() As Boolean
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Word objesinin yokedilmesi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
Set objMsWord = Nothing
End Function
Function OpenDocument(strFileName As String) As Integer
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Word dokumaninin acilmasi
'Giris : strFileName : Acilacak dosya ismi
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
On Error GoTo handler
If Dir(strFileName) = "" Then
OpenDocument = 2
Exit Function
End If
objMsWord.FileOpen strFileName
strCurrentFileName = strFileName
Exit Function
handler:

End Function
Sub NewDocument()
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Yeni bir Word dokumaninin acilmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Sub
objMsWord.FileNew
Class_Initialize
End Sub
Sub CloseDocument()
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Acik olan Word dokumaninin kapatilmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Sub
objMsWord.FileClose intFileClose
objMsWord.AppClose
Set objMsWord = Nothing
End Sub
Sub SaveDocument(Optional strFileName As String)
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Acik olan Word dokumaninin saklanmasi
'Giris : strFileName : saklanacak dosya ismi.Eger bos girilirse OpenDocument fonksiyonunda
' acilan dosya ismi alinir
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Sub
If strFileName = "" Then strFileName = strCurrentFileName
objMsWord.FileSaveAs strFileName
intFileClose = 1
End Sub
Sub EditSelectAll()
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 19.08.2003
'Amac : Word dokumaninda TumunuSec komutunun uygulanmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Sub
objMsWord.EditSelectAll
End Sub
Sub EditCopy()
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 19.08.2003
'Amac : Word dokumaninda Secili alanin hafizaya kopyalanmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Sub
objMsWord.EditCopy
End Sub
Sub EditPaste()
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 19.08.2003
'Amac : Hafizadaki bilginin Word dokumanina yapistirilmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Sub
objMsWord.EditPaste
End Sub
Property Let Visible(New_Visible As Boolean)
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Word objesinin saklanmasi | gosterilmesi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Property
If New_Visible Then
objMsWord.AppShow
Else
objMsWord.AppHide
End If
End Property
Property Get DocumentText() As String
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Word dokumaninin text formatinda alinmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Property
Clipboard.Clear
objMsWord.EditSelectAll
objMsWord.EditCopy
DocumentText = Clipboard.GetText(vbCFText)
Clipboard.Clear
End Property
Property Let DocumentText(New_DocumentText As String)
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Word dokumaninina text formatinda deger atanmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Property
If Len(New_DocumentText) = 0 Then Exit Property
Clipboard.Clear
Clipboard.SetText New_DocumentText, vbCFText
objMsWord.EditSelectAll
objMsWord.EditPaste
Clipboard.Clear
End Property
Property Get DocumentTextRTF() As String
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Word dokumaninin textRTF formatinda alinmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Property
Clipboard.Clear
objMsWord.EditSelectAll
objMsWord.EditCopy
DocumentTextRTF = Clipboard.GetText(vbCFRTF)
Clipboard.Clear
End Property
Property Let DocumentTextRTF(New_DocumentTextRTF As String)
'**********************************************************************
'Yazan : Levent YILDIZ
'Sirket :
'Tarih : 02.11.2002
'Amac : Word dokumaninina textRTF formatinda deger atanmasi
'Giris :
'Cikis :
'Not :
'**********************************************************************
'Degisiklikler
'**********************************************************************
If objMsWord Is Nothing Then Exit Property
If Len(New_DocumentTextRTF) = 0 Then Exit Property
Clipboard.Clear
Clipboard.SetText New_DocumentTextRTF, vbCFRTF
objMsWord.EditSelectAll
objMsWord.EditPaste
Clipboard.Clear
End Property
Private Sub Class_Initialize()
intFileClose = 2
End Sub


Kullanimi;

Ornek olarak form'un uzerinde bir richtextbox kontrolumuz var ve biz bu kontrolun
icerigini word dosyasi olarak save etmek istiyoruz.

ClassDoc.CreateWordObject
ClassDoc.NewDocument
ClassDoc.DocumentTextRTF = rtbReport.TextRTF
ClassDoc.SaveDocument "C:\Report.doc"
ClassDoc.CloseDocument
ClassDoc.DestroyWordObject

rtbReport icerigi artik c:\Report.doc word dosyasi icerisinde...


alıntıdır..


Son düzenleyen ahmetseydi; 3 Temmuz 2013 11:08

Benzer Konular

8 Mart 2012 / mintik Cevaplanmış
2 Ağustos 2010 / The Unique Matematik
21 Nisan 2014 / Mira Cevaplanmış