ExtraForum - 1299 Private Serverlar - Server Dosya Paylaşımları
Would you like to react to this message? Create an account in a few clicks or log in to continue.
ExtraForum - 1299 Private Serverlar - Server Dosya Paylaşımları

Güncel Paylaşım Forumu !
 
AnasayfaGaleriAramaLatest imagesKayıt OlGiriş yap
Eğlence Başladı Rütbeni Seç! TIKLA
Moderatör Alımı Başladı TIKLA

 

 Visual Basic Kod Paylaşım Merkezi

Aşağa gitmek 
+2
ßLinKo
0 ®h Negatif
6 posters
Sayfaya git : Önceki  1, 2, 3, 4  Sonraki
YazarMesaj
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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")
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team



Mesaj Sayısı : 254
Kayıt tarihi : 24/04/09

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma 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
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeCuma Mayıs 01, 2009 8:37 pm

WİNKEY'i kilitleme - NOT Tehlikelidir. Dikkat.

Kod:

Private Const VK_H = 72
Private Const KEYEVENTF_KEYUP = &H2
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 91 Or KeyCode = 92 Then 'if winkey
keybd_event VK_H, 0, 0, 0 ' press H
keybd_event VK_H, 0, KEYEVENTF_KEYUP, 0 ' release H
End If
End Sub
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 6:53 am

Dogum gününden kişinin yaşı nasıl hesaplanır

Kod:

'Text'i Date data türüne çevir
Dim Birth as Date
Birth = DateValue(txtDOB)
'Yasi hesapla
Dim Age as Integer
Age = Int(DateDiff("D", Birth, Now) / 365.25)
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 6:58 am

Toolbar'in click olayi nasıl kodlanir

Kod:
 
Private Sub Toolbar1_ButtonClick(ByVal Button As Button)
'button clicklerini saptamak için:
Select Case Button.Key
Case Is = "Exit"
If MsgBox("Çikmak istiyor musunuz??", vbQuestion + vbYesNo + _
vbDefaultButton2, "Programdan çikiyorsunuz!") = vbNo Then Exit Sub
Call ExitProgram
Case Is = "Repair"
Call Repairdb
Case Is = "Delete"
Call DeleteRoutine
Case Is = "Edit"
Call EditRoutine
Case Is = "New"
Call NewRoutine
Case Is = "Copy"
Call CopyToClipboard
Case Is = "Help"
Call ShowHelpContents
End Select
End Sub
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 6:59 am

4 rakamlı tarih nasıl kontrol edilir

Kod:

Public Function ValidDate(MDate)
'Amaç: 4 digitli "yyyy" formatindaki tarihi kontrol etmek; hata var ise kullaniciyi uyarmaktir.
'Input: Texbox'tan string
'Output: True yada False
'Default : False
ValidDate = False
'Eger uzunluk "m/d/yyyy" 'den kisa ise fonkiyondan çik
If Len(MDate) < 8 Then Exit Function
'Geçerli bir tarih türü girilmemisse terket
If IsDate(MDate) = False Then Exit Function
'Sonu "yyyy" ile bitmiyorsa yada baslamiyorsa terket
Dim StartDate As String
Dim EndDate As String
EndDate = Right(MDate, 4)
StartDate = Left(MDate, 4)
If ValidChar(EndDate, "0123456789") = False And _
ValidChar(StartDate, "0123456789") = False Then Exit Function
 
'Tüm bu testlerden geçilirse True yükle
ValidDate = True
End Function
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 6:59 am

Hata kontrol blokları nasıl denetlenir

Kod:

On Error GoTo HataKontrol
'Buraya program kodlarini gir. Buradan sonrasi artik hata denetimine açiktir.
'Hata kontrolundan çikmak istersen 0 (sifir) a git
On Error GoTo 0 : Exit Function ' ve fonksiyonu terket
:HataKontrol
Dim strErr As String
'Kullaniciya olusan hata ve tanimini ver
strErr = "Hata olustu: " & Err.Number & " " & Err.Description
MsgBox strErr, vbCritical + vbOK, "Hata!"
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:00 am

Web adresleri nasıl açılır

Kod:

'Asagidaki kodu bir kontrolun click event'ine yaz
Dim iRet As Long
Dim Cevap As Integer
Cevap = MsgBox("htwww.extra.yetkin-forum.com adresini açmak istiyor musunuz?", vbInformation + vbYesNo, "[Linkleri görebilmek için üye olun veya giriş yapın.]
Select Case Cevap
Case vbYes
iRet = Shell("start.exe http://www.extra.yetkin-forum.com", vbNormal)
Case vbNo
Exit Sub
End Select
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:00 am

Menüye 13x13 bitmaplar nasıl eklenir

Kod:

'Bir Picturebox control ekle
'Autosize özelligini 'True' yap unutma: bitmap olacak (Icon degil)
'maximum 13X13 bitmap olmali.
'Asagidaki deklerasyonlari bir Bas modulune ekle:
'Bu örnek VB4 içindir
Private Declare Function VarPtr Lib "VB40032.DLL" (variable As Any) As Long
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
Const MF_BYPOSITION = &H400&
'form load event içine asagidaki kodu yerlestir
Dim mHandle As Long, lRet As Long, sHandle As Long, sHandle2 As Long
mHandle = GetMenu(hwnd)
sHandle = GetSubMenu(mHandle, 0)
lRet = SetMenuItemBitmaps(sHandle, 0, MF_BYPOSITION, imOpen.Picture, imOpen.Picture)
lRet = SetMenuItemBitmaps(sHandle, 1, MF_BYPOSITION, imSave.Picture, imSave.Picture)
lRet = SetMenuItemBitmaps(sHandle, 3, MF_BYPOSITION, imPrint.Picture, imPrint.Picture)
lRet = SetMenuItemBitmaps(sHandle, 4, MF_BYPOSITION, imPrintSetup.Picture, imPrintSetup.Picture)
sHandle = GetSubMenu(mHandle, 1)
sHandle2 = GetSubMenu(sHandle, 0)
lRet = SetMenuItemBitmaps(sHandle2, 0, MF_BYPOSITION, imCopy.Picture, imCopy.Picture)
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:00 am

Çalisma aninda menü nasıl olusturulur

Kod:

Dim index As Integer
index = mnuHook.Count
Load mnuHook(index)
mnuHook(index).Caption = "New Menu Entry"
mnuHook(index).Visible = True
'Yeni girdiler mnuHook 'dan sonra olusur. Ancak unutmayin mnuHook halihazirda varolan bir menü elemanidir.
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:01 am

Text nasıl sifrelenir

Kod:

'encryption function :
Public Function Encrypt(ByVal Plain As String)
For I=1 To Len(Plain)
Letter=Mid(Plain,I,1)
Mid(Plain,I,1)=Chr(Asc(Letter)+1)
Next
Encrypt = Plain
End Sub
Public Function Decrypt(ByVal Encrypted As String)
For I=1 to Len(Encrypted)
Letter=Mid(Encrypted,I,1)
Mid(Encrypted,I,1)=Chr(Asc(Letter)-1)
Next
Decrypt = Encrypted
End Sub
Print Encrypt("This is just an example")
Print Decrypt("Uijt!jt!kvtu!bo!fybnqmf")
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:01 am

Form nasıl yavas yavas karartilir

Kod:

Sub FormFade(frm As Form)
' Formu yavas yavas karartir
For icolVal% = 255 To 0 Step -1
DoEvents
frm.BackColor = RGB(icolVal%, icolVal%, icolVal%)
Next icolVal%
End Sub
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:01 am

Formun caption'una nasıl kayan yazı yazılır

Kod:

Sub KayanYazi(frm As Form)
Dim X As Integer
Dim current As Variant
Dim Y As String
Y = frm.Caption
frm.Caption = ""
frm.Show
For X = 0 To Len(Y)
If X = 0 Then
frm.Caption = ""
current = Timer
Do While Timer - current < 0.1
DoEvents
Loop
GoTo bitti
Else: End If
frm.Caption = left(Y, X)
current = Timer
Do While Timer - current < 0.05
DoEvents
Loop
bitti:
Next X
End Sub
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:01 am

Verilen kredi karti numarasinin geçerli olup olmadigi nasıl anlasilir

Kod:

'Asagidaki fonksiyonu bir BAS modulu içine kopyala
'Not: Tüm kredi kartlari belli bir algoritma ile üretilir. Rastgele sayilar bu algoritmaya uymaz. Bu fonksiyon bu hesaplamalari yapar
'Asagidaki Sub bir command butonuna ait olabilir. Kliklendiginde verilen kart numarasini kontrol eder.
Sub KartKontrolu_Click ( )
'KartGecerli degiskeni True olur eger fonksiyon dogru deger çevirirse
Dim KartGecerli as Boolean
KartGecerli = GecerliKartNumarasimi("4552012301230123")
If KartGecerli then
Msgbox "Geçerli kart"
else
Msgbox "Aman dikkat. Bu kart geçersiz!!!"
End if
End Sub
Public Function GecerliKartNumarasimi(ByVal pCardNumber As String) As Boolean
Dim CharPos As Integer
Dim CheckSum As Integer
Dim tChar As String
For CharPos = Len(pCardNumber) To 2 Step -2
CheckSum = CheckSum + CInt(Mid(pCardNumber, CharPos, 1))
tChar = CStr((Mid(pCardNumber, CharPos - 1, 1)) * 2)
CheckSum = CheckSum + CInt(Left(tChar, 1))
If Len(tChar) > 1 Then CheckSum = CheckSum + CInt(Right(tChar, 1))
Next
If Len(pCardNumber) Mod 2 = 1 Then CheckSum = CheckSum + CInt(Left(pCardNumber, 1))
If CheckSum Mod 10 = 0 Then
IsValidCreditCardNumber = True
Else
IsValidCreditCardNumber = False
End If
End Function
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:02 am

Ayin son günü nasıl bulunur

Kod:

Public Function AyinSonGunu(ByVal GecerliTarih As Date) As Byte
Dim SonGun As Byte
SonGun = DatePart("d", DateAdd("d", -1, DateAdd("m", 1, _
DateAdd("d", -DatePart("d", GecerliTarih) + 1, Date))))
AyinSonGunu = SonGun
End Function
Private Sub Command1_Click()
MsgBox Date & " tarihine ait ayin son günü : " & AyinSonGunu(Date)
End Sub
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:02 am

VB6 projeleri VB5'te nasıl açilir

Notepad yada baska bir editör ile VB 6.vbp dosyasini açin ve bu dosyadaki
'Retained = 0' satirini silip dosyayi kaydedin.
Artik VB6 projelerini VB5'te açabilirsiniz.
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:02 am

MDB veritabanlarinda hataya neden olan Null field degerlerinden nasıl kurtulunur

Kod:

Default deger olarak Access string alanlari NULL deger tasir (Çift tirnak yani bos string girilmedikçe)
Null deger tasiyan bir alani recordset araciligiyla bir string içine kopyalamak istediginizde (sanirim birçogunuz bunu görmüstür) runtime type-mismatch hatasi olusur. Bundan kurtulmanin en kolay yolu & karakteri kullanarak her alan basina çift tirnak (yani bos string) eklemektir. Asagidaki örnek gibi:
Dim DB As Database
Dim RS As Recordset
Dim sAd As String
Set DB = OpenDatabase("Test.mdb")
Set RS = DB.OpenRecordset("Ad")
sAd = "" & RS![Adi Soyadi] ' Adi Soyadi alani içine "" ekleniyor, böylece null deger yokediliyor.
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
ßLinKo
Geveze KO Team
Geveze KO Team
ßLinKo


Mesaj Sayısı : 254
Nerden : •4NK4R4•
Kayıt tarihi : 24/04/09
Rep Puanı Rep Puanı : 36

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimeC.tesi Mayıs 02, 2009 7:02 am

Ekran çözünürlügü nasıl bulunur

Genelde ekran çözünürlügüne göre programlarinizdaki nesneleri resize etmek oldukça kullanisli bir yoldur.
Ekran çözünürlügünü söyle bulursunuz:
Asagidaki kodu form_load'a yazarsanız her açılışta ekran çözünürlüğünü kontrol eder.
Genislik = Screen.Width \ Screen.TwipsPerPixelX
Yukseklik = Screen.Height \ Screen.TwipsPerPixelY
Ekran_Cozunurlugu = Genislik & "x" & Yukseklik
Sonuç asagidaki gibi olur:
800x600
Sayfa başına dön Aşağa gitmek
https://goo.gl/NBRKZb
0 ®h Negatif
Sponsor
Sponsor
0 ®h Negatif


Mesaj Sayısı : 328
Nerden : Visual Basic'ten
Kayıt tarihi : 22/04/09
Rep Puanı Rep Puanı : 19

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePerş. Mayıs 07, 2009 5:52 pm

Saol blinko:)
Sayfa başına dön Aşağa gitmek
http://www.extra.yetkin-forum.com
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePaz Mayıs 10, 2009 7:25 pm

Sihirbazı (Merlin) KAFAYI ÇEVİR

Dim merlin As IAgentCtlCharacterEx
Const DATAPATH = "merlin.acs"


Private Sub Command1_Click()
merlin.Play "Idle1_4"
End Sub
Private Sub Form_Load()
Agent1.Characters.Load "merlin.acs", DATAPATH
Set merlin = Agent1.Characters("merlin.acs")
merlin.LanguageID = &H409
merlin.Show 'MERLİNİ GÖSTERİR
'[Linkleri görebilmek için üye olun veya giriş yapın.]
End Sub

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePaz Mayıs 10, 2009 7:25 pm

Cool Unloading

Kod:

'Daha önce hiç böyle bir Unload Gördünüzmü..!!
'Alin size insanoglunun geldigi son nokta :-))
'Standart Form UnLoad Clicklerinden bikanlara güzel bir kod.
'Asagida belirttigim gibi (+,-) ayarlarini kendi göz
'zevkinize göre degistirebilirsiniz...
'******************************************************************************
'Burdan Copy/Paste yapin...
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
Me.WindowState = 0
 
Do
Me.Top = Me.Top + 10
Me.Left = Me.Left + 10
Me.Width = Me.Width - 20
Me.Height = Me.Height - 20
'Üstteki (+,-) ayarlari Formunuzun küçülerek
'kapanacagi yönü, hizini ve Kapanma boyutunu
'gösterir. Kendi göz zevkinize göre degistirebilirsiniz.
'Deneye deneye güsel bir Unload yapabilirsiniz...
Loop Until Me.Top = Screen.Height
End Sub

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePaz Mayıs 10, 2009 7:26 pm

MSFlexGrid Kullanımı

Kod:

Private Sub Form_Load()
Msflexgrid1.cols = 8
Msflexgrid1.rows = 8
End Sub

Burada görüldügü üzere 9*9'luk bir çalışma tablosu oluşturduk.
obje.cols , sütün sayısını
obje.rows ise sıra sayısını belirtir.
Peki diyeceksiniz ki :"Oraya 8 yazmışsın,ama 9*9'luk bir tablo oluºtu. Neden?"
Nedeni açık,eğer listbox ile çalıştıysanız,o halde liste sayı sırasının 1 değil 0 dan başladığını fark etmişsinizdir. İşte MS Flex Grid Kontrolü'nde durum böyledir.
ªimdi gelelim fasulyenin dezavantajlarina:

Kod:

Private Sub Form_Load()
Msflexgrid1.col = 0
Msflexgrid1.row = 5
Msflexgrid1.Text= "Ahmet"
End Sub

Ne demek bu? Baºlangiç sütunu ile 4.siramim kesiºtigi yerin yazisi Ahmet olacak.
Bir de olayin içine döngü sokalim.

Kod:

Dim dön1 'döngü için tanıttık
Private Sub Form_Load()
For dön1 = 0 to 5 'sütün sayısı 0 ila 5 arası
For dön2 = 0 to 2 'sıra sayısı 0 ila 2 arası
Msflexgrid1.col = dön1
Msflexgrid1.row = dön2
Msflexgrid1.Text = "Ahmet" '6*3 lük bir alandaki bütün hücrelerin içeriği Ahmet oldu
Next dön2 'döngüye devam
Next dön1
End Sub

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePaz Mayıs 10, 2009 7:28 pm

3D Oyunlara Hazır mısınız ? (OPEN GL)

Bu Programimiz icin oncelikle yapmaniz gerekenler ..:
1. Visual Basic Menusunden Project --> References Bolumunden --- VB OpenGL API 1.2(ANSI) Secenegini Activ Kiliniz.
2. Bir Form ismi Form1 bir Modul ismi Module1 ve bir de Timer ismi Timer1 ihtiyacimiz var.

Kod:

'Forma Yazilacak Kisim Burdan itibaren Baslamaktadir....(Copy Paste yapsaniz yeterli olur.)
'Yardim ve Bilgi icin lutfen bana yaziniz...
'SessizAdam
'[Linkleri görebilmek için üye olun veya giriş yapın.]
Option Explicit
Dim xAngle As GLfloat
Dim yAngle As GLfloat
Dim zAngle As GLfloat
Dim YScale As Long
Dim XScale As Long
Private Sub Form_Load()
Dim hGLRC As Long
Dim fAspect As GLfloat
Call InitializeArrays
Form1.ScaleMode = 3
xAngle = 0
yAngle = 0
zAngle = 0
SetupPixelFormat hDC
hGLRC = wglCreateContext(hDC)
wglMakeCurrent hDC, hGLRC
glEnable GL_DEPTH_TEST
glEnable GL_DITHER
glDepthFunc GL_LESS
glClearDepth 1
glClearColor 0, 0, 0, 0
glMatrixMode GL_PROJECTION
glLoadIdentity
If Form1.ScaleHeight > 0 Then
fAspect = Form1.ScaleWidth / Form1.ScaleHeight
Else
fAspect = 0
End If
gluPerspective 60, fAspect, 1, 2000
glViewport 0, 0, Form1.ScaleWidth, Form1.ScaleHeight
 
glMatrixMode GL_MODELVIEW
glLoadIdentity
glLightfv GL_LIGHT0, GL_POSITION, LightPos(0)
glEnable GL_LIGHTING
glEnable GL_LIGHT0
glShadeModel GL_SMOOTH
glFrontFace GL_CCW
glMaterialfv GL_FRONT, GL_SPECULAR, SpecRef(0)
glMateriali GL_FRONT, GL_SHININESS, 50
BuildCube
Form_Paint
End Sub
Private Sub Form_Paint()
Dim i As Integer
Dim a As Integer
Dim b As Integer
Dim c As Integer
glLoadIdentity
gluLookAt m_Translate_X, m_Translate_Y, m_Translate_Z, m_Translate_X + (100# * (Cos(m_camera_radsFromEast))), m_Translate_Y + m_camera_direction_y, m_Translate_Z - (100# * Sin(m_camera_radsFromEast)), 0#, 1#, 0#
 
glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT
glPushMatrix
glTranslatef 0, 0, -3
glRotatef xAngle, 0.1, 0, 0
glRotatef yAngle, 0, 0.1, 0
glRotatef zAngle, 0, 0, 1
glCallList m_Cube
glPopMatrix
glPushMatrix
glTranslatef 0, -2, 0
glPopMatrix
SwapBuffers hDC
End Sub
Private Sub Form_Resize()
glViewport 0, 0, Form1.ScaleWidth, Form1.ScaleHeight
Form_Paint
End Sub
Private Sub Form_Unload(Cancel As Integer)
If hGLRC <> 0 Then
wglMakeCurrent 0, 0
wglDeleteContext hGLRC
End If
If hPalette <> 0 Then
DeleteObject hPalette
End If
End Sub
Sub BuildCube()
Dim i As Integer
Dim a As Integer
Dim b As Integer
Dim c As Integer
m_Cube = glGenLists(1)
glNewList m_Cube, GL_COMPILE_AND_EXECUTE
For i = 0 To TRIANGLE_COUNT - 1
a = index(i, 0)
b = index(i, 1)
c = index(i, 2)
Call RenderTriangle(a, b, c)
Next
glEnd
glEndList
End Sub
Private Sub Timer1_Timer()
YScale = YScale + 1
XScale = XScale + 1
yAngle = YScale
xAngle = XScale
If YScale = 359 Then
YScale = 0
XScale = 0
End If
Form_Paint
End Sub
'Forma Yazilacak Kisim Burda Sona erdi (Umarim Copy Paste Yapmissinizdir.)

MODÜLE İSE:

Kod:

Option Explicit
Private Type PALETTEENTRY
peRed As Byte
peGreen As Byte
peBlue As Byte
peFlags As Byte
End Type
Private Type LOGPALETTE
palVersion As Integer
palNumEntries As Integer
palPalEntry(0 To 255) As PALETTEENTRY
End Type
Private Type PIXELFORMATDESCRIPTOR
nSize As Integer
nVersion As Integer
dwFlags As Long
iPixelType As Byte
cColorBits As Byte
cRedBits As Byte
cRedShift As Byte
cGreenBits As Byte
cGreenShift As Byte
cBlueBits As Byte
cBlueShift As Byte
cAlphaBits As Byte
cAlphaShift As Byte
cAccumBits As Byte
cAccumRedBits As Byte
cAccumGreenBits As Byte
cAccumBlueBits As Byte
cAccumAlpgaBits As Byte
cDepthBits As Byte
cStencilBits As Byte
cAuxBuffers As Byte
iLayerType As Byte
bReserved As Byte
dwLayerMask As Long
dwVisibleMask As Long
dwDamageMask As Long
End Type
Const PFD_TYPE_RGBA = 0
Const PFD_TYPE_COLORINDEX = 1
Const PFD_MAIN_PLANE = 0
Const PFD_DOUBLEBUFFER = 1
Const PFD_DRAW_TO_WINDOW = &H4
Const PFD_SUPPORT_OPENGL = &H20
Const PFD_NEED_PALETTE = &H80
Private Declare Function ChoosePixelFormat Lib "gdi32" (ByVal hDC As Long, pfd As PIXELFORMATDESCRIPTOR) As Long
Private Declare Function CreatePalette Lib "gdi32" (pPal As LOGPALETTE) As Long
Private Declare Sub DeleteObject Lib "gdi32" (hObject As Long)
Private Declare Sub DescribePixelFormat Lib "gdi32" (ByVal hDC As Long, ByVal PixelFormat As Long, ByVal nBytes As Long, pfd As PIXELFORMATDESCRIPTOR)
Private Declare Function GetDC Lib "gdi32" (ByVal hWnd As Long) As Long
Private Declare Function GetPixelFormat Lib "gdi32" (ByVal hDC As Long) As Long
Private Declare Sub GetSystemPaletteEntries Lib "gdi32" (ByVal hDC As Long, ByVal start As Long, ByVal entries As Long, ByVal ptrEntries As Long)
Private Declare Sub RealizePalette Lib "gdi32" (ByVal hPalette As Long)
Private Declare Sub SelectPalette Lib "gdi32" (ByVal hDC As Long, ByVal hPalette As Long, ByVal bln As Long)
Private Declare Function SetPixelFormat Lib "gdi32" (ByVal hDC As Long, ByVal i As Long, pfd As PIXELFORMATDESCRIPTOR) As Boolean
Private Declare Sub SwapBuffers Lib "gdi32" (ByVal hDC As Long)
Private Declare Function wglCreateContext Lib "OpenGL32" (ByVal hDC As Long) As Long
Private Declare Sub wglDeleteContext Lib "OpenGL32" (ByVal hContext As Long)
Private Declare Sub wglMakeCurrent Lib "OpenGL32" (ByVal l1 As Long, ByVal l2 As Long)
Public hPalette As Long
Public hGLRC As Long
Public LightPos(3) As GLfloat
Public SpecRef(3) As GLfloat
Public Diffuse(3) As GLfloat
Public Const TRIANGLE_COUNT = 12
Public vdata(23, 2) As GLfloat
Public vcolor(23, 2) As GLfloat
Public index(TRIANGLE_COUNT, 3) As GLfloat
Public m_Grid As Integer
Public m_Cube As Integer
Public m_Translate_X As Integer
Public m_Translate_Y As Integer
Public m_Translate_Z As Integer
Public m_camera_radsFromEast As GLfloat
Public m_translationUnit As Double
Public m_camera_direction_y As Integer
Sub FatalError(ByVal strMessage As String)
MsgBox "Fatal Error: " & strMessage, vbCritical + vbApplicationModal + vbOKOnly + vbDefaultButton1, "Fatal Error In " & App.Title
Unload frmMain
Set frmMain = Nothing
End
End Sub
Sub SetupPixelFormat(ByVal hDC As Long)
Dim pfd As PIXELFORMATDESCRIPTOR
Dim PixelFormat As Integer
pfd.nSize = Len(pfd)
pfd.nVersion = 1
pfd.dwFlags = PFD_SUPPORT_OPENGL Or PFD_DRAW_TO_WINDOW Or PFD_DOUBLEBUFFER Or PFD_TYPE_RGBA
pfd.iPixelType = PFD_TYPE_RGBA
pfd.cColorBits = 24
pfd.cDepthBits = 24
pfd.iLayerType = PFD_MAIN_PLANE
PixelFormat = ChoosePixelFormat(hDC, pfd)
If PixelFormat = 0 Then FatalError "Could not retrieve pixel format!"
SetPixelFormat hDC, PixelFormat, pfd
End Sub
Sub SetupPalette(ByVal lhDC As Long)
Dim PixelFormat As Long
Dim pfd As PIXELFORMATDESCRIPTOR
Dim pPal As LOGPALETTE
Dim PaletteSize As Long
PixelFormat = GetPixelFormat(lhDC)
DescribePixelFormat lhDC, PixelFormat, Len(pfd), pfd
If (pfd.dwFlags And PFD_NEED_PALETTE) <> 0 Then
PaletteSize = 2 ^ pfd.cColorBits
Else
Exit Sub
End If
pPal.palVersion = &H300
pPal.palNumEntries = PaletteSize
Dim redMask As Long
Dim GreenMask As Long
Dim BlueMask As Long
Dim i As Long
redMask = 2 ^ pfd.cRedBits - 1
GreenMask = 2 ^ pfd.cGreenBits - 1
BlueMask = 2 ^ pfd.cBlueBits - 1
For i = 0 To PaletteSize - 1
With pPal.palPalEntry(i)
.peRed = i
.peGreen = i
.peBlue = i
.peFlags = 0
End With
Next
GetSystemPaletteEntries frmMain.hDC, 0, 256, VarPtr(pPal.palPalEntry(0))
hPalette = CreatePalette(pPal)
If hPalette <> 0 Then
SelectPalette lhDC, hPalette, False
RealizePalette lhDC
End If
End Sub
Public Sub InitializeArrays()
m_Translate_X = 0
m_Translate_Z = 5
m_translationUnit = 1
m_camera_direction_y = 0
m_camera_radsFromEast = 1.56
LightPos(0) = 0
LightPos(1) = 2
LightPos(2) = 2
LightPos(3) = 1
SpecRef(0) = 1#
SpecRef(1) = 0#
SpecRef(2) = 0#
SpecRef(3) = 1#
 
'Front (0-3)
vdata(0, 0) = 1
vdata(0, 1) = 1
vdata(0, 2) = 1
vdata(1, 0) = 1
vdata(1, 1) = -1
vdata(1, 2) = 1
vdata(2, 0) = -1
vdata(2, 1) = -1
vdata(2, 2) = 1
vdata(3, 0) = -1
vdata(3, 1) = 1
vdata(3, 2) = 1
'back (4-7)
vdata(4, 0) = 1#
vdata(4, 1) = 1#
vdata(4, 2) = -1#
vdata(5, 0) = 1#
vdata(5, 1) = -1#
vdata(5, 2) = -1#
vdata(6, 0) = -1#
vdata(6, 1) = -1#
vdata(6, 2) = -1#
vdata(7, 0) = -1#
vdata(7, 1) = 1#
vdata(7, 2) = -1#
'right (8-11)
vdata(8, 0) = 1#
vdata(8, 1) = 1#
vdata(8, 2) = 1#
vdata(9, 0) = 1#
vdata(9, 1) = 1#
vdata(9, 2) = -1#
vdata(10, 0) = 1#
vdata(10, 1) = -1#
vdata(10, 2) = -1#
vdata(11, 0) = 1#
vdata(11, 1) = -1#
vdata(11, 2) = 1#
'left (12-15)
vdata(12, 0) = -1#
vdata(12, 1) = 1#
vdata(12, 2) = 1#
vdata(13, 0) = -1#
vdata(13, 1) = 1#
vdata(13, 2) = -1#
vdata(14, 0) = -1#
vdata(14, 1) = -1#
vdata(14, 2) = -1#
vdata(15, 0) = -1#
vdata(15, 1) = -1#
vdata(15, 2) = 1#
'Top (16-20)
vdata(16, 0) = 1#
vdata(16, 1) = 1#
vdata(16, 2) = 1#
vdata(17, 0) = 1#
vdata(17, 1) = 1#
vdata(17, 2) = -1#
vdata(18, 0) = -1#
vdata(18, 1) = 1#
vdata(18, 2) = -1#
vdata(19, 0) = -1#
vdata(19, 1) = 1#
vdata(19, 2) = 1#
'Botton
vdata(20, 0) = 1#
vdata(20, 1) = -1#
vdata(20, 2) = 1#
vdata(21, 0) = 1#
vdata(21, 1) = -1#
vdata(21, 2) = -1#
vdata(22, 0) = -1#
vdata(22, 1) = -1#
vdata(22, 2) = -1#
vdata(23, 0) = -1#
vdata(23, 1) = -1#
vdata(23, 2) = 1#
 
'Index
'front
index(0, 0) = 0
index(0, 1) = 1
index(0, 2) = 2
index(1, 0) = 0
index(1, 1) = 2
index(1, 2) = 3
'Back
index(2, 0) = 4
index(2, 1) = 6
index(2, 2) = 5
index(3, 0) = 4
index(3, 1) = 7
index(3, 2) = 6
'Right
index(4, 0) = 8
index(4, 1) = 9
index(4, 2) = 10
index(5, 0) = 8
index(5, 1) = 10
index(5, 2) = 11
'Left
index(6, 0) = 12
index(6, 1) = 14
index(6, 2) = 13
index(7, 0) = 12
index(7, 1) = 15
index(7, 2) = 14
'Top
index(8, 0) = 16
index(8, 1) = 18
index(8, 2) = 17
index(9, 0) = 16
index(9, 1) = 19
index(9, 2) = 18
'Bottom
index(10, 0) = 20
index(10, 1) = 21
index(10, 2) = 22
index(11, 0) = 20
index(11, 1) = 22
index(11, 2) = 23
'Color
'front
vcolor(0, 0) = 1
vcolor(0, 1) = 1
vcolor(0, 2) = 1
vcolor(1, 0) = 1
vcolor(1, 1) = 0
vcolor(1, 2) = 1
vcolor(2, 0) = 0
vcolor(2, 1) = 0
vcolor(2, 2) = 1
vcolor(3, 0) = 0
vcolor(3, 1) = 1
vcolor(3, 2) = 1
'back
vcolor(4, 0) = 1#
vcolor(4, 1) = 1#
vcolor(4, 2) = 0#
vcolor(5, 0) = 1#
vcolor(5, 1) = 0#
vcolor(5, 2) = 0#
vcolor(6, 0) = 0#
vcolor(6, 1) = 0#
vcolor(6, 2) = 0#
vcolor(7, 0) = 0#
vcolor(7, 1) = 1#
vcolor(7, 2) = 0#
'right
vcolor(8, 0) = 1#
vcolor(8, 1) = 1#
vcolor(8, 2) = 1#
vcolor(9, 0) = 1#
vcolor(9, 1) = 1#
vcolor(9, 2) = 0#
vcolor(10, 0) = 1#
vcolor(10, 1) = 0#
vcolor(10, 2) = 0#
vcolor(11, 0) = 1#
vcolor(11, 1) = 0#
vcolor(11, 2) = 1#
'left
vcolor(12, 0) = 0#
vcolor(12, 1) = 0.1
vcolor(12, 2) = 1#
vcolor(13, 0) = 0#
vcolor(13, 1) = 1#
vcolor(13, 2) = 0#
vcolor(14, 0) = 0#
vcolor(14, 1) = 0#
vcolor(14, 2) = 0#
vcolor(15, 0) = 0#
vcolor(15, 1) = 0#
vcolor(15, 2) = 1#
'Top
vcolor(16, 0) = 1#
vcolor(16, 1) = 1#
vcolor(16, 2) = 1#
vcolor(17, 0) = 1#
vcolor(17, 1) = 1#
vcolor(17, 2) = 0#
vcolor(18, 0) = 0#
vcolor(18, 1) = 1#
vcolor(18, 2) = 0#
vcolor(19, 0) = 0#
vcolor(19, 1) = 1#
vcolor(19, 2) = 1#
'Bottom
vcolor(20, 0) = 1#
vcolor(20, 1) = 0#
vcolor(20, 2) = 1#
vcolor(21, 0) = 1#
vcolor(21, 1) = 0#
vcolor(21, 2) = 0#
vcolor(22, 0) = 0#
vcolor(22, 1) = 0#
vcolor(22, 2) = 0#
vcolor(23, 0) = 0#
vcolor(23, 1) = 0#
vcolor(23, 2) = 1#
 
End Sub
Public Sub RenderTriangle(a As Integer, b As Integer, c As Integer)
Dim x1 As GLfloat
Dim y1 As GLfloat
Dim z1 As GLfloat
Dim lRC As Long
Dim x2 As GLfloat
Dim y2 As GLfloat
Dim z2 As GLfloat
Dim x3 As GLfloat
Dim y3 As GLfloat
Dim z3 As GLfloat
Dim v1(3) As GLfloat
Dim v2(3) As GLfloat
Dim v3(3) As GLfloat
Dim v(3) As GLfloat
Dim w(3) As GLfloat
Dim out(3) As GLfloat
Dim r1 As GLfloat
Dim g1 As GLfloat
Dim b1 As GLfloat
Dim r2 As GLfloat
Dim g2 As GLfloat
Dim b2 As GLfloat
Dim r3 As GLfloat
Dim g3 As GLfloat
Dim b3 As GLfloat
b1 = vcolor(a, 1)
g1 = vcolor(a, 2)
r2 = vcolor(b, 0)
b2 = vcolor(b, 1)
g2 = vcolor(b, 2)
r3 = vcolor(c, 0)
b3 = vcolor(c, 1)
g3 = vcolor(c, 2)
v1(0) = vdata(a, 0)
v1(1) = vdata(a, 1)
v1(2) = vdata(a, 2)
x1 = vdata(a, 0)
y1 = vdata(a, 1)
z1 = vdata(a, 2)
v2(0) = vdata(b, 0)
v2(1) = vdata(b, 1)
v2(2) = vdata(b, 2)
x2 = vdata(b, 0)
y2 = vdata(b, 1)
z2 = vdata(b, 2)
v3(0) = vdata(c, 0)
v3(1) = vdata(c, 1)
v3(2) = vdata(c, 2)
x3 = vdata(c, 0)
y3 = vdata(c, 1)
z3 = vdata(c, 2)
'--------------------------------------------------------------------
 
v(0) = x2 - x1
v(1) = y2 - y1
v(2) = z2 - z1
w(0) = x3 - x2
w(1) = y3 - y2
w(2) = z3 - z2
Call normcrossprod(v, w, out)
glBegin (GL_TRIANGLES)
'Flip the normal
glNormal3f -1 * out(0), -1 * out(1), -1 * out(2)
Diffuse(0) = r1
Diffuse(1) = b1
Diffuse(2) = g1
Diffuse(3) = 1
glMaterialfv GL_FRONT, GL_AMBIENT_AND_DIFFUSE, Diffuse(0)
glVertex3f v1(0), v1(1), v1(2)
Diffuse(0) = r2
Diffuse(1) = b2
Diffuse(2) = g2
Diffuse(3) = 1
glMaterialfv GL_FRONT, GL_AMBIENT_AND_DIFFUSE, Diffuse(0)
glVertex3f v2(0), v2(1), v2(2)
Diffuse(0) = r3
Diffuse(1) = b3
Diffuse(2) = g3
Diffuse(3) = 1
glMaterialfv GL_FRONT, GL_AMBIENT_AND_DIFFUSE, Diffuse(0)
glVertex3f v3(0), v3(1), v3(2)
glEnd
End Sub
Public Sub normalize(out() As GLfloat)
Dim d As GLfloat
d = Sqr(out(0) * out(0) + out(1) * out(1) + out(2) * out(2))
If (d = 0) Then
Exit Sub
End If
out(0) = out(0) / d
out(1) = out(1) / d
out(2) = out(2) / d
End Sub
Public Sub normcrossprod(v() As GLfloat, w() As GLfloat, out() As GLfloat)
'[Vx Vy Vz] X [Wx Wy Wz] =[(Vy*Wz-Wy*Vz),(Wx*Vz-Vx*Wz),(Vx*Wy-Wx*Vy)]
out(0) = v(1) * w(2) - w(1) * v(2)
out(1) = w(0) * v(2) - v(0) * w(2)
out(2) = v(0) * w(1) - w(0) * v(1)
Call normalize(out)
End Sub
 

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePaz Mayıs 10, 2009 7:29 pm

Direct Sound kullanımı

DirectX7 İle Wav Dosyalarını Çalma
Öncelikle DirectX7.0 'ın yüklü olduğundan emin olun.


Sonra Menü'den
¦-----Project
¦---- References 'den
¦----- DirectX7 For Visual Basic...
...şıkkının şeçili olduğundan emin olun, değilse seçin


Sonra Form üzerine Çal, Duraklat ve durdur tuşları koyalım.


Adları:
Çal ----> CmdChal
Duraklat ----> CmdDurk
Durdur ----> CmdDur

DirectSound sayesinde tuşa bastığınız an sesi çalacaktır.

Kod:

(declaretions)
Dim DX7 As DirectX7
Dim DSAs DirectSound
Dim DSB As DirectSoundBuffer 'Burada DSB'yi array olarak kullanabilirsiniz. Örneğin; Dim DSB(10) As DirectSoundBuffer
Dim bufferDesc As DSBUFFERDESC
Dim waveFormat As WAVEFORMATEX
 
 
Private Sub Form_Load()
Set DX7 = New DirectX7 'Direct X 'i çalıştıralım
Set DS = DX7.DirectSoundCreate("") 'DirectSound'u açalım
 
 
DS.SetCooperativeLevel Me.hWdn, DSSCL_PRIORITY 'DirectSound'un bu form üzerinden çalışacağını belirtelim
 
 
' Ses özelliklerini belirleyelim
bufferDesc.lBufferBytes = 16384
bufferDesc.lFlags = DSBCAPS_CTRLFREQUENCY Or DSBCAPS_CTRLPAN Or DSBCAPS_CTRLVOLUME Or DSBCAPS_STATIC
waveFormat.nFormatTag = WAVE_FORMAT_PCM
waveFormat.nChannels = 16
waveFormat.lSamplesPerSec = 44100
waveFormat.nBitsPerSample = 16
waveFormat.nBlockAlign = waveFormat.nBitsPerSample / 8 * waveFormat.nChannels
waveFormat.lAvgBytesPerSec = waveFormat.lSamplesPerSec * waveFormat.nBlockAlign
 
 
' Dosyayı RAM'e yükletelim
Set DSB = DS.CreateBufferFromFile ("dosyaadi.wav",bufferdesc,waveformat)
End Sub
 
 
Private Sub CmdChal_Click()
DSB.Play DSPLAY_DEFAULT 'eğer DSPLAY_DEFAULT yerine DSPLAY_LOOPING derseniz sürekli başa sarıp hiç beklemeden tekrar çalacaktır.
End Sub
 
 
Private Sub CmdDurk_Click()
DSB.Stop
End Sub
 
 
Private Sub CmdDur_Click()
DSB.Stop
DSB.SetCurrentPosition 1
End Sub

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePaz Mayıs 10, 2009 7:30 pm

Onluk tabandan ikilik tabana geçiş

ilk olarak fonksiyonumuzu açyklamak istiyorum.
Fonksiyonun çaly?ma manty?y çok basit.
(Sitede buna benzer bir kod daha görmü?tüm ama oldukça uzundu bu biraz daha kysa!)
Fonksiyon girilen sayynyn 2'lik tabanda modülünü alyyor. Yani sayyyy sürekli 2'ye bölüyor ve ikilik tabanda sayy elde edilmi? oluyor.
Yleri seviyede programlama yapan arkada?laryn i?ine yarayaca?yny dü?ünüyorum.

Kod:

Function tobinary(x As Integer) As String
Dim s As String
If x = 0 Then
s = "0"
Else
s = ""
While x <> 0
s = (x Mod 2) & s
x = Int(x / 2)
Wend
End If
If Len(s) = 1 Then s = "0000000" + s
If Len(s) = 2 Then s = "000000" + s
If Len(s) = 3 Then s = "00000" + s
If Len(s) = 4 Then s = "0000" + s
If Len(s) = 5 Then s = "000" + s
If Len(s) = 6 Then s = "00" + s
If Len(s) = 7 Then s = "0" + s
tobinary = s
End Function

Fonksiyon 0-255 arasy yani 8 haneli ikilik tabanda i?lem yapyyor isteyen arkada?lar programy daha da geni?letebilirler.

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePaz Mayıs 10, 2009 7:32 pm

OSD - Windows'ta Ekran Üzerinde Yazı Yazma

OSD(On Screen Display)
Herkese Merhaba,
Bu makalemde sizlere vb ile ekran üzerine yazı yazdırmayı yani diğer programlar çalışırken ekranın en üstüne yazıyazdırmayı anlatacağım.
Windows üzerinde hemen hemen her şey pencere üzerine kurulmuştur(ki zaten adıda burdan geliyor Tebessüm ). Mesela menüler, TaskBar, PictureBox v.s. hepsi birer pencere üzerine kurulmuştur. Windows ta çalışırken gördüğünüz ortamın tümüde yani masaüstü ve açık olan tüm pencereler bunların hepsi bir araya gelerek bir pencereyi oluştururlar ve bu pencereye DesktopWindow denir.
Her pencerenin bir handle(hWnd) ve hDc(istenilirse) numarası vardır. hDc numarasını vermek pencereyi yaratan kullanıcıya bağlıdır. Windows DesktopWindow'ada dc özelliği vermiştir yani hWnd ve hDc numarasına sahiptir.
Windows üzerinde API' ler ile bütün pencerelere erişilir ve istenilen şey yapılır. Pencere sizin programınıza dahil olsun, olmasın hiç bir şey farkketmez. Önemli olan handle(hWnd) numarasını bilmektir. Bende bu makaleye başlamadan once bunu düşündüm ve böyle bir şeyin hoş olacağı aklıma geldi. Aynı monitorlerdeki gibi OSD şekli şık, güzel bir yazı yada uyarı sistemi olabilir diye düşündüm. Düşündüm ve bu makaleyi yazdım. Tebessüm
Gelelim programlamaya.
+ Nelere İhtiyaç Var?
Bu makalede anlatılan konu ve ilgili örnekleri ben MS Windows XP Professional üzerinde sorunsuz çalıştırabildim. Yani bu demek oluyorki sizlerde bunu winxp, w2k ve nt üzerinde çalıştırabilirsiniz. Windows 98 ve/veya 9x için kesin garanti veremiyeceğim. Çünkü denemedim. Ama sonuçta kullanacağımız herşey API' lerden ibaret ve bu API' ler çok yeni API' ler değil yani win9x de de olabilir diye düşünüyorum.
+ Programın Mantığı:
Mantık oldukça basit ve sade. Önce yazıyı PictureBox' a yazıyoruz. Sonra pixel, pixel renkleri alıp DesktopWindow' a noktalıyoruz. Ama noktalamadan önce noktalıyacağımız kısmı bir diğer picturebox a alıyoruz ki daha sonradan temizlenmesi gerekirse renkleri oradan bulabilelim.
+ Örnek OSD Programı:

Kod:

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Type pAttributes
fontName As String * 25
fontSize As Integer
fontBold As Boolean
fontColor As Long
textString As String * 60
textBufferBox As PictureBox
textBufferWidth As Integer
textBufferHeight As Integer
textLocX As Integer
textLocY As Integer
scrBufferBox As PictureBox
LastX As Integer
LastY As Integer
End Type

Şimdi ise bu API' leride module'de declare ediniz. Bunlarıda program içerisinde nokta koyarken veya nokta üzerindeki rengi öğrenirken v.s. kullanıcağız.

Kod:

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
Public Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long
Public Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long
Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long

MODÜL iSE:

Kod:

Public Sub PrintOnScreen(ByRef textAttrib As pAttributes)
Dim hDcDsk As Long, hWndDsk As Long
Dim Rec As RECT
Dim winW As Long, winH As Long
Dim X As Long, Y As Long, c As Long, orgC As Long
' PictureBox için gerekli olan ayarlari yapalim..
textAttrib.textBufferBox.Font.Name = textAttrib.fontName
textAttrib.textBufferBox.fontBold = textAttrib.fontBold
textAttrib.textBufferBox.ForeColor = textAttrib.fontColor
textAttrib.textBufferBox.fontSize = textAttrib.fontSize
textAttrib.textBufferBox.Width = textAttrib.textBufferWidth * Screen.TwipsPerPixelX
textAttrib.textBufferBox.Height = textAttrib.textBufferHeight * Screen.TwipsPerPixelY
textAttrib.scrBufferBox.Width = Screen.Width
textAttrib.scrBufferBox.Height = Screen.Height
textAttrib.scrBufferBox.BackColor = textAttrib.fontColor
textAttrib.textBufferBox.AutoRedraw = True
textAttrib.scrBufferBox.AutoRedraw = True
textAttrib.textBufferBox.Visible = False
textAttrib.scrBufferBox.Visible = False
' Yaziyi pictureBox' a yazdiralim,
textAttrib.textBufferBox.Cls
textAttrib.scrBufferBox.Cls
textAttrib.textBufferBox.Print textAttrib.textString
GetWindowRect textAttrib.textBufferBox.hWnd, Rec ' Picture Box' in boyutlarini alalim..
winW = Rec.Right - Rec.Left ' Genisligi ve yüksekligi hesaplayalim
winH = Rec.Bottom - Rec.Top
hWndDsk = GetDesktopWindow ' Ekranin handle ini alalim
hDcDsk = GetWindowDC(hWndDsk) ' ve bu handle a ait olan hDc(Handle Direct Call) numarasini
' alalim.
For X = 0 To winW
For Y = 0 To winH
c = GetPixel(textAttrib.textBufferBox.hdc, X, Y) 'PictureBox üzerindeki rengi alalim,
If c = textAttrib.fontColor Then 'Eger secilen renk, belirledigimiz renkse..
' Ekran üzerindeki orjinal rengi alalim ve diger picturebox a yazalim.
orgC = GetPixel(hDcDsk, textAttrib.textLocX + X, textAttrib.textLocY + Y)
' Ekran üzerine PictureBox dan aldigimiz rengi koyalim.
SetPixel hDcDsk, textAttrib.textLocX + X, textAttrib.textLocY + Y, c
' Diger picturebox a ekran üzerinden aldigimiz rengi koyalim.
SetPixel textAttrib.scrBufferBox.hdc, textAttrib.textLocX + X, textAttrib.textLocY + Y, orgC
DoEvents
textAttrib.LastX = textAttrib.textLocX + X ' En son nokta koyulan koordinatlari kaydedelim.
End If
Next Y ' Y yi döndür.
textAttrib.LastY = textAttrib.textLocY + Y
Next X ' X i döndür.
End Sub
Public Sub ClearScreen(ByRef textAttrib As pAttributes)
Dim hDcDsk As Long, hWndDsk As Long
Dim Rec As RECT
Dim winW As Long, winH As Long
Dim X As Long, Y As Long, c As Long, orgC As Long
hWndDsk = GetDesktopWindow ' Ekranin handle ini alalim
hDcDsk = GetWindowDC(hWndDsk) ' ve bu handle a ait olan hDc(Handle Direct Call) numarasini
' alalim.
For X = 0 To textAttrib.LastX
For Y = 0 To textAttrib.LastY
c = GetPixel(textAttrib.scrBufferBox.hdc, X, Y)
If Not c = textAttrib.fontColor Then
SetPixel hDcDsk, X, Y, c ' PictureBox tan alıp ekrana yazalim
DoEvents
End If
Next Y
Next X
End Sub
 
' Şimdi en son tanımlamalara yani değişkenlere geldik. Aşağıdaki değişkenleri Formda tanımlamayı unutmayınız.
Private myText As pAttributes
' Sonunda geldik programın kodlarına. Aşağıdaki kodları programınıza direk olarak kopyalamadan önce programınıza btnClear(CommandButton) , btnPrint(CommandButton), Picture1,Picture2(PictureBox) olarak 2 adet picturebox ekleyiniz ve 1 tane de txtString(TextBox) ekleyiniz.
Private Sub btnClear_Click()
ClearScreen myText
End Sub
Private Sub btnPrint_Click()
PrintOnScreen myText
End Sub
Private Sub Form_Load()
myText.fontName = "Sans"
myText.fontBold = True
myText.fontSize = 12
myText.fontColor = RGB(255, 0, 0)
Set myText.scrBufferBox = Picture2
Set myText.textBufferBox = Picture1
myText.textBufferWidth = 300
myText.textBufferHeight = 100
myText.textLocX = 100
myText.textLocY = 100
myText.textString = txtString.Text
End Sub

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
SessizAdam
Sponsor
Sponsor
SessizAdam


Mesaj Sayısı : 571
Kayıt tarihi : 09/05/09
Rep Puanı Rep Puanı : 47

Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Empty
MesajKonu: Geri: Visual Basic Kod Paylaşım Merkezi   Visual Basic Kod Paylaşım Merkezi - Sayfa 3 Icon_minitimePaz Mayıs 10, 2009 7:33 pm

Sayısal Loto Programı

Yeni bir form açyp bir command button ve alty adet label (labellerin isminden dolayı aldanıp textbox eklemeyin) ekledikten sonra a?a?ydaki kodlary kopyalayyp kod kysmyna yapy?tyryn.

Kod:

Private Sub Command1_Click()
Randomize Timer
text1.Caption = Int(Rnd * 49) + 1
text2.Caption = Int(Rnd * 49) + 1
text3.Caption = Int(Rnd * 49) + 1
text4.Caption = Int(Rnd * 49) + 1
text5.Caption = Int(Rnd * 49) + 1
text6.Caption = Int(Rnd * 49) + 1
End Sub
Private Sub Text1_Change()
If text1.Caption = text2.Caption Or text1.Caption = text3.Caption Or text1.Caption = text4.Caption Or text1.Caption = text5.Caption Or text1.Caption = text6.Caption Then
text1.Caption = Int(Rnd * 49) + 1
End If
End Sub
Private Sub Text2_Change()
If text2.Caption = text1.Caption Or text2.Caption = text3.Caption Or text2.Caption = text4.Caption Or text2.Caption = text5.Caption Or text2.Caption = text6.Caption Then
text2.Caption = Int(Rnd * 49) + 1
End If
End Sub
Private Sub Text3_Change()
If text3.Caption = text1.Caption Or text3.Caption = text2.Caption Or text3.Caption = text4.Caption Or text3.Caption = text5.Caption Or text3.Caption = text6.Caption Then
text3.Caption = Int(Rnd * 49) + 1
End If
End Sub
Private Sub Text4_Change()
If text4.Caption = text1.Caption Or text4.Caption = text2.Caption Or text4.Caption = text3.Caption Or text4.Caption = text5.Caption Or text4.Caption = text6.Caption Then
text4.Caption = Int(Rnd * 49) + 1
End If
End Sub
Private Sub Text5_Change()
If text5.Caption = text1.Caption Or text5.Caption = text2.Caption Or text5.Caption = text3.Caption Or text5.Caption = text4.Caption Or text5.Caption = text6.Caption Then
text5.Caption = Int(Rnd * 49) + 1
End If
End Sub
Private Sub Text6_Change()
If text6.Caption = text1.Caption Or text6.Caption = text2.Caption Or text6.Caption = text3.Caption Or text6.Caption = text4.Caption Or text6.Caption = text5.Caption Then
text6.Caption = Int(Rnd * 49) + 1
End If
End Sub

________Kullanıcı İmzası_________
[Linkleri görebilmek için üye olun veya giriş yapın.]

[Linkleri görebilmek için üye olun veya giriş yapın.]
Sayfa başına dön Aşağa gitmek
 
Visual Basic Kod Paylaşım Merkezi
Sayfa başına dön 
3 sayfadaki 4 sayfasıSayfaya git : Önceki  1, 2, 3, 4  Sonraki
 Similar topics
-
» Visual Basic Nedir?
» Visual Basic Derleyici
» Visual Basic Değişkenler.
» Visual Basic Long
» Visual Basic Double

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
ExtraForum - 1299 Private Serverlar - Server Dosya Paylaşımları :: Kodlama & Programlama :: Visual Basic-
Buraya geçin:  

weyyo

knight online serverlar

metin2 serverlar

silkroad serverlar