Kaynak kod etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Kaynak kod etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Nisan 2025 Pazartesi

AutoLISP: Seçili çizgileri iki uçtan uzat

Bu AutoLISP kodu, AutoCAD ortamında seçilen tüm çizgi (LINE) nesnelerinin her iki ucunu, kullanıcıdan alınan bir uzunluk kadar uzatır.

Komut çalıştırıldığında, kullanıcıdan uzatma miktarı istenir ve ardından çizgi nesneleri seçilmesi beklenir. Seçilen her bir çizginin başlangıç ve bitiş noktaları, çizginin doğrultusuna göre belirtilen mesafe kadar ileri ve geri kaydırılarak çizgi uzatılır.

Böylece, çok sayıda çizginin uçlarını hızlı ve pratik bir şekilde topluca uzatmak mümkün olur. Özellikle mimari ve teknik çizimlerde, çizgi boylarını topluca düzenlemek isteyen kullanıcılar için büyük kolaylık sağlar.

Nasıl yüklenir?

Nasıl çalıştırılır?

Lisp dosyasını yükledikten sonra; AutoCAD komut satırında;
  • UZAT komutunu girin
  • Uzatma miktarını girin. Negatif sayı kısaltma yapar.
  • Uzatılacak çizgileri seçin. Çizgi dışındaki nesneler seçilmeyeceği için seçim kolaydır.
  • Enter ile seçimi sonlandırın.
  • Seçili çizgiler her iki uçtan uzatılacak ve yapılan işlem hakkında bilgi verilecektir.

Program kodu

; Çizgileri her iki uçtan uzatır.
; Uzatma miktarını kullanıcıdan alır.
; Negatif uzatma miktarı kısaltma yapar.

; İlk sürüm : 21/04/2025
; Güncelleme: 03/05/2025

; Mesut Akcan
; makcan@gmail.com
; mesutakcan.blogspot.com
; youtube.com/mesutakcan

(setq ext 3) ; Varsayılan uzatma miktarı
(defun c:UZAT ( / ang n line lc sp ep ss um)
(initget 2) ; Sıfır değerine izin verme
(if (setq um (getreal (strcat "\nUzatma miktarı <" (rtos ext) ">: ")))
	(setq ext um)
)
(if (setq ss (ssget '((0 . "LINE")))) ; Sadece LINE nesnelerini seç
	(progn
		(setq
			lc (sslength ss) ; Seçim setindeki çizgi sayısı
			n 0 ; Döngü sayacı
		) 
		(repeat lc ; Seçim setindeki çizgi sayısı kadar döngü
			(setq
				line (ssname ss n) ; Döngüdeki çizgi
				sp (getpropertyvalue line "StartPoint") ; Başlangıç noktası
				ep (getpropertyvalue line "EndPoint") ; Bitiş noktası
				ang (angle sp ep) ; Çizgi açısı
				n (1+ n) ; Döngü sayacı
			)
			; Başlangıç noktasını ters yöne uzat
			(setpropertyvalue line "StartPoint" (polar sp (+ ang pi) ext))
			; Bitiş noktasını ileri doğru uzat
			(setpropertyvalue line "EndPoint" (polar ep ang ext))
		);repeat
		(princ (strcat "\nToplam " (rtos lc) " çizgi her iki uçtan " (rtos ext) " birim uzatıldı."))
	);progn
	(princ "\nÇizgi seçilmedi.")
);if
(princ)
)

18 Aralık 2024 Çarşamba

AutoLisp: Eksen çiz

Eksen çiz AutoLISP uygulaması ile AutoCAD programında seçilen çember veya yaylara dikey ve yatay eksenler çizilerek işlemleri hızlandırır.

Eksen çiz Autolisp uygulaması dosyası, kurulum ve kullanım hakkında detaylı bilgi için:

Github proje sayfası

31 Ekim 2023 Salı

AutoCAD VBA ile dikdörtgen çiz

AutoCAD ile VBA kullanarak dikdörtgen çizme işlemi oldukça basit ve verimlidir. AutoCAD VBA'yı kullanmak için öncelikle AutoCAD'in yüklü olması ve VBA'ın etkinleştirilmiş olması gerekmektedir.


İşlem basamakları:
  • AutoCAD'i açın.
  • ALT+F11 ile VBA kod editörünü açın.
  • Menüden Insert  / Module tıklayın.
  • Açılan Module1 kod sayfasına aşağıdaki kodları ekleyin.
'Dikdörgen çizen prosedür
'Mesut Akcan
'31/10/2023
'makcan@gmail.com

'Blog sayfam     : https://mesutakcan.blogSpot.com
'Youtube Kanalım : https://www.youtube.com/mesutakcan
'WhatsApp kanalım: https://www.whatsapp.com/channel/0029Va5h4cQ0LKZLuB9Dpy23
'Telegram kanalım: https://t.me/mesutakcan

Public Sub dikDortgenCiz(p As Variant, genislik As Double, yukseklik As Double, _
	Optional dondurmeAcisi As Double = 0, Optional yuvarlatmaYariCapi As Double = 0, _
	Optional polyLine As Boolean = True)
    
    'köşe noktaları. X
	Dim x1 As Double, x2 As Double, x3 As Double, x4 As Double 
    'köşe noktaları. Y
	Dim y1 As Double, y2 As Double, y3 As Double, y4 As Double

	Dim vl As Variant 'vertex listesi
	Dim util As Object 'nesne tanımla
	Dim pl As AcadLWPolyline 'Polyline nesnesi

	Set util = ThisDrawing.Utility 'utility nesnesi
	
	' Köşe noktalarının X değerleri
	x1 = p(0)
	x2 = x1 + yuvarlatmaYariCapi
	x4 = x1 + genislik
	x3 = x4 - yuvarlatmaYariCapi
	
	' Köşe noktalarının Y değerleri
	y1 = p(1)
	y2 = p(1) + yuvarlatmaYariCapi
	y4 = p(1) + yukseklik
	y3 = y4 - yuvarlatmaYariCapi
	
	If yuvarlatmaYariCapi > 0 Then 'dikdörtgen köşelerinde yuvarlatma yapılacaksa
		'vl dizi değişkenine köşe(vertex) noktalarını aktar
		util.CreateTypedArray vl, vbDouble, x2, y1, x3, y1, x4, y2, x4, y3, x3, y4, _
			x2, y4, x1, y3, x1, y2
	Else 'yuvarlatma yapılmayacaksa
		'vl dizi değişkenine vertex noktalarını aktar
		util.CreateTypedArray vl, vbDouble, x1, y1, x4, y1, x4, y4, x1, y4
	End If
	
	'polyline dikdörtgeni çiz
	Set pl = ThisDrawing.ModelSpace.AddLightWeightPolyline(vl)
	pl.Closed = True 'kapalı şekil
	
	'bulge değeri: Tanjant(Yuvarlatlacak vertek noktalarının gördüğü açı / 4)
	'bulge değeri = Tanjant(Açı/4) => Açı=90° => pi/2
	' =Tan(90°/4) => Tan((pi/2)/4) => Tan(pi / 8)
	Const bd As Double = 0.414213562373095  ' Tan(pi / 8)
	
	'dikdörten köşelerinde yuvarlatma yapılacaksa
	If yuvarlatmaYariCapi > 0 Then
		pl.SetBulge 1, bd
		pl.SetBulge 3, bd
		pl.SetBulge 5, bd
		pl.SetBulge 7, bd
	End If

	'dikdörtgen döndürülecekse
	If dondurmeAcisi > 0 Then
		Const pi As Double = 3.14159265358979 'pi sabiti
		pl.Rotate p, dondurmeAcisi * (pi / 180)
	End If

	'Dikdörtgen çizgi ve yay ile çizilecekse çizimi patlat
	If polyLine = False Then pl.Explode
End Sub
Dikdörtgençiz prosedürünü kullanmak için örnek
  • Aşağıdaki kodları ThisDrawing kod sayfasına ekleyin.
  • VBA editöründe çalıştırmak için F5
  • AutoCAD ekranında çalıştırmak için ALT+F8
Sub dikDortgenCizOrnekKullanim()
	n = ThisDrawing.Utility.GetPoint(, "Dikdörtgen sol alt köşe noktası:")
	Call dikDortgenCiz(n, 30, 20)
	Call dikDortgenCiz(n, 50, 30, 5)
	Call dikDortgenCiz(n, 60, 35, 15, 10)
	Call dikDortgenCiz(n, 80, 45, 25, 12, False)
End Sub

18 Temmuz 2023 Salı

AutoCAD ile VBA Makro #7. Dikdörtgen çizimi

AutoCAD VBA makro kodlarıyla dikdörtgen çizen kodlar videolarda açıklandı.
  1. Line ile dikdörtgen


  2. Polyline ile dikdörtgen
  3. Merkez ile dikdörtgen

  4. Paralelkenar

  5. Üç nokta ile dikdörtgen

29 Mart 2022 Salı

AutoCAD VBA #28. Çizgiye Nokta-4



Youtube koni açınımları videolarında kullandığım çizgiye nokta VBA makrosunun geliştirmeye devam ediyorum.
Makro çalıştırıldığında bir çizgi seçilerek çizginin uzunluğu alınır. Sonra bir çizgi daha seçilir 2. seçilen çizgiye 1. çizgi uzunluğu mesafesinde nokta konulur.
Bu videoda makro kodları geliştirildi. Komutun 1. aşamasında çizgi ile beraber yay, daire ve polyline çizgilerinin uzunlukları uzunluk değeri olarak alınıyor. Uzunluk değeri alınan çizgi uzunluğu kadar mesafede çizgi, yay, daire, elips, spline ve polyline nensesine nokta konuluyor.

CizgiyeNokta makrosunu komut satırından çalıştırmak için Autocad'de CN komutu oluşturulur. CN komutunu oluşturmak için CN_komutu prosedürünün bir kere çalıştırılması yeterlidir.

19 Mart 2022 Cumartesi

AutoCAD VBA #27. Çizgiye Nokta-3

Youtube koni açınımları videolarında kullandığım çizgiye nokta VBA makrosunun geliştirmeye devam ediyorum.

Makro çalıştırıldığında bir çizgi seçilerek çizginin uzunluğu alınır. Sonra bir çizgi daha seçilir 2. seçilen çizgiye 1. çizgi uzunluğu mesafesinde nokta konulur.

Bu videoda makro kodları geliştirildi. Komutun 1. aşamasında çizgi ile beraber yay, daire ve polyline çizgilerinin uzunlukları uzunluk değeri olarak alınıyor.

CizgiyeNokta makrosunu komut satırından çalıştırmak için Autocad'de CN komutu oluşturulur. CN komutunu oluşturmak için CN_komutu prosedürünün bir kere çalıştırılması yeterlidir.

Videoda kullanılan kodlar:

13 Ocak 2022 Perşembe

Ölçü aralıklarını eşitleyen AutoCAD VBA kodu

 AutoCAD çizimlerinde ölçülendirme yapılırken ölçü çizgisi ile ana çizgisi arasındaki mesafe eşit olmadığında hoş olmayan bir ölçülendirme çizimi ortaya çıkar. Resimde görüldüğü gibi soldaki gibi düzensiz yapılan ölçülendirme sağdaki gibi olması gerekir.

AutoCAD ayarlarında ya da komutlarında bu mesafeyi eşit yapacak bir seçenek yok. O yüzden benim de ihtiyacım olan bu özelliği sağlamak için AutoCAD VBA kodu yazdım.

1. kod çalıştığında ölçü aralığı belirtiliyor ve ölçü nesneleri tek tek seçilerek ölçü aralıkları verilen ölçü aralığı ile eşitleniyor. LINEAR ve ALIGNED ölçüler kabul ediliyor.

24 Eylül 2021 Cuma

Excel VBA ile Yazı Animasyonu


Excel VBA ile Yazı Animasyonu
Sub Animasyon()
'makro: Mesut Akcan
'23/9/2021
'mesutakcan.blogspot.com

With ActiveSheet.Shapes.Range(Array(1)).TextFrame2.ThreeD
'With ActiveSheet.Shapes.Range("yazi1").TextFrame2.ThreeD

    .Visible = msoFalse
    .BevelTopType = msoBevelAngle
    .SetPresetCamera (msoCameraPerspectiveLeft)
    .FieldOfView = 100
    .BevelTopInset = 0
    .BevelTopDepth = 0
    .RotationX = 0
    .Depth = 4.5
    .BevelBottomInset = 8
    .BevelBottomDepth = 5
    .BevelBottomType = msoBevelAngle
    For n = 0 To 8
        .BevelTopInset = n
        If n > 5 Then a = 5 Else a = n
        .BevelTopDepth = a
        bekle 2000
    Next

    For n = 0 To 360 Step 10
        .LightAngle = n
        bekle 2000
    Next
    For a = 360 To 0 Step -10
        .RotationX = a
        .RotationZ = -a
        bekle 1000
    Next
End With
End Sub

Sub bekle(t)
    For n = 1 To t: DoEvents: Next
End Sub

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)

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.

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.

26 Ağustos 2020 Çarşamba

QuickBasic - 24: Ses, Müzik

Yayınlama: 26 Ağustos 2020

BEEP

Sistem hoparlöründen bip sesi çalar. En basit ses çalma komutudur. Parametresi yoktur.

SOUND

Kullanımı:
SOUND frekans, süre
Belirtilen frekanstaki sesi süre kadar çalar.
frekans: Sıklık, saniyedeki salınım sayısı. 37-32767 arası bir değer alabilir. Birimi Hertz(Hz)dir.
süre: Sesin süresini belirler. 0-65535 arası bir değer alabilir. Birimi saat tikidir. 1 sn = 18.2 tik

Örnek 1:
' SOUND Örnek
' ©2020 Mesut Akcan
' mesutakcan.blogspot.com
CLS
FOR n = 1 TO 5
    SOUND 1000, 3 '1 KHz, 3/18 sn
    PRINT CHR$(254);
    SLEEP 1
NEXT
PRINT CHR$(219)
SOUND 1000, 10 '1 KHz, 10/18 sn

7 Ağustos 2020 Cuma

QuickBasic - 25: Klavye kullanımı

Yayınlama: 7 Ağustos 2020

Bilgisayarda girdi birimi olarak kullanılan donanımlardan en çok kullanılanı klavye ve faredir.
QuickBasic ile kullanıcının klavye girdisi sağlayabileceği gibi klavye tuş vuruşları da takip edilip kontrol edilebilir.

Klavye ile veri girişi

INPUT, LINE INPUT

Klavyeden girilen karakterleri değişken(ler)e aktarır. Ayrıntı için: 3: Değişkenlere veri aktarma

INKEY$

Klavyede basılan bir tuşun bir veya iki baytlık bir dize(string) değerini verir.
Klavyeden tuşlara basıldığında tuş bilgileri klavye ara belleğine(tampon) aktarılır.
PLAY komutunda olduğu gibi tampondaki sıraya göre tuş vuruşları bilgisayara iletilerek değerlendirilir.
Tamponda bekleyen bir karakter yoksa INKEY$ boş olacaktır.
Tek karakterlik bir dize, klavyeden okunan gerçek tuş karakteri içerirken, iki karakterli bir dize, ilk karakteri 0 olan genişletilmiş bir kodu belirtir. F1-F12, imleç yön tuşları, home, end... Nümerik klavye tuşları... vb.
Tek başına basılan CTRL, ALT, SHIFT, CAPS LOCK, NUM LOCK, SCROLL LOCK tuşlarını algılamaz.
Aşağıdaki kodları deneyin.

30 Mart 2020 Pazartesi

AutoCAD ile VBA Makro Kullanımı #6-1


Bu videoada AutoCAD VBA makro kodları ile slot çizme açıklandı.
Video 3 bölüm halinde yayınlanacak.

Bu bölümde slot çiziminde kullanılan VBA fonksiyonlarından
GetPoint
GetDistance
AngleFromXAxis
açıklandı.

Diğer fonksiyonlar sonraki videolarda açıklanacak.
Videolarda kullanılan VBA Kodları: