Visual Basic etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Visual Basic etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Temmuz 2023 Pazartesi

AutoCAD ile VBA Makro #8. Yıldız

AutoCAD VBA makro kodlarıyla yıldız çizen kodlar videolarda açıklandı.

Yıldız 1


Yıldız 2-1


Yıldız 2-2


Yıldız 3


Yıldız 4


Yıldız 5


Yıldız 6,7,8,9



4 Mayıs 2022 Çarşamba

Excel: Aktif satır ve sütun renklendirme

Yayınlama: 19/06/2016
Güncelleme: 04/05/2022
Makro kullanarak Excelde aktif satır ve sütunu renklendirerek hücre takibi yapmak kolaylaştırılabilir.
Bu işlem için üç farklı VBA makro kodu veriyorum.
Kodları deneyip uygun olanını kullanabilirsiniz.

Makro eklemek için önce aşağıda verilen makro kodunu kopyalayın.
Excelde sayfa adı(Sayfa1, Sayfa2 ...) üzerinde sağ tıklayın
Açılan menüde Kod görüntüle tıklayın.

3 Ocak 2021 Pazar

Vb ile ActiveX Bileşen Oluşturma-11: superText #8

Önceki bölümde oluşturduğumuz projeye devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.

Label(Etiket) bileşeni ile Caption(başlık) ekleme

Gelişmiş özelliklere sahip bir metin kutusu oluşturduk ancak dikkat ederseniz projelerde genelde metin kutusu ile birlikte solunda, sağında ya da üstünde bir Label(etiket) de eklenir.

Projelerimize Label ve superText kontrollerini ayrı ayrı eklemektense Label'i superText bileşenine dahil etsek nasıl olur? Daha kullanışlı olur tabii ki. Öyleyse başlayalım.

  • Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki linkten dosyayı indirebilirsiniz.
  • Test formundaki bileşenleri silin.
  • superText(superText.ctl) formunu açın. Shift+F7
  • TextBox'ı aşağı taşıyıp üstünde kalan boşluğa Label ekleyin.
  • Label1'in özelliklerini ayarlayın
    AutoSize: True
    Left: 0
    Top: 0
  • superText kontrolü forma eklediğimizde;
    Label, sol üst köşede,
    TextBox, Label'in 3px altında olacak.

9 Aralık 2020 Çarşamba

Vb ile ActiveX Bileşen Oluşturma-10: superText #7

Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.

Önceki bölümde sihirbaz kullanarak Property Page(özellik sayfası) oluşturmuştuk. Sayfaya tüm özelliklerin eklenmediği görülüyor. Tümünü eklemeye de gerek yok zaten.

Özellik sayfasına manuel özellik ekleme

Manuel olarak sayfaya nasıl özellik eklenir?
Örnek olması açısından sayfaya eklenmemiş olan 2 özellik ekleyerek bu sorunun cevabını bulalım.

  • Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
  • İlk olarak ekleyeceğimiz özellik Alignment (yaslama)
    Bu özelliğe atanabilecek 3 değer var. 0: Sola, 1: Sağa, 2: Ortaya
  • Yazi formunu açın.
  • Alignment değerini aktarmak için bir açılır liste(ComboBox) kullanabilirdik ancak kullanımını açıklamak için farklı olarak OptionButton (Seçenek Butonu) kullanacağım.
    OptionButton kullanmadan önce seçenekleri bir arada tutmak için form'a bir adet Frame ekleyin.
  • Frame1'in Caption özelliğine Alignment ya da Yaslama yazın.
  • Frame1 içine OptionButton ekleyin. Özelliklerini aşağıdaki gibi değiştirin
    Name: optAlignment
    Caption: Sol
  • OptionButton'u kopyalayın. Frame1 seçili iken Ctrl+V ile yapıştırın.
  • Bir uyarı çıkacak. Index oluşturmak için Evet tıklayın.
  • 2. eklenen OptionButton'un Caption özelliğine Sağ yazın.
  • Ctrl+V ile tekrar yapıştırın. 3. eklenen OptionButton'un Caption özelliğine Orta yazın.

Şimdi kod eklemeye geçelim.
Form açıldığında superText kontrolün Alignment değeri kaç ise formdaki optAlignment seçenek butonu index'i seçili olacak.

8 Aralık 2020 Salı

Vb ile ActiveX Bileşen Oluşturma-9: superText #6

Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.

Standart kontrollerin dışında bir kontrol eklediğinizde kontrol özelliklerinde (Custom) özelliği görmüşsünüzdür (Örneğin Microsoft Windows Common Controls).

Bu özelliği çift tıkladığınızda özellikleri ayarlayabileceğiniz bir pencere (Property Pages) açılır.
Bu bölümde superText ActiveX kontrolüne Property Page ekleyeceğiz.

Property Page Ekleme

  • Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.

4 Aralık 2020 Cuma

Vb ile ActiveX Bileşen Oluşturma-8: superText #5

Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.

  • Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
Textbox özellikleri ile superText özellikleri karşılaştırıldığında birçok özelliğin(property) ve olay(event)'ın eksik olduğu görülecektir. Eksik olan özelliklerin tamamlanmasında fayda vardır.

Şimdi bu eksik olan özellikleri ekleyelim.
Önceki bölümlerdeki bilgilerden faydalanarak her bir eksik özelliği sırasıyla ekleyebiliriz ancak daha kolay bir yöntem deneyeceğiz.

  • Önce eksik olan özellikleri tespit edelim.
    Textbox'da olup superText'da olmayan özellikler(properties)

1 Aralık 2020 Salı

Vb ile ActiveX Bileşen Oluşturma-7: superText #4

Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX kontrolüne yeni özellikler ekleyeceğiz.

  • Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
En son About (Hakkında) özelliği eklemiştik ancak açılan hakkında iletişim kutusunun başlığında Project1 yazıyordu. Başlığı değiştirelim.

  • Hakkinda prosedürünü aşağıdaki kodlar ile değiştirin.
Sub Hakkinda()
    MsgBox "superText ActiveX Kontrol" & vbCrLf & "©2020 Mesut Akcan" & vbCrLf & _
        "Bu kontrol TextBox kontrolüne yeni kullanışlı özellikler eklenerek geliştirilmiştir.", , _
        "superText Hakkında"
End Sub

Bu kodları biraz geliştirelim.

  • Kontrol adını superText diye yazmak yerine UserControl.Name kullanalım.
Bunun faydası kontrol adını değiştirdiğimizde Hakkinda prosedüründe değişikliğe gerek olmaması.

28 Kasım 2020 Cumartesi

Vb ile ActiveX Bileşen Oluşturma-6: superText #3

Önceki bölümde kaldığımız yerden devam ediyoruz. superText ActiveX
kontrolüne yeni özellikler ekleyeceğiz.

  • Önceki bölümdeki proje dosyasını açın. Eğer proje dosyaları yoksa önceki bölümdeki dosyayı indirebilirsiniz.
  • Önceki bölümde, projede test için kullandığımız Form1'i burada kullanmayacağız. Form1'i projeden kaldırmak için CTRL+R ile Project penceresini açıp Form1(Form1.frm) üzerinde sağ
    tıklayıp Remove Form1.frm tıklayın.
  • File / Add Project... ile ActiveX kontrolü test edeceğimiz yeni Standart EXE projesi ekleyin. (Project2)
  • Project2'yi başlangıç projesi yapmak için Project penceresinde Project2 üzerinde sağ tıklayıp Set As Startup tıklayın.
  • Toolbox'daki superText kontrolün pasif olduğunu göreceksiniz. superText kontrolünü Form1'e eklemek için tıkladığınızda bir uyarı gelecek
    This control is private to its project. To be public, a control must be
    in an ActiveX Control project, and its Public property must be True.
    Önceki projede superText bulunduğu proje içinde sorunsuz kullanılabiliyordu ancak şimdi bulunduğu projeden farklı bir projede kullanmaya çalıştığımızda hata verdi.
    Çünkü superText'in kapsamı projeye özeldir(Private), bulunduğu proje dışı kullanma izni yok. Bunun değiştirilip genel erişime(Public) izin verilmesi gerekir. Şimdi bu sorunu giderelim.
  • Önce Project1'in proje türünü ve adını değiştirelim.
    Project1 üzerinde sağ tıklayıp Project1 Properties... tıklayın.
  • Açılan pencerede aşağıdaki ayarları yapın.
    Project type: ActiveX Control
    Startup Object: (None)
    Project Name: SuperTextKontrol
    OK tıklayın. Bir uyarı gelecek Tamam tıklayın.
  • Project penceresinde superText'i çift tıklayın, superText seçili iken Properties penceresinde
    Public = False
    olan ayarı
    Public = True
    olarak değiştirin. Böylece superText kontrolü genel erişime(Public) açık olacak.

19 Kasım 2020 Perşembe

Vb ile ActiveX Bileşen Oluşturma-5: superText #2

Önceki bölümde oluşturduğumuz projedeki superText kontrolünü geliştirmeye devam ediyoruz.

Önceki bölümde, son aşamada bir sorun olduğunu belirtmiştim. Projeyi çalıştırdığınızda göreceksiniz ki superText'in Metin özelliğine girdiğimiz bilgiler program çalıştırınca kayboluyor. Çalışmayı durdurunca da geri gelmiyor. Bu hatayı giderelim.

PropertyBag

ActiveX kontrollerin özelliklerinin tutulduğu bir nesne var. Nesnenin adı PropertyBag. Bu nesnenin fonsiyonları ile özellik değerleri yazılıp okunabilir.
WriteProperty fonksiyonu özellik değeri okumak için,
ReadProperty ise özellik değeri yazmak içindir.

  • superText kod penceresine aşağıdaki kodları ekleyin
Public Sub UserControl_ReadProperties(PropBag As PropertyBag)
    Text1.Text = PropBag.ReadProperty("Metin", UserControl.Name)
End Sub

Public Sub UserControl_WriteProperties(PropBag As PropertyBag)
    Call PropBag.WriteProperty("Metin", Text1.Text, UserControl.Name)
End Sub
  • Şimdi projedeki test formuna(Form1) superText kontrolünden ekleyin, Metin özelliğini değiştirip çalıştırın.
  • Göreceksiniz ki artık Metin özelliği standart Textbox'ın Text özelliği gibi çalışıyor.
    Metin özellik değerleri kaybolmuyor.
    ReadProperties özelliği okumaya çalıştığımızda,
    WriteProperties ise özelliğe yazmaya çalıştığımızda çalışır.
  • Test formunun Click olayında aşağıdaki kodu deneyebilirsiniz.
    Bu kodlar ile superText'in Metin özelliğine değer atanmaktadır.
Private Sub Form_Click()
    superText1.Metin = "Merhaba"
End Sub

Önceki bölümde superText kontrolümüzün Metin özellik değerini kontrolün Name değerinden alarak superText olarak yazdırmıştık.

17 Kasım 2020 Salı

Vb ile ActiveX Bileşen Oluşturma-4: superText #1

Bu bölümde çok sık kullandığımız bir kontrol olan Textbox'un özelliklerini geliştirerek yeni bir ActiveX kontrol oluşturacağız.

  • Bu sefer farklı bir yol izleyeceğiz. Önceki bölümlerde önce ActiveX kontrol sonra Standart EXE projesi oluşturmuştuk. Bu bölümde ise öncekilerin tersi olacak.
    Önce Standart EXE projesi sonra aynı projeye ActiveX kontrol eklenecek.
  • Menüden File / New Project
  • New Project ekranında Standart EXE'yi çift tıklayın. Yeni bir standart form penceresi açılacak. Burası ActiveX kontrolü test etmek için.
  • Menüden Project / Add User Control tıklayın.
    Alternatif olarak Project penceresinde Sağ tıkla / Add / User Control
  • Açılan pencerede User Control'ü çift tıklayın.

14 Kasım 2020 Cumartesi

Vb ile ActiveX Bileşen Oluşturma-3: Çerçeve(Frame)

Bu bölümde bir çerçeve oluşturacağız. Standart kontrollerden Frame'e benzer bir kontrol. Ama aynı işlevde olmayacak. Çünkü öğrenim amaçlı projeler oluşturduğumuzdan kontrollerde fazla işlev olmayacaktır.

Başlayalım.

  • Visual Basic'i çalıştırın. Menüden File / New Project
  • Açılan pencere ActiveX Control'ü çift tıklayın.
  • Yeni bir form penceresi açılacak
  • F4 e basarak form özellikleri penceresini açın.
  • Formun Name özelliğini Cerceve olarak değiştirin. Çerçeve olarak da girebiliriz bir sorun oluşturmaz ancak kodlamada genel alışkanlık; nesne ve değişken isimlerinde İngilizce karakterler kullanılır.
  • Form üzerine 2 dikey, 2 de yatay olmak üzere 4 adet Line (çizgi) ekleyin.
    Çizgilerin boyu ve konumu önemli değil. Kodlarla gerekli boyut ayarlanacak ve gerekli konuma yerleştireceğiz.
  • Formdaki çizgilerin Name(Ad) özelliğini aşağıdaki resme göre değiştirin.
  • sol ve ust çizgiyi seçin, BorderColor özelliğini &H00FFFFFF& olarak,

13 Kasım 2020 Cuma

Vb ile ActiveX Bileşen Oluşturma-2: Dijital Saat

Bu bölümünde yeni bir ActiveX kontrol oluşturacağız.
Bu kontrolü Visual Basic projelerde ocx olarak yada ctl olarak kullanmayı öğreneceğiz.
Önceki bölümdeki uygulamaları yapmadan bu bölüme geçmemeniz tavsiye olunur.

Dijital Saat

  • Visual Basic'i çalıştırın.
  • Açılan New Project penceresinde ActiveX Control'ü çift tıklayın. Yeni bir form penceresi açılacak
  • F4'e basarak form özellikleri penceresini açın.
  • Formun Name özelliğine baktığımızda UserControl1 yazdığını göreceğiz.
  • Bunu ctl_DSaat olarak değiştirin
  • Ctrl+R'ye basarak Project penceresinde de ismin değiştiğini görün.

12 Kasım 2020 Perşembe

Vb ile ActiveX Bileşen Oluşturma-1: Fırıldak

Bu yazı serisinde Visual Basic 6 ile ActiveX bileşen oluşturmayı açıklayacağım.

ActiveX nedir?

Activex Visual Basic ve Delphi gibi dillerde kullanılan bir kütüphane sistemidir. Uzantısı ocx, dll veya exe'dir. Visual basic kurulumu ile çok sayıda ActiveX bileşen sisteme kurulur.
ActiveX bir teknoloji grubuna verilen isimdir. Bu grubu oluşturan teknolojiler, programcıların uygulamalarını daha hızlı şekilde geliştirebilmelerini, daha önce oluşturulmuş bileşenleri, tekrar kod yazmak zorunda kalmadan uygulamalarında kullanabilmelerini sağlamaktadır.

Örneğin yazılan programda video oynatan bir bölüm olması gerekiyor. Bu işi yapan bir ActiveX bileşen(component) varsa yeniden kod yazmaya gerek kalmaz. Kolaylıkla ActiveX bileşen uygulamaya eklenir ve kullanılır. Çok sayıda ActiveX bileşen ücretli veya bedava olarak internette bulunabilmektedir.

Eğer işimizi görecek bileşen yoksa veya ücretli bir bileşen satın almak istemiyorsak kendimiz de bir ActiveX bileşen oluşturabiliriz.

Visual Basic ile ActiveX bileşen oluşturma

Yapacağımız ActiveX bileşen, yandaki resimde olduğu gibi oklara tıklanarak metin kutusundaki sayıyı arttıracak ya da azaltacak. Birçok programın ayar penceresinde buna benzer şeylerden rastlamışsınızdır.

Visual Basic sürümlerini indirmek için https://winworldpc.com/product/microsoft-visual-bas/60

  • Visual Basic 6'yı çalıştırın.
  • Vb'yi çalıştırdığınızda New Project ekranıyla karşılaşacaksınız.
  • Bu pencerede ActiveX Control'ü tıklayıp butonunu tıklayın ya da çift tıklayın.
    Eğer böyle bir pencere gelmezse menüden File / New project CTRL+N tıklayın.

12 Mart 2020 Perşembe

AutoCAD ile VBA makro kullanımı #5-5

Autocad VBA Makro Kodlarını Çalıştırma Yöntemleri:


7) Userformda komut butonu ile makro çalıştırma

Excel VBA editöründe olduğu gibi AutoCAD VBA editöründe de UserForm oluşturma imkanı vardır. UserForm; kullanıcı ile program arasında iletişimi sağlayan Windows standart uygulama penceresidir.

  • VBA Editöründe menüden Insert / UserForm tıklayın ya da Proje Ağacında; Sağ tıkla / Insert / UserForm

20 Haziran 2019 Perşembe

AutoCAD ile VBA makro kullanımı #4-2


Bu bölümde aşağıdaki başlıklar olacak.
  • VBA kodlarını çizim dosyasına gömme (Embed)
  • Çizim dosyasında gömülü kodları ayırma (Extract)
  • VBA kodları Dışa aktarma (Export)
  • VBA kodları İçe aktarma (Import)
  • Kodları belleğe yükleme / kaldırma

VBA kodlarını çizim dosyasına gömme (Embed)

Daha önceki videolarda bahsetmiştim. AutoCAD VBA kodları çizim dosyasından ayrı bir dosya olarak kaydedilmektedir. Çizim dosyası DWG olarak VBA kodları ise DVB olarak kaydedilir.

18 Haziran 2019 Salı

AutoCAD ile VBA Makro kullanımı #4-1


AutoCAD ile VBA Makro kullanımı playlist:
https://www.youtube.com/playlist?list=PLte7FEGCpudNwNr71-FhUS1g3FAhnNPjD
Bu bölümü iki ayrı sayfa olarak hazırladım.
Bir önceki yazımda kullandığım eksen çizen VBA kodları geliştireceğim.
Eski kodlarda yapacağım iyileştirmelerde şunlar olacak:

17 Mart 2018 Cumartesi

AutoCAD ile VBA Makro Kullanımı #3


AutoCAD ile VBA Makro kullanımı ile ilgili uygulamalar:
Videoda kullanılan kodlar:

Autocad VBA ile Çizgi Rengini Değiştirme:

Sub CizgiRengiDegis()
  'Makro: Mesut Akcan 17/3/2018 mesutakcan.blogspot.com
  Dim cizgi As AcadLine
  Dim n1(2) As Double, n2(2) As Double
  n1(0) = 0 'X
  n1(1) = 0 'Y
  n2(0) = 50 'X
  n2(1) = 70 'Y
  Set cizgi = ModelSpace.AddLine(n1, n2)
  cizgi.color = acCyan
  Regen acActiveViewport
  n1(0) = 10 'X
  n1(1) = 20 'Y
  MsgBox "devam"
  cizgi.StartPoint = n1
  cizgi.color = 220
End Sub

12 Aralık 2017 Salı

AutoCAD ile VBA makro kullanımı #1


AutoCAD özelliklerini geliştirmek ve isteğe özel uygulamalar ve işlevler kazandırmak için VBA makroları kullanılabilir.

VBA kısaltmasının açılımı Visual Basic for Application(Uygulamalar için Visual Basic)dir.
BASIC öğrenilmesi ve kodlaması en kolay olan programlama dilidir. Microsoft Visual Studio Programlama seti içerisinde Microsoft Visual Basic bulunur. Bununla Windows uygulamaları geliştirip derleyebilir ve çalışabilir EXE dosyaya dönüştürebilirsiniz.

21 Ağustos 2016 Pazar

akcanSoft Internet Bağlantı Kesici v1.1

Tanımlama

Program belirteceğiniz tarih ve saate göre ya da kalan süreye göre internet bağlantınızı keser.
İsterseniz; yapacağınız ayarlamalarla;
  • Kesilmeye belli bir süre kala beep uyarısı ve(ya) pencereyi öne getir uyarısı alabilirsiniz
  • Kesmek için onay istemesini sağlayabilirsiniz.

akcanSoft CallerID v1.0

Tanımlama:

Bu program; bağlı olduğunuz telefon santralı destekliyor ise ve bilgisayar donanımınız uygunsa sizi arayanın telefon numarasını ekranda gösterir(CallerID)