هل تريد برنامجك يعمل في كل جهاز تفضل لتعرف الطريقة
منقول عن الاستاذ محمد الحفار
سوف نقوم بتصميم برنامج يعرفك على الملفات الضرورية التي سوف ترفقها مع برنامجك لكي يعمل
أولا : نقوم بكتابة الشفرة التالية في التعريف العام General
Public Function ReplaceIt(Original As String, Item As String, Replace As String, ReplaceAll As Boolean) As String If InStr(Original, Item) = False Then ReplaceIt = Original Exit Function End If If ReplaceAll = False Then lSide$ = Left$(Original, InStr(Original, Item) - 1) rSide$ = Right$(Original, (Len(Original) - Len(lSide$) - Len(Item))) ReplaceIt = lSide$ & Replace & rSide$ Exit Function End If nStage$ = Original Do Until InStr(nStage$, Item) = 0 lSide$ = Left$(nStage$, InStr(nStage$, Item) - 1) rSide$ = Right$(nStage$, (Len(nStage$) - Len(lSide$) - Len(Item))) nStage$ = lSide$ & Replace & rSide$ Loop ReplaceIt = nStage$ End Function
ثم نقوم برسم أداة CommonDialog
و أداة L I S T
ثانياً نقوم بأدراج زر أمر Command
ثم نكتب الشفرة التالية
Private Sub Command1_Click() CommonDialog1.Filter = "Applications (*.exe)|*.exe" CommonDialog1.FilterIndex = 0 CommonDialog1.Flags = cdlOFNHideReadOnly CommonDialog1.InitDir = App.Path CommonDialog1.Action = 1 fName$ = CommonDialog1.FileName If fName$ = "" Then Exit Sub txtFile = fName$ 'C???? If txtFile = "" Then Exit Sub Dim tempFile As String Dim Pos As Long Dim StartPos As Long, EndPos As Long List1.Clear 'exe هنا يقوم بفتح نافذة لأختيار البرنامج الذي قمت بتصميمه بعدما فمت بعمله على شكل 'HnHn 'hnhncom@hotmail.com ' Open txtFile For Binary As #1 tempFile = Space(LOF(1)) Get #1, , tempFile Close #1 ' Pos = 1 Do Until InStr(Pos, tempFile, ".dll") = 0 And InStr(Pos, tempFile, ".DLL") = 0 tPos1 = InStr(Pos, tempFile, ".dll") tPos2 = InStr(Pos, tempFile, ".DLL") If tPos1 < tPos2 Then EndPos = tPos1 Else EndPos = tPos2 If tPos1 = 0 Then EndPos = tPos2 StartPos = EndPos - 8 Pos = EndPos + 4 For i = 1 To 8 If Asc(Mid$(tempFile, EndPos - i, 1)) = 32 Or Asc(Mid$(tempFile, EndPos - i, 1)) = 0 Then StartPos = StartPos + (9 - i) Exit For End If Next rFile$ = LCase(Mid$(tempFile, StartPos, (EndPos - StartPos) + 4)) For i = 0 To List1.ListCount - 1 If List1.List(i) = rFile$ Then GoTo Skip_Dll Next List1.AddItem rFile$ Skip_Dll: Loop 'Ocx C?E?E ?? ???CE Pos = 1 Do Until InStr(Pos, tempFile, ".ocx") = 0 And InStr(Pos, tempFile, ".OCX") = 0 tPos1 = InStr(Pos, tempFile, ".ocx") tPos2 = InStr(Pos, tempFile, ".OCX") If tPos1 < tPos2 Then EndPos = tPos1 Else EndPos = tPos2 If tPos1 = 0 Then EndPos = tPos2 StartPos = EndPos - 8 Pos = EndPos + 4 For i = 1 To 8 If Asc(Mid$(tempFile, EndPos - i, 1)) = 32 Or Asc(Mid$(tempFile, EndPos - i, 1)) = 0 Then StartPos = StartPos + (9 - i) Exit For End If Next rFile$ = LCase(Mid$(tempFile, StartPos, (EndPos - StartPos) + 4)) For i = 0 To List1.ListCount - 1 If List1.List(i) = rFile$ Then GoTo Skip_Ocx Next List1.AddItem rFile$ Skip_Ocx: Loop End Sub

