|
| Visual Basic Kod Paylaşım Merkezi | |
| | |
Yazar | Mesaj |
---|
ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Kayıt tarihi : 24/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 2:05 pm | |
| Animasyonlu Button - Kod:
-
'Kullanılan Nesneler 'CommandButton
Private Sub Form_Load() command1.Caption="BAŞLA BAKALIM End Sub
Private Sub Command1_Click Dim j,k For k=1 to 800 For j=1 to 50 Command1.Caption=j Next Next End Sub | |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Kayıt tarihi : 24/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 2:06 pm | |
| Analog Saat Yapımıiki adet timer ekleyin kodu direk yapıştırın -------------------------------- - Kod:
-
Private Sub Form_Load() Dim aci, i, t AutoRedraw = True Timer1.Interval = 1000 ' 1 saniye Timer2.Interval = 10 '1 saniye 'zemin desenini çiz ScaleMode = 3 'pixel moduna geçir For i = 0 To ScaleHeight Line (0, i)-(ScaleWidth, i), i * 256 Next ScaleMode = 1 'normal moda dön 'form yüksekli?ini ve genisligini ayni yap Width = ScaleHeight 'matematiksel koordinatlara göre yeniden ölçekle Scale (-20, 20)-(20, -20) t = "Geveze.Forum7.Biz" CurrentX = -TextWidth(t) / 2 ' orta noktayy bul CurrentY = -1 Print t t = " KrcGk " CurrentX = -TextWidth(t) / 2 CurrentY = -4 Print t 'saat yuvarlagini ciz DrawWidth = 5 Circle (0, 0), 19, 65535 DrawWidth = 2 'saniye cizimlerini ciz For aci = 0 To 360 Step 6 Line (18 * Cos(aci * 3.1415 / 180), 18 * Sin(aci * 3.1415 / 180))-(19 * Cos(aci * 3.1415 / 180), 19 * Sin(aci * 3.1415 / 180)), QBColor(5) 'saniyelerin arka rengi Next 'saat cizgilierini ciz DrawWidth = 4 For aci = 0 To 360 Step 6 * 5 Line (18 * Cos(aci * 3.1415 / 180), 18 * Sin(aci * 3.1415 / 180))-(19 * Cos(aci * 3.1415 / 180), 19 * Sin(aci * 3.1415 / 180)), QBColor(15) 'saatlerin arka rengi Next DrawMode = 7 'xor End Sub Private Sub Timer1_Timer() Dim aci, saniye, dakika, saat, i Static sx, sy, dx, dy, stx, sty Caption = Time DrawWidth = 2 Line (0, 0)-(sx, sy), QBColor(6) 'saniyeyi çiz saniye = Second(Time) 'saniyeyi saatten al aci = -saniye * 6 + 90 'her bir saniye +6 derecedir 360 derece 60 saniyedir sx = 18 * Cos(aci * 3.1415 / 180) sy = 18 * Sin(aci * 3.1415 / 180) Line (0, 0)-(sx, sy), QBColor(6) 'saniyeyi çiz DrawWidth = 3 Line (0, 0)-(dx, dy), QBColor(11) 'yelkovany çiz dakika = Minute(Time) 'dakikayi saatten al aci = -dakika * 6 + 90 'her bir dakika 6 derecedir 360 derece / 60 dakikadir dx = 18 * Cos(aci * 3.1415 / 180) dy = 18 * Sin(aci * 3.1415 / 180) Line (0, 0)-(dx, dy), QBColor(11) 'yelkovani çiz DrawWidth = 3 Line (0, 0)-(stx, sty), QBColor(12) 'akrebi ciz saat = Hour(Time) 'saati saatten al aci = -saat * 30 + 90 'her bir saat 30 derecedir 360 derece / 12 saat stx = 12 * Cos(aci * 3.1415 / 180) sty = 12 * Sin(aci * 3.1415 / 180) Line (0, 0)-(stx, sty), QBColor(12) 'akrebi ciz 'saat basi ise zil cal If Minute(Time) = 0 Then Beep End Sub Private Sub Timer2_Timer() Static sls sls = (sls + 1) Mod 360 Dim aci Dim sx, sy, dx, dy, stx, sty DrawWidth = 1 aci = -sls * 3.6 + 90 'her bir saniye 3.6 derecedir. 360 derece/ 100 sx = 3 * Cos(aci * 3.1415 / 180) sy = 3 * Sin(aci * 3.1415 / 180) Line (5, 5)-(5 + sx, 5 + sy), QBColor(10) 'sagdaki kucuk ibre Line (-5, 5)-(-5 - sx, 5 - sy), QBColor(10) 'soldaki kucuk ibre End Sub
| |
| | | 0 ®h Negatif Sponsor
Mesaj Sayısı : 328 Kayıt tarihi : 22/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 4:33 pm | |
| | |
| | | 0 ®h Negatif Sponsor
Mesaj Sayısı : 328 Kayıt tarihi : 22/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 4:48 pm | |
| CD-ROM'u kontrol etmek hiç bu kadar kolay olmadı
Kod;
QUOTE Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long Private Sub Command1_Click() mciExecute ("set cdaudio door open") End Sub Private Sub Command2_Click() mciExecute ("set cdaudio door closed") End Sub | |
| | | 0 ®h Negatif Sponsor
Mesaj Sayısı : 328 Kayıt tarihi : 22/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 4:49 pm | |
| VB'de mp3 player yapmak için ilk önce components bölümünden (ctrl+T tuş kombinasyonu ile ulaşabilirsiniz) windows media player componentini ekleyin.Daha sonra bir text kutusu ve bir command button koyun daha sonra commandın içine
CODE mediaplayer1.filename=text1.text mediaplayer1.play yazın. Daha sonra text kutusuna herhangi bir mp3 parçasının yolunu yazın sonra komut düğmesine tıklayın. Böylece basit bir mp3 çalar yapmış olduk. bu işin temel mantığı budur. Şarkıyı durdurmak için; CODE mediaplayer1.stop
sesi kapatmak için; CODE mediaplayer1.mute=true
sesi azaltmak için; CODE mediaplayer1.volome=mediaplayer1.volome-5
art için; CODE mediaplayer1.volome=mediaplayer1.volome+5 şeklinde kodlar yazabilirsiniz.
Daha sonra bu programa mp3 klasörü ekle,sadece şarkı ekle gibi winampta bulunan menüler ekleyebilirsiniz. Ana pencerede iki tane liste olduğunu varsayarsak birinci listeye; CODE mediaplayer1.filename
ikinci listeye; CODE dir1.path & "\" &mediaplayer1.filename
kodları ile mp3 şarkılarını aktarın yani birine şarkı adı diğeine de şakı yolu. ve listlerin ineexlerini eşitlersek şarkı adına tıkladığımızda diğer taraftan da şarkının asıl yoluna otomatik olarak tıklamış oluruz. önceden text kutusuyla yaptığımız işi şimdi listeyle yapalım bunun için list2'nin dblclick olayına; CODE mediaplayer1.filname=list2.text mediaplayer1.play
komutunu eklersek list1 de tıkladığımız şarkı list2 deki yolu alarak çalar . İşte tüm hikaye böyle. | |
| | | 0 ®h Negatif Sponsor
Mesaj Sayısı : 328 Kayıt tarihi : 22/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 4:49 pm | |
| Dosyalama İşlemi
İlk olarak projenizde 3 adet form olaması gerekiyor.
------------------------------------------------- 1. form için kodlar. Forma 2 command ekleyin. ///////////////////////////////////////////////// Private Sub Command1_Click() Form2.Show 'form 2yi görüntüle End Sub
Private Sub Command2_Click() Form3.Show 'form 3ü görüntüle End Sub /////////////////////////////////////////////////
-------------------------------------------------- 2.form için kodlar. Forma 4'er adet label ve textbox ekleyin. Label1-Text1 'in karşısına gelecek şekilde olsun. Diğerleride aynen. 1 tane de command ekleyin. ///////////////////////////////////////////////// Option Explicit
Private Sub Command1_Click() Dim dosya 'değişkenimiz dosya = "\belgem.txt" 'oluşturulacak belgemiz Open dosya For Append As #1 'burada dosyamızı 'oluşturuyoruz.
'textlerin içeriklerini 'kaydediyoruz. Write #1, Text1.Text Write #1, Text2.Text Write #1, Text3.Text Write #1, Text4.Text
'burdaki "#1"in anlamı kısaca kaydımıza numara 'veriyoruz. Okurken yine bu numarayı 'kullanacağız.
Close #1 'dosyamızı kapatıyoruz.
Form2.Visible = False End Sub
Private Sub Form_Load() Command1.Caption = "KAYDET" Label1.Caption = "Adı" Label2.Caption = "Soyadı" Label3.Caption = "TC Kimlik No" Label4.Caption = "Sicil No" End Sub /////////////////////////////////////////////////
--------------------------------------------------
3. form için kodlar. Aynı şekilde 4'er adet Label , Listbox ekleyin. label1'in alına List1'i yerleştirin diğerleride aynen.
//////////////////////////////////////////////////
Option Explicit
Private Sub Form_Load() Dim dosya 'değişkenimiz Dim a, b, c, d 'dört ayrı textte kayıt yaptığımız için böyle bir 'değişken belirledik. dosya = "\belgem.txt" 'yine aynı belgemiz.
Open dosya For Input As #1 ' belgemizi okumak için kodumuz
Do 'döngü açaraz okuma yapıyoruz Input #1, a, b, c, d 'değişkenleri okuyoruz List1.AddItem a 'listboxların içlerine atıyoruz List2.AddItem b List3.AddItem c List4.AddItem d Loop While Not EOF(1) 'döngünün sonu 'dosya sonu kontrolü Close #1 'kapatıyoruz
Label1.Caption = "Adı" Label2.Caption = "Soyadı" Label3.Caption = "TC Kimlik No" Label4.Caption = "Sicil No" End Sub
/////////////////////////////////////////////////
--------------------------------------------------
Projenizi kaydettikten sonra deneyin. Kaydettiğiniz belgeyi bulamayabilirsiniz. Kullanıcıların kaydettiğiniz verilerinize ulaşmasını istemiyorsanız. Asci kodlar yardımıyla herkarekteri klavyeden belli bir anlamı olmayan işaretlere çevirerek kayıt yaptırabilirsiniz. Fakat okuturkende tekrar eski haline dönecek şekilde olması gerekiyor. Belgeniniz uzantısınıda değiştirebilirsiniz.
Kolay gelsin... | |
| | | 0 ®h Negatif Sponsor
Mesaj Sayısı : 328 Kayıt tarihi : 22/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 4:50 pm | |
| YAZILI TARİHLERİ ALARM SİSTEMİ YAZILI TARİHLERİ ALARM SİSTEMİ PROJENİN AMACI GİRİLEN YAZILILARIN TARİHLERİ GELİNCE MSGBOX'LA VE SESLİ HABER VERMESİDİR. KODLARI DEĞİŞTİRİP ÇEŞİTLİ AMAÇLAR İÇİN KULLANILABİLİR. KODLARI AYRINTILI ANLATMAYA ÇALIŞACAĞIM. İLK ÖNCE FORMA 52 TANE TEXTBOX VE 6 TANE LABEL EKLİYORUZ. 1 VE 13 ARASI TEXTLER BİR SÜTUN. (LABEL ADI: DERSİN ADI) 14 VE 26 ARASI TEXTLER BİR SÜTUN. (LABEL ADI: 1. YAZILI). 27 VE 39 ARASI TEXTLER BİR SÜTUN. (LABEL ADI: 2. YAZILI) 40 VE 52 ARASI TEXTLER BİR SÜTUN. (LABEL ADI: 3. YAZILI) DAHA SONRA FORMA 1 TİMER KOYUYORUZ. TİMER1'E : SİSTEMİN SAATİNİ ALMAK İÇİN FORMA TARİH VE SAAT EKLİYORUZ. İNTERVAL'İ 100 OLACAK. Label1.Caption = Date Label2.Caption = Time FORMA BİR TANE DATABASE EKLİYORUZ. YENİ DAT. DOSYASI EKLEYEREK NEW TABLE İLE YENİ TABLO EKLİYORUZ. TABLE ADI alarm OLACAK. VE ADD FİLEDE TIKLAYARAK AD GİRECEĞİZ. NAME YAZAN YERE TEKER TEKER: y1, y2, y3...y12, y13 yd1, yd2, yd3, yd4... yd37, yd38, yd39 YAZIYORUZ. YADIKTAN SONRA OK VE CLOSE SEÇİP GERİ ÇIKIYORUZ. BUİLD THE TABLE'YE TIKLAYARAK YENİ TABLO EKLEMİŞ OLUYORUZ. DATANIN DATABASENAME SEÇENEĞİNİ EKLEMİŞ OLDUĞUMUZ DAT. DOSYASININ YERİNİ BULARAK SEÇİYORUZ. RECORDSOURCE YERİNİDE alarm SEÇİYORUZ. DAHA SONRA FORMA GELİP EKLEMİŞ OLDUĞUMUZ 4 SÜTUN HALİNDEKİ TEXTLERİN HEPSİNİ SEÇİP DATASOURCE'SİNİ DATA1 SEÇİYORUZ. SEÇTİKTEN SONRA TEXT 1'DEN BAŞLAYIP ( YANİ İLK SÜTUNUN) TEXTLERİN DATAFİELD LARINI SIRA İLE y1, y2... y12, y13 SEÇİYORUZ. DİĞER TEXTLERİN DATAFİELD LARINIDA SIRASI İLE yd1, yd2...yd38, yd39 seçiyoruz. FORMA 1 TANE DAHA DATA EKLİYORUZ. VE BU DATANINDA DATABASENAME VE RECORDSOURCE DATA1'İN AYNI DAT. DOSYASINI SEÇİYORUZ. FORMA 1 TANE WİNDOWSMEDİAPLAYER EKLİYORUZ. BEN BUGÜN YAZILIN VAR DİYE BİR SES KAYDETMİŞTİM. BUNU SİZ ARTIK BAŞKA SES DOSYASI SEÇİN. SADECE " C:\Program Files/ismail/yazili.wma " ŞU BÖLÜMÜ DEĞİŞTİRMENİZ YETERLİ OLACAK. VE FORMA 1 TANE DAHA TİMER EKLİYORUZ. İNTERVAL'İ 3000 OLACAK. VE İÇİNE: - Kod:
-
Private Sub Timer2_Timer() If Data3.Recordset![yd1] = Label1.Caption Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y1] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd14] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y1] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd27] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y1] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd2] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y2] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd15] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y2] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd28] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y2] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd3] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y3] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd16] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y3] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd29] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y3] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd4] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y4] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd17] Then MsgBox ("Bugün " & Data3.Recordset![Y4] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd30] Then MsgBox ("Bugün " & Data3.Recordset![Y4] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd5] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y5] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd18] Then MsgBox ("Bugün " & Data3.Recordset![Y5] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd31] Then MsgBox ("Bugün " & Data3.Recordset![Y5] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd6] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y6] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd19] Then MsgBox ("Bugün " & Data3.Recordset![Y6] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd32] Then MsgBox ("Bugün " & Data3.Recordset![Y6] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd7] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y7] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd20] Then MsgBox ("Bugün " & Data3.Recordset![Y7] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd33] Then MsgBox ("Bugün " & Data3.Recordset![Y7] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd8] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y8] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd21] Then MsgBox ("Bugün " & Data3.Recordset![Y8] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd34] Then MsgBox ("Bugün " & Data3.Recordset![Y8] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd9] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y9] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd22] Then MsgBox ("Bugün " & Data3.Recordset![Y9] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd35] Then MsgBox ("Bugün " & Data3.Recordset![Y9] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd10] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y10] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd23] Then MsgBox ("Bugün " & Data3.Recordset![Y10] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd36] Then MsgBox ("Bugün " & Data3.Recordset![Y10] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd11] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y11] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd24] Then MsgBox ("Bugün " & Data3.Recordset![Y11] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd37] Then MsgBox ("Bugün " & Data3.Recordset![Y11] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd12] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y12] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd25] Then MsgBox ("Bugün " & Data3.Recordset![Y12] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd38] Then MsgBox ("Bugün " & Data3.Recordset![Y12] & " yazılın var") Timer2.Enabled = False End If If Label1.Caption = Data3.Recordset![yd13] Then WindowsMediaPlayer1.URL = "C:\Program Files/ismail/yazili.wma" MsgBox ("Bugün " & Data3.Recordset![Y13] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd26] Then MsgBox ("Bugün " & Data3.Recordset![Y13] & " yazılın var") Timer2.Enabled = False ElseIf Label1.Caption = Data3.Recordset![yd39] Then MsgBox ("Bugün " & Data3.Recordset![Y13] & " yazılın var") Timer2.Enabled = False End If End Sub
FORMA BİR TANE COMMANDBUTON EKLEYİP İÇİNE
Private Sub Command1_Click() Data1.Recordset.AddNew End End Sub YAZIYORUZ. VERİLERİ KAYDEDİP ÇIKMASI İÇN. ÖNERİ: YAZILI TARİHLERİNİ 1-2 GÜN ÖNCEKİ TARİHİ GİRİNİZ. ÖNCEDEN HABER VEREBİLMESİ İÇİN. KOLAY GELSİN... | |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Kayıt tarihi : 24/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 6:43 pm | |
| Exel Macro Kodu - Kod:
-
[font=Courier New]Sub Okek()
----Örneğin Okek'ini bulacağımız sayıları excel hücrelerimizde a sütununda alt alta yazalım. Arada boş bırakılan hücre olmasın. A sütununda yazdığımız rakamlardan başka bir şey yazılı olmasın ---
----Değişkenleri tanımlayalım.---
Dim uzunluk, mak, mak1, say, bul, deger
Dim dizi()
---- dizi() adlı dizi değişkeni tanımladık,şimdilik dizi boyutunu boş bıraktık , dizi boyutunu a sütunundaki dolu hücre sayısını öğrenince redim komutuyla belirleyeceğiz---
Dim yön As Boolean
bul = 1
--- A sütununda 65000'inci satıra kadar olan hücrelerden yukarıdan aşağıya inildiğinde en aşağıdaki son dolu hücrenin kaçıncı satırda olduğunu bulalım.---
uzunluk = [a65000].End(3).Row
---eğer rakamların yazılacağı A sütununda 2 den az sayıda hücrede rakam varsa obeb veya okek hesaplamaya gerek kalmaz. Durum öyle ise exit sub yap yani bu programcığı burada kapat, çalışmasını durdur yani ---
If uzunluk < 2 Then Exit Sub
--- Dizi() adlı dizi değişkeninin boyutunu A sütunundaki rakam adedi kadar yapıyoruz.---
ReDim dizi(uzunluk)
--- A sütunundaki en büyük rakamı buluyoruz. Okek bulmak için bize lazım olacak---
mak = WorksheetFunction.Max(Range("A1:A" & uzunluk))
mak1 = mak
ilk:
--- Aşağıda, önce kendimiz ilk 1. yöntemimizi uygulayıp yukarıda bulduğumuz bu mak değerini mak1 değişkenine atıyoruz. Ve A sütunundaki tüm değerler, mak1 değişkenine bölüyoruz. Hepsi kalansız bölünebiliyorsa okek değerini bulmuş olduk. (Okek=mak1). Eğer tek bir tanesi bile mak1 değerine tam kalansız bölünemiyorsa hemen döngüden çıkıp mak1 değerine yukarıdaki mak değerini ekleyip (yani mak1=mak1+mak) işlemi tekrar yapıyoruz. Yani yeni mak1 değerini a sütunundaki tüm değerlere bölüyoruz. Hepsi kalansız bölünüyorsa okek yeni mak1 değeridir. Bölünmeyen değer varsa yine döngüden çıkıyoruz ve mak1 değerine mak değerini ekleyip döngüye girip işlemi tekrar yapıyoruz. 751 kere döngüye girilip okek değeri bulunamazsa ( yani 751 dafa mak1=mak1+mak yapıldığı halde hala okek değerine ulaşılamadı ise) okek bulmak için (ileri:) alanına atlayıp 2. yönteme geçiyoruz.---
For i = 1 To uzunluk
If mak1 Mod Cells(i, 1) > 0 Then
mak1 = mak1 + mak
say = say + 1
If say > 751 Then
GoTo ileri
End If
DoEvents
GoTo ilk
End If
Next
----okek bulmak için kullandığımız 2. yöntem buradan başlıyor---
ileri:
A sütunundaki değerler dizi() değişkenine alınıyor, (üzerlerinde daha rahat işlem yapabilmek için)---
For x = 1 To uzunluk
dizi(x) = Cells(x, 1)
Next
---aşağıda matematikte kullanılan birden fazla sayının okek'ini alma işlemi bilgisayara kodlarla yaptırılıyor, tüm rakamlar 2'ye bölünüyor, tekrar 2'ye bölünebilen varsa 2'ye bölünüyor. Sonra 3'e bölünüyor, 4'e bölünüyor, vb.. Taki listedeki tüm rakamlar bölüne bölüne asal sayı olana kadar. Sonra tüm bölen rakamlar birbiri ile çarpılarak okek bulunuyor. Aynen matematikte birden fazla sayının okekini alma işlemi yani---
For v = 2 To mak
yön = False
For y = 1 To uzunluk
If dizi(y) Mod v = 0 Then
yön = True
dizi(y) = dizi(y) / v
End If
Next
If yön = True Then
bul = bul * v
For i = 1 To uzunluk
For j = 1 To uzunluk
If dizi(i) > dizi(j) Then
deger = dizi(i)
dizi(i) = dizi(j)
dizi(j) = deger
End If
Next
Next
mak = dizi(1)
v = 1
End If
Next
--- şimdi emeğimizin karşılığını alma zamanı, bulduğumuz sonuçları hücrelere yazdırarak
veya msgbox ile bildirerek, gereken yerlerde kullanırız.---
Range("A1:A" & uzunluk).Select
Cells(1, 2) = "Okek ="
Cells(1, 2).Font.Bold = True
Cells(1, 3) = bul
MsgBox "OKEK = " & bul
End Sub
Sub Okek()
----Örneğin Okek'ini bulacağımız sayıları excel hücrelerimizde a sütununda alt alta yazalım. Arada boş bırakılan hücre olmasın. A sütununda yazdığımız rakamlardan başka bir şey yazılı olmasın ---
----Değişkenleri tanımlayalım.---
Dim uzunluk, mak, mak1, say, bul, deger
Dim dizi()
---- dizi() adlı dizi değişkeni tanımladık,şimdilik dizi boyutunu boş bıraktık , dizi boyutunu a sütunundaki dolu hücre sayısını öğrenince redim komutuyla belirleyeceğiz---
Dim yön As Boolean
bul = 1
--- A sütununda 65000'inci satıra kadar olan hücrelerden yukarıdan aşağıya inildiğinde en aşağıdaki son dolu hücrenin kaçıncı satırda olduğunu bulalım.---
uzunluk = [a65000].End(3).Row
---eğer rakamların yazılacağı A sütununda 2 den az sayıda hücrede rakam varsa obeb veya okek hesaplamaya gerek kalmaz. Durum öyle ise exit sub yap yani bu programcığı burada kapat, çalışmasını durdur yani ---
If uzunluk < 2 Then Exit Sub
--- Dizi() adlı dizi değişkeninin boyutunu A sütunundaki rakam adedi kadar yapıyoruz.---
ReDim dizi(uzunluk)
--- A sütunundaki en büyük rakamı buluyoruz. Okek bulmak için bize lazım olacak---
mak = WorksheetFunction.Max(Range("A1:A" & uzunluk))
mak1 = mak
ilk:
--- Aşağıda, önce kendimiz ilk 1. yöntemimizi uygulayıp yukarıda bulduğumuz bu mak değerini mak1 değişkenine atıyoruz. Ve A sütunundaki tüm değerler, mak1 değişkenine bölüyoruz. Hepsi kalansız bölünebiliyorsa okek değerini bulmuş olduk. (Okek=mak1). Eğer tek bir tanesi bile mak1 değerine tam kalansız bölünemiyorsa hemen döngüden çıkıp mak1 değerine yukarıdaki mak değerini ekleyip (yani mak1=mak1+mak) işlemi tekrar yapıyoruz. Yani yeni mak1 değerini a sütunundaki tüm değerlere bölüyoruz. Hepsi kalansız bölünüyorsa okek yeni mak1 değeridir. Bölünmeyen değer varsa yine döngüden çıkıyoruz ve mak1 değerine mak değerini ekleyip döngüye girip işlemi tekrar yapıyoruz. 751 kere döngüye girilip okek değeri bulunamazsa ( yani 751 dafa mak1=mak1+mak yapıldığı halde hala okek değerine ulaşılamadı ise) okek bulmak için (ileri:) alanına atlayıp 2. yönteme geçiyoruz.---
For i = 1 To uzunluk
If mak1 Mod Cells(i, 1) > 0 Then
mak1 = mak1 + mak
say = say + 1
If say > 751 Then
GoTo ileri
End If
DoEvents
GoTo ilk
End If
Next
----okek bulmak için kullandığımız 2. yöntem buradan başlıyor---
ileri:
A sütunundaki değerler dizi() değişkenine alınıyor, (üzerlerinde daha rahat işlem yapabilmek için)---
For x = 1 To uzunluk
dizi(x) = Cells(x, 1)
Next
---aşağıda matematikte kullanılan birden fazla sayının okek'ini alma işlemi bilgisayara kodlarla yaptırılıyor, tüm rakamlar 2'ye bölünüyor, tekrar 2'ye bölünebilen varsa 2'ye bölünüyor. Sonra 3'e bölünüyor, 4'e bölünüyor, vb.. Taki listedeki tüm rakamlar bölüne bölüne asal sayı olana kadar. Sonra tüm bölen rakamlar birbiri ile çarpılarak okek bulunuyor. Aynen matematikte birden fazla sayının okekini alma işlemi yani---
For v = 2 To mak
yön = False
For y = 1 To uzunluk
If dizi(y) Mod v = 0 Then
yön = True
dizi(y) = dizi(y) / v
End If
Next
If yön = True Then
bul = bul * v
For i = 1 To uzunluk
For j = 1 To uzunluk
If dizi(i) > dizi(j) Then
deger = dizi(i)
dizi(i) = dizi(j)
dizi(j) = deger
End If
Next
Next
mak = dizi(1)
v = 1
End If
Next
--- şimdi emeğimizin karşılığını alma zamanı, bulduğumuz sonuçları hücrelere yazdırarak
veya msgbox ile bildirerek, gereken yerlerde kullanırız.---
Range("A1:A" & uzunluk).Select
Cells(1, 2) = "Okek ="
Cells(1, 2).Font.Bold = True
Cells(1, 3) = bul
MsgBox "OKEK = " & bul
End Sub [/font] | |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Kayıt tarihi : 24/04/09
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 6:43 pm | |
| IP Adresi Bulmak - Kod:
-
'Aşağıdakileri modüle kopyalayın
Public Const MAX_WSADescription = 256
Public Const MAX_WSASYSStatus = 128
Public Const ERROR_SUCCESS As Long = 0
Public Const WS_VERSION_REQD As Long = &H101
Public Const WS_VERSION_MAJOR As Long = WS_VERSION_REQD \ &H100 And &HFF&
Public Const WS_VERSION_MINOR As Long = WS_VERSION_REQD And &HFF&
Public Const MIN_SOCKETS_REQD As Long = 1
Public Const SOCKET_ERROR As Long = -1
Public Type HOSTENT
hName As Long
hAliases As Long
hAddrType As Integer
hLen As Integer
hAddrList As Long
End Type
Public Type WSADATA
wVersion As Integer
wHighVersion As Integer
szDescription(0 To MAX_WSADescription) As Byte
szSystemStatus(0 To MAX_WSASYSStatus) As Byte
wMaxSockets As Integer
wMaxUDPDG As Integer
dwVendorInfo As Long
End Type
Public Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long
Public Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long
Public Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
Public Declare Function gethostname Lib "WSOCK32.DLL" (ByVal szHost As String, ByVal dwHostLen As Long) As Long
Public Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHost As String) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
Public Function GetIPAddress() As String
Dim sHostName As String * 256
Dim lpHost As Long
Dim HOST As HOSTENT
Dim dwIPAddr As Long
Dim tmpIPAddr() As Byte
Dim i As Integer
Dim sIPAddr As String
If Not SocketsInitialize() Then
GetIPAddress = ""
Exit Function
End If
If gethostname(sHostName, 256) = SOCKET_ERROR Then
GetIPAddress = ""
MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & " has occurred. Unable to successfully get Host Name."
SocketsCleanup
Exit Function
End If
sHostName = Trim$(sHostName)
lpHost = gethostbyname(sHostName)
If lpHost = 0 Then
GetIPAddress = ""
MsgBox "Windows Sockets are not responding. " & "Unable to successfully get Host Name."
SocketsCleanup
Exit Function
End If
CopyMemory HOST, lpHost, Len(HOST)
CopyMemory dwIPAddr, HOST.hAddrList, 4
ReDim tmpIPAddr(1 To HOST.hLen)
CopyMemory tmpIPAddr(1), dwIPAddr, HOST.hLen
For i = 1 To HOST.hLen
sIPAddr = sIPAddr & tmpIPAddr(i) & "."
Next
GetIPAddress = Mid$(sIPAddr, 1, Len(sIPAddr) - 1)
SocketsCleanup
End Function
Public Function GetIPHostName() As String
Dim sHostName As String * 256
If Not SocketsInitialize() Then
GetIPHostName = ""
Exit Function
End If
If gethostname(sHostName, 256) = SOCKET_ERROR Then
GetIPHostName = ""
MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & " has occurred. Unable to successfully get Host Name."
SocketsCleanup
Exit Function
End If
GetIPHostName = Left$(sHostName, InStr(sHostName, Chr(0)) - 1)
SocketsCleanup
End Function
Public Function HiByte(ByVal wParam As Integer)
HiByte = wParam \ &H100 And &HFF&
End Function
Public Function LoByte(ByVal wParam As Integer)
LoByte = wParam And &HFF&
End Function
Public Sub SocketsCleanup()
If WSACleanup() <> ERROR_SUCCESS Then
MsgBox "Socket error occurred in Cleanup."
End If
End Sub
Public Function SocketsInitialize() As Boolean
Dim WSAD As WSADATA
Dim sLoByte As String
Dim sHiByte As String
If WSAStartup(WS_VERSION_REQD, WSAD) <> ERROR_SUCCESS Then
MsgBox "The 32-bit Windows Socket is not responding."
SocketsInitialize = False
Exit Function
End If
If WSAD.wMaxSockets < MIN_SOCKETS_REQD Then
MsgBox "This application requires a minimum of " & CStr(MIN_SOCKETS_REQD) & " supported sockets."
SocketsInitialize = False
Exit Function
End If
If LoByte(WSAD.wVersion) < WS_VERSION_MAJOR Or (LoByte(WSAD.wVersion) = WS_VERSION_MAJOR And HiByte(WSAD.wVersion) < WS_VERSION_MINOR) Then
"BUNLARI MODÜLE YAZ" sHiByte = CStr(HiByte(WSAD.wVersion))
sLoByte = CStr(LoByte(WSAD.wVersion))
MsgBox "Sockets version " & sLoByte & "." & sHiByte & " is not supported by 32-bit Windows Sockets."
SocketsInitialize = False
Exit Function
End If
SocketsInitialize = True
End Function "BUNLARI FORMA YAZ"
Private Sub Form_Load()
MsgBox "IP Host Name: " & GetIPHostName()
MsgBox "IP Address: " & GetIPAddress()
End Sub Ip Adresi Bulmak Vb ile
[size=9]'Aşağıdakileri modüle kopyalayın
Public Const MAX_WSADescription = 256
Public Const MAX_WSASYSStatus = 128
Public Const ERROR_SUCCESS As Long = 0
Public Const WS_VERSION_REQD As Long = &H101
Public Const WS_VERSION_MAJOR As Long = WS_VERSION_REQD \ &H100 And &HFF&
Public Const WS_VERSION_MINOR As Long = WS_VERSION_REQD And &HFF&
Public Const MIN_SOCKETS_REQD As Long = 1
Public Const SOCKET_ERROR As Long = -1
Public Type HOSTENT
hName As Long
hAliases As Long
hAddrType As Integer
hLen As Integer
hAddrList As Long
End Type
Public Type WSADATA
wVersion As Integer
wHighVersion As Integer
szDescription(0 To MAX_WSADescription) As Byte
szSystemStatus(0 To MAX_WSASYSStatus) As Byte
wMaxSockets As Integer
wMaxUDPDG As Integer
dwVendorInfo As Long
End Type
Public Declare Function WSAGetLastError Lib "WSOCK32.DLL" () As Long
Public Declare Function WSAStartup Lib "WSOCK32.DLL" (ByVal wVersionRequired As Long, lpWSADATA As WSADATA) As Long
Public Declare Function WSACleanup Lib "WSOCK32.DLL" () As Long
Public Declare Function gethostname Lib "WSOCK32.DLL" (ByVal szHost As String, ByVal dwHostLen As Long) As Long
Public Declare Function gethostbyname Lib "WSOCK32.DLL" (ByVal szHost As String) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
Public Function GetIPAddress() As String
Dim sHostName As String * 256
Dim lpHost As Long
Dim HOST As HOSTENT
Dim dwIPAddr As Long
Dim tmpIPAddr() As Byte
Dim i As Integer
Dim sIPAddr As String
If Not SocketsInitialize() Then
GetIPAddress = ""
Exit Function
End If
If gethostname(sHostName, 256) = SOCKET_ERROR Then
GetIPAddress = ""
MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & " has occurred. Unable to successfully get Host Name."
SocketsCleanup
Exit Function
End If
sHostName = Trim$(sHostName)
lpHost = gethostbyname(sHostName)
If lpHost = 0 Then
GetIPAddress = ""
MsgBox "Windows Sockets are not responding. " & "Unable to successfully get Host Name."
SocketsCleanup
Exit Function
End If
CopyMemory HOST, lpHost, Len(HOST)
CopyMemory dwIPAddr, HOST.hAddrList, 4
ReDim tmpIPAddr(1 To HOST.hLen)
CopyMemory tmpIPAddr(1), dwIPAddr, HOST.hLen
For i = 1 To HOST.hLen
sIPAddr = sIPAddr & tmpIPAddr(i) & "."
Next
GetIPAddress = Mid$(sIPAddr, 1, Len(sIPAddr) - 1)
SocketsCleanup
End Function
Public Function GetIPHostName() As String
Dim sHostName As String * 256
If Not SocketsInitialize() Then
GetIPHostName = ""
Exit Function
End If
If gethostname(sHostName, 256) = SOCKET_ERROR Then
GetIPHostName = ""
MsgBox "Windows Sockets error " & Str$(WSAGetLastError()) & " has occurred. Unable to successfully get Host Name."
SocketsCleanup
Exit Function
End If
GetIPHostName = Left$(sHostName, InStr(sHostName, Chr(0)) - 1)
SocketsCleanup
End Function
Public Function HiByte(ByVal wParam As Integer)
HiByte = wParam \ &H100 And &HFF&
End Function
Public Function LoByte(ByVal wParam As Integer)
LoByte = wParam And &HFF&
End Function
Public Sub SocketsCleanup()
If WSACleanup() <> ERROR_SUCCESS Then
MsgBox "Socket error occurred in Cleanup."
End If
End Sub
Public Function SocketsInitialize() As Boolean
Dim WSAD As WSADATA
Dim sLoByte As String
Dim sHiByte As String
If WSAStartup(WS_VERSION_REQD, WSAD) <> ERROR_SUCCESS Then
MsgBox "The 32-bit Windows Socket is not responding."
SocketsInitialize = False
Exit Function
End If
If WSAD.wMaxSockets < MIN_SOCKETS_REQD Then
MsgBox "This application requires a minimum of " & CStr(MIN_SOCKETS_REQD) & " supported sockets."
SocketsInitialize = False
Exit Function
End If
If LoByte(WSAD.wVersion) < WS_VERSION_MAJOR Or (LoByte(WSAD.wVersion) = WS_VERSION_MAJOR And HiByte(WSAD.wVersion) < WS_VERSION_MINOR) Then
"BUNLARI MODÜLE YAZ" sHiByte = CStr(HiByte(WSAD.wVersion))
sLoByte = CStr(LoByte(WSAD.wVersion))
MsgBox "Sockets version " & sLoByte & "." & sHiByte & " is not supported by 32-bit Windows Sockets."
SocketsInitialize = False
Exit Function
End If
SocketsInitialize = True
End Function "BUNLARI FORMA YAZ"
Private Sub Form_Load()
MsgBox "IP Host Name: " & GetIPHostName()
MsgBox "IP Address: " & GetIPAddress()
End Sub[/size]
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Çarş. Nis. 29, 2009 6:44 pm | |
| Mause Ve Klavye Kilitlemek - Kod:
-
Private Sub Command1_Click() SendKeys "{Home}" SendKeys "{Enter}" End Sub ------------------------------------------------------------------ klavyeyi kilitlemek -------------------------------------------------------------------- Dim TusKilidi As New NumCapsScrollLock
' Tus Atamalarını Öğrenmek / Yazmak İçin Tanımla Dim Num As Boolean, Caps As Boolean, Scroll As Boolean
Option Explicit
Private Sub cmdOku_Click( ) ' Oku TusKilidi.LockStateGet Num, Caps, Scroll
' Bildir chk_Num = Abs(Num ): chk_Caps = Abs(Caps ): chk_Scroll = Abs(Scroll )
End Sub
Private Sub cmdYaz_Click( ) ' Durumu Oku Num = CBool(chk_Num ): Caps = CBool(chk_Caps ): Scroll = CBool(chk_Scroll )
' Klavyeye kaydet TusKilidi.LockStateSet Num, Caps, Scroll
End Sub
Private Sub Form_Load( ) cmdOku_Click ' Göstermek İçin Oku ve Ekrana Yaz End Sub ------------------------------------------------------------------------- 1.Textbox , 1 Command Button , 1 Label , 1 Timer kontolü ekle ----------------------------------------------------------------------- Private Sub Command1_Click( ) Dim sor sor = InputBox("Lütfen alarm saatini yazın :","Alarm" ) Text1.Text = sor End Sub
Private Sub Form_Load( )
Text1.Locked = True Text1.Text = "" Timer1.Enabled = True Timer1.Interval = 1 End Sub
Private Sub Timer1_Timer( ) Label1.Caption = Time If Label1.Caption = Text1.Text Then MsgBox "Zaman Doldu...!" End If End Sub | |
| | | 0 ®h Negatif Sponsor
Mesaj Sayısı : 328 Nerden : Visual Basic'ten Kayıt tarihi : 22/04/09 Rep Puanı : 19
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:22 pm | |
| blinkonun verdiği kodu lütfen profosyonel olmayanlar yapmasın:) | |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:26 pm | |
| Joker Karakter - Kod:
-
Dim Mystr As String Mystr = "Hakan" If Mystr Like "H*" Then MsgBox "Bulundu" Else MsgBox "Bulunamadi" End If
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:26 pm | |
| Çalisma aninda Statusbar içerigi nasıl degistirilir - Kod:
-
Statusbar1.Panels(1).Text = "ßLinKo"
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:27 pm | |
| API TELEFON ÇEVİR - Kod:
-
Public Declare Function tapiRequestMakeCall Lib "TAPI32.DLL" (ByVal Dest As String, ByVal AppName As String, ByVal CalledParty As String, ByVal Comment As String) As Long Sub Main() TelefonÇevir "3699832", "Gürol" End Sub Public Sub TelefonÇevir(sNumber As String, sName As String) Dim lRetVal As Long lRetVal = tapiRequestMakeCall(Trim$(sNumber), App.Title, Trim$(sName), "") If lRetVal <> 0 Then 'Hata End If
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:28 pm | |
| Yanıp Sönen Label - Kod:
-
Private Sub Command1_Click() For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbRed For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbBlue For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbGreen For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbRed End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbRed For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbBlue For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbGreen For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbRed End Sub Private Sub label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbRed For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbBlue For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbGreen For X = 1 To 5000: DoEvents: Next X label1.ForeColor = vbRed
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:28 pm | |
| kullanıcı adını bulma bir text ekle - Kod:
-
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal _ lpBuffer As String, nSize As Long) As Long Dim ad As String * 255 Private Sub Form_Load() GetUserName ad, 255 Text1 = ad End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:29 pm | |
| Yazı gibi form yapalım - Kod:
-
Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function PathToRegion Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal _ x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As _ Long, ByVal bRedraw As Boolean) As Long Private Sub Form_Load() Dim sekil As Long Me.FontName = "Verdana" Me.FontSize = 40 BeginPath Me.hdc TextOut Me.hdc, 50, 50, "Bilgi", Len("Bilgi") EndPath Me.hdc sekil = PathToRegion(Me.hdc) SetWindowRgn Me.hWnd, sekil, True End Sub Private Sub Timer1_Timer() Me.BackColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:30 pm | |
| Klasordeki fotograflari göstermek - Kod:
-
Private Sub Form_Load() On Error Resume Next Dim file, file1, klasor As String klasor = "c:\proje\" file = Dir$(klasor & "*.jpg") For i = 1 To 5 Image1(i - 1).Picture = LoadPicture(file) file = Dir$ Next i file1 = Dir$(klasor & "*.jpg") For i = 1 To 5 c = Len(file1) Text1(i - 1).MaxLength = c - 4 Text1(i - 1).Text = file1 file1 = Dir$ DoEvents Next i End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:30 pm | |
| Şeffaf Form Modül: - Kod:
-
Public Declare Function BitBlt Lib "gdi32" (ByVal hDCDest As Long, _ ByVal XDest As Long, ByValYDest As Long, _ ByVal nWidth As Long, ByVal nHeight As Long, _ ByVal hDCSrc As Long, ByVal XSrc As Long, ByVal YSrc As Long, _ ByVal dwRop As Long) As Long Public Const SRCCOPY = &HCC0020 Public Declare Function GetDesktopWindow Lib "user32" () As Long Public Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, _ ByVal hdc As Long) As Long Dim hwnddesk As Long Dim hdcdesk As Long Public Sub SeffafYap (FTBP As Form) FTBP.AutoRedraw = True hwnddesk = GetDesktopWindow() hdcdesk = GetWindowDC(hwnddesk) Call BitBlt(FTBP.hdc, 0, 0, _ FTBP.Width / Screen.TwipsPerPixelX, _ FTBP.Height / Screen.TwipsPerPixelY, hdcdesk, _ FTBP.Left / Screen.TwipsPerPixelX, _ FTBP.Top / Screen.TwipsPerPixelY, SRCCOPY) Call ReleaseDC(hwnddesk, hdcdesk) End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:30 pm | |
| Fareyi takip eden Text kutusu.. - Kod:
-
Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs) TextBox1.Left = e.X TextBox1.Top = e.Y TextBox1.Text = e.X & "," & e.Y
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:31 pm | |
| excelde sürekli makro örneği - Kod:
-
Dim NextTime As Date Sub Flash() NextTime = Now + TimeValue("00:00:01") With ActiveWorkbook.Styles("Flash").Font If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End With Application.OnTime NextTime, "Flash" End Sub Sub StopIt() Application.OnTime NextTime, "Flash", schedule:=False ActiveWorkbook.Styles("Flash").Font.ColorIndex = xlAutomatic End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:31 pm | |
| Sıfıra bölme hatasını yakalama - Kod:
-
Sub Button32_Click () On Error GoTo HataKontrol A = 5 B = 0 Sunuc = A / B Exit Sub 'burada programa son verilir. HataKontrol: Select Case Err.Number Case 11: Mesaj = "Sıfıra bölünme hatası oluştu!!!" End Select MsgBox Mesaj Resume Next End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:31 pm | |
| Unload Olayı - Kod:
-
Private Sub Form_Unload(Cancel As Integer) If MsgBox("Gercektende Cikiyormusun?", vbevetHayır, "quit?") = vbYes Then Unload Me Set Form1 = Nothing Else Cancel = 1 End If End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:32 pm | |
| handle'ini bildiğiniz pencereyi kapatın - Kod:
-
Declare Function GetWindowThreadProcessId Lib "user32" (ByVal Hwnd As Long, lpdwProcessId As Long) As Long Declare Function TerminateProcess Lib "kernel32" (ByVal ApphProcess As Long, ByVal uExitCode As Long) As Long Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Const PROCESS_ALL_ACCESS = 0 Function KillWindow(Hwnd) Dim PROCESSID As Long Dim exitcode As Long Dim MyProcess As Long Call GetWindowThreadProcessId(Hwnd, PROCESSID) ' Pencereden processid al MyProcess = OpenProcess(PROCESS_ALL_ACCESS, False, PROCESSID) ' processid'ye göre proses aç AppKill = TerminateProcess(MyProcess, exitcode) ' prosesi yoket Call CloseHandle(MyProcess) ' close the process End Function
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:32 pm | |
| Excel Database oluşturma ve bağlanma ----excel database oluşturma : *excel Sheet 'inde Db yapılmak istenen alan taranır ( yada butun hucre seçilir ) *insert > name > define : Names in Workbook ( db_adı ) > ADD > OK *SAVE Database'iniz Hayırlı olsun ; ------bağlantı : ' Referans ...... Vb 6.0 için , project>referans : Microsoft Excel 11.0 Object Library seçilir . dim cn,rs dim as db_road string dim as db_name string dim s_say as integer set cn=createobject("ADODB.CONNECTION") set rs=createobject("ADODB.RECORDSET") db_road="d:\xx.xls" db_name="db_adı" ' bağlantı yapılıyor cn.open "provider=microsoft.JET.OLEDB.4.0; & _ "data source=" & db_road & " ; " & _ "extended properties=excel 8.0;" ' butun dosya açılır Rs.Open "select * from " & db_name & ",cn On Error Resume Next ' hata durumunda devam et Rs.MoveFirst s_say= ? ' sutun sayısı 'açılan dosya okunuyor ( rs(s_say) 'hangi hucre okunmak istenirse sutun sırası verilir ) Do Until Rs.EOF msgbox Trim(Rs(s_say-2)) Rs.MoveNext Loop
Rs.Close Cn.Close Set Cn = Nothing Set Rs = Nothing ___ 0 ___ | |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:32 pm | |
| duvar saati yapma - Kod:
-
Option Explicit Dim sn_uzunluk As String Dim sn As Integer Const pi = 22 / 7 Private Sub Form_Load() sn_uzunluk = Form1.ScaleWidth / 2 End Sub Private Sub Timer1_Timer() sn = Format(Time, "s") saniye.X2 = Sin(2 * pi * ((sn * pi / 30) / (2 * pi))) * sn_uzunluk + saniye.X1 saniye.Y2 = -Cos(2 * pi * ((sn * pi / 30) / (2 * pi))) * sn_uzunluk + saniye.Y1 End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:33 pm | |
| girilen ismi doğrulayan program - Kod:
-
Dim ad As String: Dim tekrak As Integer tekra = 0 ad = InputBox("adınızı giriniz") Do Until ad = "uğur" tekrar = tekrar + 1 If tekrar = 3 Then MsgBox ("üzgünüm deneme hakkın dolmuştur") Exit Do End If MsgBox ("yanlış isim girdiniz") ad = InputBox("adınızı giriniz") Loop msgbox("doğru isim")
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:33 pm | |
| WAV DOSYASI EKLEME - Kod:
-
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long Private Sub Command1_Click() sndPlaySound "ringin.wav", 0 End Sub Private Sub form_load() 'windows içerisinde bulunan herhangi bir wav dosyası sndPlaySound "ringin.wav", 5 End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:33 pm | |
| Encoding & Decoding - Kod:
-
Private Sub Command1_Click() On Error Resume Next a = 0 b = 0 For i = 0 To 255 crypt(i) = b & a enscrypt(i) = (Chr(i)) b = b + 1 If (a <> "a" And a <> "b" And a <> "c" And a <> "d" And a <> "e" And a <> "f") Then a = a + 1 b = b - 1 End If If (a = 10) Or a = "a" Or a = "b" Or a = "c" Or a = "d" Or a = "e" Or a = "f" Then Select Case a Case "a": a = "b" b = b - 1 Case "b": a = "c" b = b - 1 Case "c": a = "d" b = b - 1 Case "d": a = "e" b = b - 1 Case "e": a = "f" b = b - 1 Case "f": a = "0" Case Else: a = "a" End Select End If If b = 9 Then b = 0 End If If b = 9 Then c = 0 End If DoEvents Next 'buraya kadar olan kısımda dizi değişkenlere hash ve karakter değerlerini atadık 'bundan sonrası hashi çözmekte Text2 = "" 'text2 nin içeriğini sildik wq = InStr(1, Text1, "\u00") 'hasin başladığı karakteri aratıp "wq" değişkenine atıyoruz For i = (wq + 3) To wq + Len(Text1) Step 6 'hash standart olduğundan her karakter arası 6 Text1.SelStart = i Text1.SelLength = 2 'hashler 2 karakterde gizli :) For t = 0 To 255 If crypt(t) = Text1.SelText Then inar = t Text2 = Text2 & (enscrypt(t)) Exit For End If Next DoEvents Next End Sub Private Sub Command2_Click() On Error Resume Next a = 0 b = 0 For i = 0 To 255 crypt(i) = b & a enscrypt(i) = (Chr(i)) b = b + 1 If (a <> "a" And a <> "b" And a <> "c" And a <> "d" And a <> "e" And a <> "f") Then a = a + 1 b = b - 1 End If If (a = 10) Or a = "a" Or a = "b" Or a = "c" Or a = "d" Or a = "e" Or a = "f" Then Select Case a Case "a": a = "b" b = b - 1 Case "b": a = "c" b = b - 1 Case "c": a = "d" b = b - 1 Case "d": a = "e" b = b - 1 Case "e": a = "f" b = b - 1 Case "f": a = "0" Case Else: a = "a" End Select End If If b = 9 Then b = 0 End If If b = 9 Then c = 0 End If DoEvents Next 'buraya kadar olan kısım olmsı gerktiği gibi aynısı Text1 = "<script type=" & Chr(34) & "text/javascript" & Chr(34) & ">document.write(" & Chr(39) 'browser'ın okuyabilmesi için js açılış tag'ı For i = 0 To Len(Text2) Text2.SelStart = i Text2.SelLength = 1 'her bir karakteri crypt edeceğiz For t = 0 To 255 If enscrypt(t) = Text2.SelText Then Text1 = Text1 & "\u00" & (crypt(t)) Exit For End If Next DoEvents Next Text1 = Text1 & "')</script>" 'html kodu içinde çalışabilmesi için kapatma js tag'ı End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:34 pm | |
| Windows u yeni baslat,Kapat, kullaniciyi degistir - Kod:
-
Option Explicit 'API Kullanici tanitma Private Declare Function GetUserName Lib "advapi32.dll" _ Alias "GetUserNameA" (ByVal lpBuffer As String, _ nSize As Long) As Long
Private Declare Function GetLastError Lib "kernel32" () _ As Long
Private Declare Function FormatMessage Lib "kernel32" _ Alias "FormatMessageA" (ByVal dwFlags As Long, _ lpSource As Any, ByVal dwMessageId As Long, ByVal _ dwLanguageId As Long, ByVal lpBuffer As String, _ ByVal nSize As Long, Arguments As Long) As Long 'API windows u kapama Private Declare Function ExitWindows Lib "User32" Alias _ "ExitWindowsEx" (ByVal dwOptions As Long, ByVal _ dwReserved As Long) As Long
Const EWX_LOGOFF = 0 Const EWX_SHUTDOWN = 1 Const EWX_REBOOT = 2
Private Sub Form_Load() Dim User$ User = Chr$(34) & User_Name & Chr$(34) If Len(User) > 2 Then Option1.Caption = User & " Cikis" End Sub Private Function User_Name() As String Dim L&,Sonuc&,Hata& Dim User$, Puffer$
'Kullanici ismine erisim User = Space(255) L = 255 Ergebnis = GetUserName(User, L)
If Ergebnis <> 0 Then User_Name = Left$(User, L - 1) Else User_Name = "" End If End Function
Private Sub Command1_Click() If Option1.Value Then 'Kullanici degistirme ExitWindows EWX_LOGOFF, &HFFFF Unload Me ElseIf Option2.Value Then 'Yeniden baslatma ExitWindows EWX_REBOOT, &HFFFF Else 'Kapatma ExitWindows EWX_SHUTDOWN, &HFFFF End If End Sub Private Sub Command2_Click() MsgBox "Neden simdi ?" Unload Me End Sub Private Sub Command3_Click() MsgBox "Artik yardimci olamam !" Unload Me End Sub Excel tablolarının MySQL'e aktarılması Excel Dosyalarını MySQL'e aktarma Merhaba MySQL ve Visual Basic makalelerimin 3'üçüncüsünde Excel dosyalarını MySQL'e aktarmayı anlatmaya çalışacağım Visual Basic'te yeni bir proje açın ve 3 adet Form ekleyin. Form1'in adını ExcelToMysqlAnafrm olarak değiştirin. Form2'nin adını ExcelToMysqltablosecfrm olarak degistirin Form3'ün adını ExcelToMysqlprogressfrm olarak degistirin ExcelToMysqlAnafrm formuna 4 adet Button, 5 adet Text kutusu ve 1 adet Commondialog nesnesi yerleştirin. ExcelToMysqlprogressfrm formuna 1 adet label(adı:labeldurum), ve 1 adet progressbar(adı:progress) yerleştirin. Text kutularından birisini txtMessage olarak değiştirin ve aşağıdaki kodları birinci forma yani ExcelToMysqlanafrm'ye yapıştırın. Projenizle aynı dizin içerisine odbc_info.txt dosyasını boş olarak açın.İleride içerisine Odbc ayarları kaydedilecek. '//////////Kod başlangıcı//////////////// Private Enum StepProcess XLS_SELECTION = 1 ODBC_SETTING = 2 CHECKING_INFO = 3 COMPLETE_PROCESS = 4 End Enum ' Message ayarları Private Const strTitle = "ExcelToMysql" Private Const strExitMsg = "Çıkmak istiyormusunuz?" Private Const strReqDsnMsg = "ODBC ayarlarını girin" Private Const strReqTableMsg = "Tablo adını girmelisin!" Private Const strErrNotExistCols = "Excel dosyasındaki sütunlar ile MySQL tablo sütunları uyuşmuyor!" Private Const strErrNotExistRows = "Excel dosyasındaki satırları ile MySQL tablo satırları uyuşmuyor!" Private Const strNotExistTable = "Tablo veritabanında yok." ' SQL Sorgu Not:Aşağıdaki satırda Html kodunda çizgi yaptığından dolayı ' tırnak koydum. Bu satırdaki tek tırnak işaretlerini kaldırın Private Const SQL_ORIGINAL = "INSERT INTO '<'TABLENAME'> '('<'FIELDSET'>') VALUES '('<'VALUESET'>')" Dim g_step As StepProcess Dim g_excelFilename As String Dim g_DSN As String Dim g_UID As String Dim g_PWD As String Dim g_Table As String Dim g_conn As ADODB.Connection Dim g_rs As ADODB.Recordset Dim xl As Excel.Application Dim xl_worksheet As Excel.Worksheet Dim xl_workbook As Excel.Workbook Public strSelectedTablename As String Private Sub Command1_Click() If g_step = XLS_SELECTION Then CommonDialog.Filter = "Excel Dosyaları|*.xls" CommonDialog.ShowOpen If CommonDialog.FileName = "" Then Exit Sub g_step = ODBC_SETTING g_excelFilename = CommonDialog.FileName Command3.Enabled = True Call ShowTextMessage ElseIf g_step = ODBC_SETTING Then g_DSN = Text1.Text g_UID = Text2.Text g_PWD = Text3.Text g_Table = Text4.Text ' boşluklar kaldırılıyor g_DSN = Trim(g_DSN) g_UID = Trim(g_UID) g_PWD = Trim(g_PWD) g_Table = Trim(g_Table) If Len(g_DSN) = 0 Then MsgBox strReqDsnMsg, vbOKOnly, strTitle Exit Sub ElseIf Len(g_Table) = 0 Then MsgBox strReqTableMsg, vbOKOnly, strTitle Exit Sub End If ' ODBC ayarları kaydediliyor Open App.Path & "\odbc_info.txt" For Output As #1 'ODBC_info txt dosyasına ayarlar kaydediliyor. Print #1, g_DSN Print #1, g_UID Print #1, g_PWD Print #1, g_Table Close #1 g_step = CHECKING_INFO Call ShowTextMessage ElseIf g_step = CHECKING_INFO Then Dim bExistTable As Boolean Dim source As String Dim dummy As String Dim SQL As String Dim SQL_EXECUTION As String Dim status As String Dim cols_count As Long Dim rows_count As Long Dim data_value As String Dim i As Long Dim j As Long Dim myTableName As String source = "DSN=%1%;UID=%2%;PWD=%3%;" source = Replace(source, "%1%", g_DSN) source = Replace(source, "%2%", g_UID) source = Replace(source, "%3%", g_PWD) ' "ADODB" nesnesi oluşturuluyor Set g_conn = CreateObject("ADODB.Connection") Set g_rs = CreateObject("ADODB.Recordset") ' ODBCye bağlanılıyor g_conn.Open source ' tablo kontrol ediliyor SQL_EXECUTION = "show tables" g_rs.Open SQL_EXECUTION, g_conn bExistTable = False Do While Not g_rs.EOF myTableName = CStr(g_rs(0)) If UCase(myTableName) = UCase(g_Table) Then bExistTable = True Exit Do End If g_rs.MoveNext Loop g_rs.Close If bExistTable = False Then MsgBox strNotExistTable, vbOKOnly, strTitle xl.ActiveWorkbook.Close savechanges:=False xl.Quit g_conn.Close Set g_rs = Nothing Set g_conn = Nothing Exit Sub End If exceltoMysqlProgressfrm.Show Set xl = CreateObject("excel.application") xl.Workbooks.Open g_excelFilename xl.Visible = False On Error GoTo handler 'Burası excelin ilk sayfasını dikkate alıyor. Siz sayfa ismi veya başka bir sıra vermek isterseniz xl.(Worksheets(1) kısmını 'sayfa2 veya (2) diye değiştirebilirsiniz. Set xl_worksheet = xl.Worksheets(1) cols_count = GetColumnCount rows_count = GetRowsCount If cols_count = 0 Then MsgBox strErrNotExistCols, vbOKOnly, strTitle xl.ActiveWorkbook.Close savechanges:=False xl.Quit Set xl = Nothing Set xl_worksheet = Nothing Exit Sub End If If rows_count < 2 Then MsgBox strErrNotExistRows, vbOKOnly, strTitle xl.ActiveWorkbook.Close savechanges:=False xl.Quit Set xl = Nothing Set xl_worksheet = Nothing Exit Sub End If dummy = "" For j = 1 To cols_count dummy = dummy & xl_worksheet.Cells(1, j) & "," Next If Not dummy = "" Then dummy = Left(dummy, Len(dummy) - 1) End If SQL = SQL_ORIGINAL SQL = Replace(SQL, "", g_Table) Not:Aşağıdaki satırda Html kodunda çizgi yaptığından dolayı ' tırnak koydum. Bu satırdaki kelimesindeki tek tırnak işaretlerini kaldırın SQL = Replace(SQL, " ", dummy) DoEvents exceltoMysqlProgressfrm.Progress.Min = 2 exceltoMysqlProgressfrm.Progress.Max = rows_count + 1 For i = 2 To rows_count SQL_EXECUTION = SQL dummy = "" For j = 1 To cols_count Debug.Print "*" data_value = xl_worksheet.Cells(i, j) Debug.Print data_value data_value = Replace(data_value, "'", "''") dummy = dummy & "'" & data_value & "'," Next If Not dummy = "" Then dummy = Left(dummy, Len(dummy) - 1) End If SQL_EXECUTION = Replace(SQL_EXECUTION, "", dummy) status = SQL_EXECUTION If Len(status) > 100 Then status = Left(status, 100) End If exceltoMysqlProgressfrm.labeldurum.Caption = "İşlem : " & status exceltoMysqlProgressfrm.labProgress.Caption = FormatPercent(i / rows_count) exceltoMysqlProgressfrm.Progress.Value = i + 1 Debug.Print SQL_EXECUTION g_conn.Execute SQL_EXECUTION Next g_conn.Close Set g_conn = Nothing Set g_rs = Nothing xl.ActiveWorkbook.Close savechanges:=False xl.Quit Unload exceltoMysqlProgressfrm 'İşlem Tamamlandı g_step = COMPLETE_PROCESS Call ShowTextMessage Command3.Enabled = False Command1.Caption = "Kapat" Command2.Visible = False ElseIf g_step = COMPLETE_PROCESS Then 'End Unload Me End If Exit Sub handler: MsgBox Err.Description, vbCritical + vbOKOnly, "Error Message" xl.ActiveWorkbook.Close savechanges:=False xl.Quit Unload exceltoMysqlProgressfrm End Sub Private Sub Command2_Click() If MsgBox(strExitMsg, vbYesNo, strTitle) = vbYes Then Unload Me End If End Sub Private Sub Command3_Click() If g_step = ODBC_SETTING Then Command3.Enabled = False g_step = XLS_SELECTION ElseIf g_step = CHECKING_INFO Then g_step = ODBC_SETTING ElseIf g_step = COMPLETE_PROCESS Then g_step = CHECKING_INFO End If Call ShowTextMessage End Sub Private Sub Command4_Click() Dim source As String g_DSN = Text1.Text g_UID = Text2.Text g_PWD = Text3.Text If Len(g_DSN) = 0 Then MsgBox strReqDsnMsg, vbOKOnly, strTitle Exit Sub End If source = "DSN=%1%;UID=%2%;PWD=%3%;" source = Replace(source, "%1%", g_DSN) source = Replace(source, "%2%", g_UID) source = Replace(source, "%3%", g_PWD) Load exceltoMysqltablosecfrm If exceltoMysqltablosecfrm.LoadTableList(source) = True Then exceltoMysqltablosecfrm.Show 1 Text4.Text = strSelectedTablename End If Unload exceltoMysqltablosecfrm End Sub Private Sub Form_Load() g_step = XLS_SELECTION Call ShowTextMessage If Not Dir(App.Path & "\odbc_info.txt") = "" Then Open App.Path & "\odbc_info.txt" For Input As #1 Input #1, g_DSN Input #1, g_UID Input #1, g_PWD Input #1, g_Table Close #1 Text1.Text = g_DSN Text2.Text = g_UID Text3.Text = g_PWD Text4.Text = g_Table End If End Sub Private Sub ShowTextMessage() If g_step = XLS_SELECTION Then txtMessage.Text = "İleri düğmesini tıklayın ve kaynak Excel dosyasını seçin. Not: Excel dosyasının ilk sayfası dikkate alınacaktır." ElseIf g_step = ODBC_SETTING Then txtMessage.Text = g_excelFilename & " seçildi. " & vbCrLf & " Şimdi ODBC bağlantı ayarlarını yapın. " ElseIf g_step = CHECKING_INFO Then txtMessage.Text = "Bilgilerin doğruluğunu kontrol edin." & vbCrLf & vbCrLf txtMessage.Text = txtMessage.Text & "Excel : " & g_excelFilename & vbCrLf txtMessage.Text = txtMessage.Text & "ODBC : Database adı <%1%> / Kullanıcı adı <%2%> / Şifre <%3%>" txtMessage.Text = txtMessage.Text & vbCrLf & vbCrLf txtMessage.Text = txtMessage.Text & "İleri düğmesini tıklayın. " txtMessage.Text = Replace(txtMessage.Text, "%1%", g_DSN) txtMessage.Text = Replace(txtMessage.Text, "%2%", g_UID) txtMessage.Text = Replace(txtMessage.Text, "%3%", g_PWD) ElseIf g_step = COMPLETE_PROCESS Then txtMessage.Text = "İşlem tamamlandı!" End If End Sub Private Function GetColumnCount() As Long Dim i As Long Dim cols_count As Long Dim xl_worksheet As Excel.Worksheet Set xl_worksheet = xl.Worksheets(1) For i = 1 To xl_worksheet.Columns.Count If Not xl_worksheet.Cells(1, i) = "" Then cols_count = cols_count + 1 End If Next GetColumnCount = cols_count End Function Private Function GetRowsCount() As Long Dim i As Long Dim cols_count As Long Dim xl_worksheet As Excel.Worksheet Set xl_worksheet = xl.Worksheets(1) For i = 1 To xl_worksheet.Columns.Count If Not xl_worksheet.Cells(1, i) = "" Then cols_count = cols_count + 1 End If Next Dim j As Long Dim rows_count As Long Dim dummy As String For i = 1 To xl_worksheet.Rows.Count dummy = "" For j = 1 To cols_count dummy = dummy & xl_worksheet.Cells(i, j) Next If dummy = "" Then Exit For Else rows_count = rows_count + 1 End If Next GetRowsCount = rows_count End Function
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:34 pm | |
| formu yakıp söndürmek için gereken kodlar - Kod:
-
Private Sub Timer1_Timer() If Me.Visible = True Then Me.Visible = False Else Me.Visible = True End If End Sub Private Sub Command1_Click() ' That value for duration 1000 = 1 second Timer1.Interval = 1000 End Sub
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:36 pm | |
| Visual basic'te winamp kontrol - Kod:
-
'Projede Kullanılacak DLL user32.dll 'Function İse SendMessage(),PostMessage 'Projede Kullanılacak sabitler Public Const WM_COMMAND = &H111 Public Const WM_USER = &H400 Public Const WM_WA_IPC = WM_USER Public Const IPC_GETVERSION = 0 Public Const IPC_PLAYFILE = 100 Public Const IPC_DELETE = 101 Public Const IPC_STARTPLAY = 102 Public Const IPC_CHDIR = 103 Public Const IPC_ISPLAYING = 104 Public Const IPC_GETOUTPUTTIME = 105 Public Const IPC_JUMPTOTIME = 106 Public Const IPC_WRITEPLAYLIST = 120 Public Const IPC_SETPLAYLISTPOS = 121 Public Const IPC_SETVOLUME = 122 Public Const IPC_SETPANNING = 123 Public Const IPC_GETLISTLENGTH = 124
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:36 pm | |
| WinApi Kullanarak MouseOver Efekti ... - Kod:
-
'Project : MouseOver 'Form : frmMain '...CommandButton : btnMain 'Module : mdlMain 'Form->Name = frmMain 'CommandButton->Name = btnName 'CommandButton->Style = Graphical 'frmMain Code '------------ Option Explicit Private Sub Form_Load() With Me.btnMain .BackColor = &H800000& .Caption = vbNullString End With BtnProc = SetWindowLong(Me.btnMain.hWnd, (-4), AddressOf ButtonProc) End Sub Private Sub btnMain_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim TMEType As TRACKMOUSEEVENTTYPE If Button <> 0 Then Exit Sub End If If Me.btnMain.BackColor = &HFFFF& Then Exit Sub End If Me.btnMain.BackColor = &HFFFF& With TMEType .cbSize = Len(TMEType) .dwFlags = TME_LEAVE .hwndTrack = Me.btnMain.hWnd End With TrackMouseEvent TMEType End Sub Private Sub Form_Unload(Cancel As Integer) SetWindowLong Me.btnMain.hWnd, (-4), BtnProc End Sub 'mdlMain Code '------------ Option Explicit Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Public Declare Function TrackMouseEvent Lib "user32" (lpEventTrack As TRACKMOUSEEVENTTYPE) As Long Public Const WM_MOUSELEAVE As Long = &H2A3 Public Const TME_LEAVE = &H2 Public Type TRACKMOUSEEVENTTYPE cbSize As Long dwFlags As Long hwndTrack As Long dwHoverTime As Long End Type Public BtnProc As Long Public Function ButtonProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long If uMsg = WM_MOUSELEAVE Then frmMain.btnMain.BackColor = &H800000& End If ButtonProc = CallWindowProc(BtnProc, hWnd, uMsg, wParam, lParam) End Function
| |
| | | ßLinKo Geveze KO Team
Mesaj Sayısı : 254 Nerden : •4NK4R4• Kayıt tarihi : 24/04/09 Rep Puanı : 36
| Konu: Geri: Visual Basic Kod Paylaşım Merkezi Cuma Mayıs 01, 2009 8:37 pm | |
| windows hesap makinesini çalıştırma - Kod:
-
Private Sub Command1_Click() Call Shell("calc.exe", 1) End Sub
| |
| | | | Visual Basic Kod Paylaşım Merkezi | |
|
Similar topics | |
|
| Bu forumun müsaadesi var: | Bu forumdaki mesajlara cevap veremezsiniz
| |
| |
| |