تسجيل الدخول

مشاهدة النسخة كاملة : مساعدة صغيرة في الفيشوال بيسك



iraq boy
04-08-2005, 06:08 PM
السلام عليكم
ارجو الاجابة على الاسئلة وجزاكم الله كل خير
س1/ انا عملت برنامج و حمت عليه فيديو و طبعا عند تحميل الفيديو يجب ان اضع مكان الفيديو في الكمبيوتر عندي حتى يعمل وانا الان اريد أن ارسل العمل لاشخاص لكن اذا ارسلت لهم العمل سوف لن يعمل الفيديو لانه ليس عندهم فاذا اريد ان ارسل الفيديو مرفق مع المشروع فماذا اكتب في البرنامج حتى يعمل الفيديو في البرنامج اين ما يضعه المستلم ارجو انكم قد فهمتوني اريد الحل ؟


س2/ كيف اخزن المعلومات اثناء تنفيذ البرنامج بمعنى عندما يضغط احد على زر قد عملته اسمه save
يخزن المعلومات المحفوضة وشكرا
:ciao: :biggthump :D

Thaern
04-08-2005, 09:16 PM
ج1 . اجعل مسار الفلم

App.Path & "\" & "123.avi"

حيث انت 123.avi هو اسم ملف الفلم
كل ما عليك فعله بعد ذلك هو وضع ملف الفلم في نفس مجلد البرنامج يعني لو البرنامج على c:\game الملف لازم يكون في نفس المجلد
مثال:

WindowsMediaPlayer1.URL = App.Path & "\" & "123.avi"



ج2. ما نوع المعلومات التي تريد حفظها (نص ، صورة ، بيانات) وضح اكثر اخي العزيز

iraq boy
05-08-2005, 01:35 PM
السلام عليكم
شكرا يا أخي على الرد
اريد ان اخزن متغيرات بحيث لو ادخل احد كلمة تحفض في متغير انا حددته سابقا وعند اغلاق و تشغيل البرنامج يبقى المتغير على اخر شيىء و شكراااا:ciao:

وليد العبادي
05-08-2005, 06:49 PM
تعين نوع المتغير ايا كان نوعه على انه متغير ساكن STATIC
بالسي شارب نستعمل static نسيت ايش اسمها بالفجوال

وراح تبقى الى ان يغلق البرنامج الا اذا غيرت عليها

Thaern
05-08-2005, 10:26 PM
لا اعرف ما قصد الاخ وليد العبادي.. و لكن انا استخدم مسجلات الويندوز لتسجيل البيانات..


اولا قم باضافة Module جديدة عن طريق Project و ثم Add Module
و اضف الكود التالي في الModule




'put this in a module
'i did not create this code. it was made by revolt (www.revoltsoft.com)
'i got it from www.gamesxposed.com
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hkey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal hkey As Long, ByVal lpSubKey As String) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hkey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hkey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long

Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004

Private Const ERROR_SUCCESS = 0&
Private Const REG_SZ = 1
Private Const REG_DWORD = 4

Public Sub SaveKey(hkey As Long, strPath As String)
Dim r
Dim keyhand&
r = RegCreateKey(hkey, strPath, keyhand&)
r = RegCloseKey(keyhand&)
End Sub

Public Function GetString(hkey As Long, strPath As String, strValue As String)
Dim keyhand As Long
Dim datatype As Long
Dim lResult As Long
Dim strBuf As String
Dim lDataBufSize As Long
Dim intZeroPos As Integer
Dim r
Dim lValueType
r = RegOpenKey(hkey, strPath, keyhand)
lResult = RegQueryValueEx(keyhand, strValue, 0&, lValueType, ByVal 0&, lDataBufSize)
If lValueType = REG_SZ Then
strBuf = String(lDataBufSize, " ")
lResult = RegQueryValueEx(keyhand, strValue, 0&, 0&, ByVal strBuf, lDataBufSize)
If lResult = ERROR_SUCCESS Then
intZeroPos = InStr(strBuf, Chr$(0))
If intZeroPos > 0 Then
GetString = Left$(strBuf, intZeroPos - 1)
Else
GetString = strBuf
End If
End If
End If
If GetString = "" Then
GetString = ""
End If
End Function


Public Function SaveString(hkey As Long, strPath As String, strValue As String, strData As String)
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(hkey, strPath, keyhand)
r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strData, Len(strData))
r = RegCloseKey(keyhand)
If r = 0 Then
SaveString = ""
Else
SaveString = ""
End If
End Function


Function GetDWord(ByVal hkey As Long, ByVal strPath As String, ByVal strValueName As String) As Long
Dim lResult As Long
Dim lValueType As Long
Dim lBuf As Long
Dim lDataBufSize As Long
Dim r As Long
Dim keyhand As Long
r = RegOpenKey(hkey, strPath, keyhand)
lDataBufSize = 4
lResult = RegQueryValueEx(keyhand, strValueName, 0&, lValueType, lBuf, lDataBufSize)
If lResult = ERROR_SUCCESS Then
If lValueType = REG_DWORD Then
GetDWord = lBuf
End If
End If
r = RegCloseKey(keyhand)
If GetDWord = "" Then
GetDWord = ""
End If
End Function

Function SaveDword(ByVal hkey As Long, ByVal strPath As String, ByVal strValueName As String, ByVal lData As Long)
Dim lResult As Long
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(hkey, strPath, keyhand)
lResult = RegSetValueEx(keyhand, strValueName, 0&, REG_DWORD, lData, 4)
r = RegCloseKey(keyhand)
If r = 0 Then
SaveDword = ""
Else
SaveDword = ""
End If
End Function

Public Function DeleteKey(ByVal hkey As Long, ByVal strKey As String)
Dim r As Long
r = RegDeleteKey(hkey, strKey)
If r = 0 Then
DeleteKey = ""
Else
DeleteKey = ""
End If
End Function

Public Function DeleteValue(ByVal hkey As Long, ByVal strPath As String, ByVal strValue As String)
Dim keyhand As Long
Dim r
r = RegOpenKey(hkey, strPath, keyhand)
r = RegDeleteValue(keyhand, strValue)
r = RegCloseKey(keyhand)
If r = 0 Then
DeleteValue = ""
Else
DeleteValue = ""
End If
End Function







اضف مربع نص text1 للفورم

ثم ادخل الكود التالي في الفورم ( بعد افراغ اي كود كان في الفورم مسبقا)



Private Sub Form_Load()
Dim PN As String
PN = GetString(&H80000001, "Software\GameX", "PlayerName")
Text1.Text = PN
End Sub

Private Sub Text1_Change()
Call SaveString(&H80000001, "Software\GameX", "PlayerName", Text1.Text)
End Sub



ستلاحظ انه و بعد اقفال الفورم و فتح سيبقى النص في مربع النص كما هو... و كل مرة تغير النص سيتغير و يثبت على مهو عليه حتى تغيره مرة اخرى..

iraq boy
06-08-2005, 12:37 AM
شكرا يا اخوان على المساعدة:biggthump :D :ciao:

iraq boy
07-08-2005, 08:39 PM
السلام عليكم
اشكر مجددا كل من رد لكن انا الان عندي سؤال وهو يشبه السؤال الاول ولكنني الان اريده ان يكون ملف اخر ليس فيديو فلقد اعطاني الاخ oms هذا الكود
Shell "c:\1.exe", vbNormalFocus لفتح الملفات لكنني الان اريد فتح الملفات المرفقة مع البرنامج حتى يمكن نقلها لمستخدم اخ هو نفس فكرة السؤال الاول لكن الان اريده لهذا الامر لفتح هذه الملفات و الملفات الاخرى وشكرااا:ciao: :D

Thaern
08-08-2005, 12:52 AM
ممكن توضح سؤالك اكثر اخي .. ما الذي تريد فعله بالتحديد؟

iraq boy
08-08-2005, 01:38 PM
سؤالي هو ان اضع ملف يفتح عند الضغط على زر او صورة لكنني اريد ان انقل الصورة الى جهاز اخر و اذا نقلتها فهي لا تعمل يعني اريد كود يفتحها في اي مكان كانت على شرط ان تكون مرفقة معة المشروع
يشبه سؤال الفيديو:ciao:

Thaern
08-08-2005, 09:08 PM
اخي هذه قاعدة عامة

App.Path & "\" & "Filename.ext"

تعني مسار البرنامج (ملف الexe) و اسم الملف الموجود على مسار البرنامج

يعني الكود هيصير

Shell App.Path & "\" & "Filename.ext", vbNormalFocus


حيث ان Filename.ext هو اسم الملف الموجود في مجلد البرنامج

iraq boy
09-08-2005, 12:52 AM
مممشششششششششكككككككككوووووووووورررررررر اخوي ما قصرت والله:ciao: