ممنون ولی کار نکرد (ارور میده).نقل قول:
Printable View
ممنون ولی کار نکرد (ارور میده).نقل قول:
سلام.نقل قول:
قرار نشد تنبلی کنی.
API رو که گذاشتم. دیگه کدش کاری داشت؟
کد:Private Declare Function EnumDisplaySettingsA Lib "user32" (ByVal lpszDeviceName As String, ByVal iModeNum As Long, lpDevMode As DEVMODE) As Long
Private Const ENUM_CURRENT_SETTINGS = -1
Private Const CCHDEVICENAME = 32
Private Const CCHFORMNAME = 32
Private Type DEVMODE
dmDeviceName As String * CCHDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCHFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Long
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Private Function GetDisplaySetting() As DEVMODE
Dim dvmDisplay As DEVMODE
dvmDisplay.dmSize = Len(dvmDisplay)
EnumDisplaySettingsA vbNullString, ENUM_CURRENT_SETTINGS, dvmDisplay
GetDisplaySetting = dvmDisplay
End Function
Private Sub Command1_Click()
Label1.Caption = GetDisplaySetting.dmDisplayFrequency
End Sub
سلام.نقل قول:
فکر کنم با جوابی آقا پیمان دادن مشکلت حل شده باشه.
برای اجرای اون فایل باید رو سیستمت دات نت نصب باشه.
موفق باشید.
سلام آقا پیمان واقعاً سپاسگذارم . باورکنید تنبل نیستم ، موضوع اینکه من زیاد با VB کار نکردم ، مخصوصاً با API ها مشکل دارم ولی تازگی ها درگیرش شدم وامیدوارم با کمک دوستان خوبی مثل شما پیشرفت کنم . البته با تمام این حرفها تونستم این دمو رو که یه بازی هست رو بسازمنقل قول:
این تصویرش + لینک دانلود
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کد:http://www.box.net/shared/l2utf5r64l
سلام.نقل قول:
نه نیازی به نصب دات نت نیست.
سلام فایلتونو دانلود کردم:46:.نقل قول:
خودتون ساختین؟:18:
ماشاالله.... مااشالله...
آفرین.
چندتا سوال:
با چه زبانی نوشتین؟
چقدر وقتتونو گرفت؟
عمراً صدسال دیگه بتونم همچین چیزی بسازم.
راستی آهنگش خیلی قشنگ بود.
موفق باشی دوست عزیز.
سلام دوست من ، خوب معلومه دیگه با VB نوشتم . بخاطر همین گذاشتمش تو این پست . ولی چه فایده بازم مشکلم با رزولیشن حل نشده . با کمک دوستان و پیمان عزیز الان میتونم بخوبی رزولیشن و فرکانس رو تغییر بدم ولی این کدها آیکون های دسک تاپ رو بعد از تغییر بهم میریزن . یه کد پیدا کردم که این مشکلو نداره ولی کد مربوط به فرکانس توش نیست . کسی میتونه کد فرکانس رو بهش اضافه کنه ؟
کد:Option Explicit
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Const CCFORMNAME = 32
Const CCDEVICENAME = 32
Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Private Declare Function EnumDisplaySettings Lib _
"user32" Alias "EnumDisplaySettingsA" _
(ByVal lpszDeviceName As Long, _
ByVal iModeNum As Long, _
lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib _
"user32" Alias "ChangeDisplaySettingsA" ( _
lpDevMode As Any, ByVal dwFlags As Long) As Long
Public Sub ChangeResolution( _
iWidth As Single, _
iHeight As Single)
Dim DevM As DEVMODE
Dim A As Boolean
Dim i As Long
Dim b As Long
'Enumerate settings
Do
A = EnumDisplaySettings(0&, i&, DevM)
i = i + 1
Loop Until (A = False)
'Change settings
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = iWidth
DevM.dmPelsHeight = iHeight
b = ChangeDisplaySettings(DevM, 0)
End Sub
Private Sub Command1_Click()
ChangeResolution Trim$(Text1.Text), Trim$(Text2.Text)
End Sub
سلام.
یعنی میخوای بگی این بازی رو ساختی و یه تغییر کوچولو تو کدا نمیتونی بدی؟
موفق و سربلند باشید.کد:Option Explicit
Private Declare Function EnumDisplaySettingsA Lib "user32" (ByVal lpszDeviceName As String, ByVal iModeNum As Long, lpDevMode As DEVMODE) As Long
Private Const ENUM_CURRENT_SETTINGS = -1
Private Const CCHDEVICENAME = 32
Private Const CCHFORMNAME = 32
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Const CCFORMNAME = 32
Const CCDEVICENAME = 32
Private Type DEVMODE
dmDeviceName As String * CCDEVICENAME
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * CCFORMNAME
dmUnusedPadding As Integer
dmBitsPerPel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
End Type
Private Declare Function EnumDisplaySettings Lib _
"user32" Alias "EnumDisplaySettingsA" _
(ByVal lpszDeviceName As Long, _
ByVal iModeNum As Long, _
lpDevMode As Any) As Boolean
Private Declare Function ChangeDisplaySettings Lib _
"user32" Alias "ChangeDisplaySettingsA" ( _
lpDevMode As Any, ByVal dwFlags As Long) As Long
Public Sub ChangeResolution( _
iWidth As Single, _
iHeight As Single)
Dim DevM As DEVMODE
Dim A As Boolean
Dim i As Long
Dim b As Long
'Enumerate settings
Do
A = EnumDisplaySettings(0&, i&, DevM)
i = i + 1
Loop Until (A = False)
'Change settings
DevM.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
DevM.dmPelsWidth = iWidth
DevM.dmPelsHeight = iHeight
b = ChangeDisplaySettings(DevM, 0)
End Sub
Private Sub Command1_Click()
Label1.Caption = GetDisplaySetting.dmDisplayFrequency
ChangeResolution Trim$(Text1.Text), Trim$(Text2.Text)
End Sub
Private Function GetDisplaySetting() As DEVMODE
Dim dvmDisplay As DEVMODE
dvmDisplay.dmSize = Len(dvmDisplay)
EnumDisplaySettingsA vbNullString, ENUM_CURRENT_SETTINGS, dvmDisplay
GetDisplaySetting = dvmDisplay
End Function
تو پست 14 به آقا پیمان هم توضیح دادم که تو VB تقریباً مبتدی هستم و چیزی که تو این بازی باعث تعجب شما شده بیشتر گرافیکشه . درسته که کدهای زیادی داره ولی اکثرشون از دستورات IF تشکیل شدن که یه چیز ساده و برای همه قابل فهمه . واما کدی که گذاشتید : تغییری که شما دادید همونیه که پیمان گفت یعنی فقط فرکانس رو توی لیبل نشون میده (دیگه تا اون حد هم مبتدی نیستم که نتونم این کپی/ پیست رو انجام بدم) . منظورم این بود که فرکانس ورودی اعمال بشه یعنی یه Text3 به برنامه اضافه بشه که فرکانس درخواستی رو بگیره و اونو اعمال کنهنقل قول:
باز هم ممنونم و براتون آرزوی موفقیت میکنم .
سلام.
این API یه پارامتر از همون تایپ میگیره. میتونی ابتدا با EnumDisplaySettingsA تنظیمات رو بگیری. تغییرات رو بدی و با ChangeDisplaySettingsA اعمال کنی.کد:Private Declare Function ChangeDisplaySettingsA Lib "user32" (lpDevMode As Any, ByVal dwFlags As Long) As Long
Private Const CDS_UPDATEREGISTRY = &H1