• بادئ الموضوع بادئ الموضوع LINEZERO
  • تاريخ البدء تاريخ البدء
  • المشاهدات 113,357
الحالة
مغلق و غير مفتوح للمزيد من الردود.
سلام عليكم ..

الله يعافيك أخوي رامي .. بالنسبه لأكوادك في المجمل صحيحيه << مع إني ماجربتها:d:

لي ملاحظة على هذا الكود

PHP:
Select
 Case FileExists(@DesktopDir&"\1.txt")
 Select
Case "1"
Select
 Case FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
  Select
   Case "1"
  MsgBox(0,"","تم نسخ")
  Select
 Case FileDelete(@DesktopDir&"\ramay.bat")
  Select
   Case "1"
  MsgBox(0,""," تم حذف")
 EndSelect
EndSelect
EndSelect
EndSelect
EndSelect
Case Else
 MsgBox(0,""," ملف غير موجود")
EndSelect

الكود ملخبط مافهمته صراحه

إنا قلت لك لاتلخبط بين .. Switch وselect

والكود هذا يقول إنك ملخبط :d:

لأن إستخدامك للقيم بهذي الطريقة

كود:
case "any text"
إذا أردت التحقق من محتوات القيمة .. لاينفع هذأ إلا مع switch

فلاتفكر تستخدمه لا في select ولا if

لأن تفسير if و select لها تفسير أخر

ووضحت هذا في هذا الدرس ...

[
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
]

الجزيئة هذي الطريقة الثالثة وضعها في عبارهif

هي مشروحه على if نفس الفكره في select

وهذي الفكره لاتمشي مع switch

وراجع هذي المشاركة: [
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
]
..

راجع الجزيئة الثالثة والرابعه ..
ثالثاً :التأكد من إرجاع الدالة لقيمة صحيحة أو خاطئة ..

رابعاُ :التحقق من القيمة الراجعه للدالة أو المتغير بدون الشروط[/B]
موفق...​
 

توقيع : waget
تطبيقي :d: >> إشتقت أقول هالكلمة في الدورة :hh:

كود:
$setup_path = @ScriptDir & "\setup.exe" ;مسارملف التنصيب
$switch = " /S"; سويتش التنصيب الصامت
$prog_path = @ProgramFilesDir & "\Defraggler\Defraggler.exe";مسار البرنامج في مجلد البرامج
$regkey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\defraggler.exe";مفتاح ريجستري خاص بالبرنامج
$Exists = FileExists($prog_path);داله للتحقق من وجود البرنامج 
$regread = regread($regkey,"Path"); دالة لقرأه بيانات قيمة في الريجستري
;=========================================

if $Exists = 0 and $regread = "" Then

    $pid = Run($setup_path & $switch)

    if $pid <> 0  then

        ProcessWaitClose ($pid )

        if FileExists ($prog_path) Then

            MsgBox(0,"Success","تم التثبيت")

        Else

            MsgBox(16,"Error","خطأ في التثبيت")

        endif
    Else

        MsgBox(16,"Error","لايمكن تشغيل ملف التثييت")

    endif

Else
    MsgBox(0,"","البرنامج موجود لديك")
endif
تنصيب صامت لDefraggler

تستطيع إستخدام هذا السيكريبت كقالب للتنصيب الصامت ...

ماعليك سوى التعديل على بيانات المتغيرات وإسم القيمة في دالة regread


 
توقيع : waget
سلام عليكم ..​


الله يعافيك أخوي رامي .. بالنسبه لأكوادك في المجمل صحيحيه << مع إني ماجربتها:d:​

لي ملاحظة على هذا الكود​



الكود ملخبط مافهمته صراحه​

إنا قلت لك لاتلخبط بين .. Switch وselect​

والكود هذا يقول إنك ملخبط :d:​

لأن إستخدامك للقيم بهذي الطريقة​

كود:
[CENTER]case "any text"[/CENTER]
إذا أردت التحقق من محتوات القيمة .. لاينفع هذأ إلا مع switch​


فلاتفكر تستخدمه لا في select ولا if​

لأن تفسير if و select لها تفسير أخر​

ووضحت هذا في هذا الدرس ...​

[
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
]​

الجزيئة هذي الطريقة الثالثة وضعها في عبارهif

هي مشروحه على if نفس الفكره في select

وهذي الفكره لاتمشي مع switch

وراجع هذي المشاركة: [
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
]
..

راجع الجزيئة الثالثة والرابعه ..

موفق...​
مشكور على ملاحظتك يا الغالي لكن جربت كود يعمل في طريقة صحيح وسأحاول أعدله أكثر من ذلك:king:​
 
توقيع : ramay
مشكور على ملاحظتك يا الغالي لكن جربت كود يعمل في طريقة صحيح وسأحاول أعدله أكثر من ذلك:king:

عزيزي :d: خذ هذا السيكريبت وطبقه ..

كود:
Select
    Case FileExists(@DesktopDir&"\1.txt")
        Select
            Case FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
                MsgBox(0,"","تم نسخ")
                Select
                    Case FileDelete(@DesktopDir&"\ramay.bat")
                        MsgBox(0,""," تم حذف")
                EndSelect
        EndSelect
    Case Else
        MsgBox(0,""," ملف غير موجود")
EndSelect
الشروط الي إنت واضعها وجودها زي عدمها :d:

وحتى لو لعبت فيها شوي راح تلاحظ النتيجه هي هي ..

كود:
Select
 Case FileExists(@DesktopDir&"\1.txt")
 Select
Case "xxx"
Select
 Case FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
  Select
   Case "YYYY"
  MsgBox(0,"","تم نسخ")
  Select
 Case FileDelete(@DesktopDir&"\ramay.bat")
  Select
   Case "DDDD"
  MsgBox(0,""," تم حذف")
 EndSelect
EndSelect
EndSelect
EndSelect
EndSelect
Case Else
 MsgBox(0,""," ملف غير موجود")
EndSelect
SELECT لا تتحقق من القيم إلا بوضع شرط ..

راجع [
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
]

الجزئية الثالثة لأن القيم ألي وضعتها دائماً

تعتبر كشرط صحيح TRUE

:d:



 
توقيع : waget
:d:
 
توقيع : waget
يعني يا الغالي مش ممكن نضع قيمة راجعة أن أستخدامة شروط مباشر
هكذا
في أنتظرك
كود:
Select
 $1 = FileExists(@DesktopDir&"\1.txt")
Case $1 =1
Select
 $2 =  FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
   Case $2 = 1
  MsgBox(0,"","تم نسخ")
  Select
$3 = FileDelete(@DesktopDir&"\ramay.bat")
   Case $3 = 1
  MsgBox(0,""," تم حذف")
 EndSelect
EndSelect
 
Case Else
 MsgBox(0,""," ملف غير موجود")
EndSelect
 
توقيع : ramay
طيب أيضا أستفسار في درس فتح وتشغيل ملفات
مثال عندي ملف ريجستري اريد تعديل عليه كيف سأعدل عليه هل تعديل يتم يدوي قصدك أما عنه طريق برنامج
كود:
ShellExecute(@DesktopDir&"\1.reg","","","edit")
 
توقيع : ramay
طيب أيضا أستفسار في درس فتح وتشغيل ملفات
مثال عندي ملف ريجستري اريد تعديل عليه كيف سأعدل عليه هل تعديل يتم يدوي قصدك أما عنه طريق برنامج
كود:
ShellExecute(@DesktopDir&"\1.reg","","","edit")

الفكرة هنا إنك تفتح ملف الريجستري ببرنامج يحرره

ليس تدمجه مع سجل النظام

بالنسبة للتعديل أكيد يدوي ..

:d:
 
توقيع : waget
شوف يا الغالي
برنامج التى عمل فيه تحديث مايكرسوفت
Silverlight

PHP:
#RequireAdmin
$1 = MsgBox(4,"","هل تريد تنصيب برنامج")
If $1 = 6 Then
$3 = ShellExecute(@DesktopDir&"\ra.exe","/q ra.exe")
If $3 = 1 Then
 MsgBox(0,""," dont")
Else
 MsgBox(16,""," error")
EndIf
EndIf
PHP:
#RequireAdmin
$1 = MsgBox(4,"","هل تريد تنصيب برنامج")
If $1 = 6 Then
$3 = ShellExecute(@DesktopDir&"\Silverlight.sfx.exe")
If $3 = 1 Then
 MsgBox(0,""," dont")
Else
 MsgBox(16,""," error")
EndIf
EndIf
PHP:
#RequireAdmin
$1 = MsgBox(4,"","هل تريد تنصيب برنامج")
If $1 = 6 Then
$2 = FileExists(@ProgramFilesDir&"\Ringz Studio\Storm Codec\mplayerc.exe")
If $2 = 1 Then
 MsgBox(0,"","برنامج مثبت ")
 EndIf
Exit
$3 = ShellExecute(@HomeDrive&"\Storm Codec.exe","/s Storm Codec.exe")
If $3 = 1 Then
 MsgBox(0,""," dont")
Else
 MsgBox(16,""," error")
EndIf
EndIf
كود:
#RequireAdmin
$1 = MsgBox(4,"","")
If $1 = 6 Then
$3 = ShellExecute("gpedit.msc")
If $3 = 1 Then
 MsgBox(0,""," dont")
Else
 MsgBox(16,""," error")
EndIf
EndIf
 
توقيع : ramay
يعني يا الغالي مش ممكن نضع قيمة راجعة أن أستخدامة شروط مباشر
هكذا
في أنتظرك
كود:
Select
 $1 = FileExists(@DesktopDir&"\1.txt")
Case $1 =1
Select
 $2 =  FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
   Case $2 = 1
  MsgBox(0,"","تم نسخ")
  Select
$3 = FileDelete(@DesktopDir&"\ramay.bat")
   Case $3 = 1
  MsgBox(0,""," تم حذف")
 EndSelect
EndSelect
 
Case Else
 MsgBox(0,""," ملف غير موجود")
EndSelect

عذاً على تأخري في الرد :b:

أخي هذي أول مره أرى عبارة شرط تختبر مابداخلها ..

هذي غير ممكنه أبداً في كل عبارات الشرط

شوف هذا من أمثله الدرس الخاص بselect ..
كود:
[B][FONT=Times New Roman][COLOR=Black][SIZE=3][B][COLOR=DarkRed]$OS_Version[/COLOR] [COLOR=Red]=[/COLOR] [COLOR=Magenta]@OSVersion[/COLOR] [COLOR=Blue]Select[/COLOR] 
 [COLOR=Blue]Case [/COLOR][COLOR=DarkRed]$OS_Version[/COLOR]  [COLOR=Red]=[/COLOR] [COLOR=Silver]"WIN_7"[I]
[/I][/COLOR][I][COLOR=Navy]MsgBox[/COLOR][/I][COLOR=Red]([/COLOR][COLOR=Indigo]0[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"Windows 7"[/COLOR][COLOR=Red])[/COLOR] 
[COLOR=Blue]Case [/COLOR][COLOR=DarkRed]$OS_Version[/COLOR]  [COLOR=Red]=[/COLOR][COLOR=Silver] "WIN_XP"[/COLOR] 
[I][COLOR=Navy]MsgBox[/COLOR][/I][COLOR=Red]([/COLOR][COLOR=Indigo]0[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"Windows Xp"[/COLOR][COLOR=Red])[/COLOR] 
 [COLOR=Blue]case[/COLOR][COLOR=DarkRed] $OS_Version [/COLOR][COLOR=Red]=[/COLOR] [COLOR=Silver]"WIN_VISTA"[/COLOR]
[I][COLOR=Navy]MsgBox[/COLOR][/I][COLOR=Red]([/COLOR][COLOR=Indigo]0[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"Windows Vista"[/COLOR][COLOR=Red])[/COLOR] 
[COLOR=Blue]EndSelect[/COLOR][/B][/SIZE][/COLOR][/FONT][/B]

دائماً الامثلة تختلف لاكن الاسلوب واحد

أرجو منك التركيز

:d:
 
توقيع : waget
شوف يا الغالي
برنامج التى عمل فيه تحديث مايكرسوفت
silverlight

PHP:
#requireadmin
$1 = msgbox(4,"","هل تريد تنصيب برنامج")
if $1 = 6 then
$2 = fileexists(@programfilesdir&"\ringz studio\storm codec\mplayerc.exe")
if $2 = 1 then
  msgbox(0,"","برنامج مثبت ")
  endif
 exit
$3 = shellexecute(@homedrive&"\storm codec.exe","/s storm codec.exe")
if $3 = 1 then
 msgbox(0,""," dont")
else
 msgbox(16,""," error")
endif
endif

أعتقد جميع التطبيقات سليمه لكن في خطأ قاتل هنا ..
إذا كان البرنامج غير موجود راح يتم الخروج من السيكريبت وليس تنصيب البرنامج :?:
 
توقيع : waget
[1]الحلقات..العبارة while

[1]الحلقات..العبارة while

راح نبدأ إن شاء الله في موضوع الحلقات بالعبارةwhile

راح يكون الدرس على ثلاث أجزاء راح نتناول فية تقريباً كل شيء يخص الحلقات

بعده نأخذ العبارات الثانية ونوضح الفروق لأن جميع العبارات تشترك في أغلب الامور




فكره الحلقات مثل فكره عبارات الشرط بل إن الحلقات يجب أن يكون بها شرط

تذكرون في عبارات الشرط قلنا إن الدول الاوامر ألتي داخل العباراه لاتنفذ إلا إذا تحقق الشرط

في الشروط إذا تحقق الشرط نفذ ثم أخرج من العبارة

في الحلقات إذا تحقق الشرط أدخل الحلقة ونفذ مابداخلها سطر سطر
ثم أعد إختبار الشرط إذا تحقق أدخل مره أخرى وهكذا حتى يكسر الشرط :d:

الصيغه العامة ..

كود:
[COLOR=Blue]While[/COLOR][COLOR=YellowGreen]( ;الشرط)[/COLOR]
  [COLOR=YellowGreen];إذا تحقق الشرط نفذ هنا
;
;
;
;
[/COLOR][COLOR=Blue]WEnd[/COLOR]
إذا وضعت الشرط بين قوسين فلابأس وإن لم تضع أيضاً

مثال /

كود:
[COLOR=DarkRed]$Counter[/COLOR] [COLOR=Red]=[/COLOR] [COLOR=Indigo]0[/COLOR]
[COLOR=Blue]While [/COLOR][COLOR=Red]([/COLOR][COLOR=DarkRed]$Counter[/COLOR] [COLOR=Red]<[/COLOR] [COLOR=Indigo]10[/COLOR][COLOR=Red])[/COLOR]
    [COLOR=Navy][I]MsgBox[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Indigo]0[/COLOR],[COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"Counter = "[/COLOR] [COLOR=Red]&[/COLOR][COLOR=DarkRed] $Counter[/COLOR][COLOR=Red])[/COLOR]
    [COLOR=DarkRed]$Counter[/COLOR] [COLOR=Red]=[/COLOR]  [COLOR=DarkRed]$Counter[/COLOR]  [COLOR=Red]+[/COLOR] [COLOR=Indigo]1[/COLOR]
[COLOR=Blue]WEnd[/COLOR]
عرفنا متغير وأسندنا له قيمة إبتدائية كنقطة بداية << وهذا ضروري في While

وضعنا شرط للعبارة .. وهو طالما قيمة Counter أ صغر من 10 إبقى في الحلقة

أول مايدخل الحلقة أضهر المسج وفية قيمة المتغير Counter
وأنزل السطر التالي وأضيف 1 على المتغير

وهذا مهم لكي نكسر الشرط

في كل مره راح تزيد قيمة Counter بواحد

حتى يصل ل9 ويخرج ليش لأنه في كل مره يتحقق من الشرط

إذا تحقق دخل العبارة مره أخرى إذا لم يتحقق خرج
..

مثال آخر

كود:
[COLOR=DarkRed]$input[/COLOR] [COLOR=Red]=[/COLOR][COLOR=Silver] ""[/COLOR]
 [COLOR=Blue]While[/COLOR][COLOR=Red]([/COLOR][COLOR=DarkRed]$input[/COLOR] [COLOR=Red]<>[/COLOR] [COLOR=Indigo]4[/COLOR][COLOR=Red])[/COLOR]
[COLOR=DarkRed]$input[/COLOR] [COLOR=Red]=[/COLOR] [COLOR=Navy][I]InputBox[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"للخروج أدخل 4"[/COLOR][COLOR=Red])[/COLOR]
[COLOR=Blue]WEnd[/COLOR]
هنا عرفنا متغير وأسندنا له قيمة إبتدائية..
الشرط هو أن قيمة المتغير لاتساوي 4
جعلنا القيمة الراجعه للدالةInputBox تحفظ في المتغير الي عرفناه
علشان في كل مره ندخل قيمة والقيمة تسند للمتغير
وفي كل مره راح يتحقق من القيمة إذا كانت لاتساوي 4 تضهر نافذة الادخال إذا تساوي 4 يخرج
:d:

وأيضاً /

كود:
[COLOR=DarkRed]$MSG[/COLOR][COLOR=Red] =[/COLOR] [COLOR=Silver]""[/COLOR]
 [COLOR=Blue]While[/COLOR][COLOR=Red]([/COLOR][COLOR=DarkRed]$MSG[/COLOR] [COLOR=Red]<>[/COLOR][COLOR=Indigo] 6[/COLOR][COLOR=Red])[/COLOR]
[COLOR=DarkRed]$MSG[/COLOR] = [COLOR=Navy][I]MsgBox[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Indigo]4[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"هل تريد الخروج من الحلقة"[/COLOR][COLOR=Red])[/COLOR]
[COLOR=Blue]WEnd[/COLOR]
[COLOR=Navy][I]MsgBox[/I][/COLOR][COLOR=Red]([/COLOR][COLOR=Indigo]0[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]""[/COLOR][COLOR=Red],[/COLOR][COLOR=Silver]"تم"[/COLOR][COLOR=Red])[/COLOR]
حاول تفهم هذا المثال أعتقد سهل ..جداً

تلاحظون أن الامثلة ليست سكربتات جدية أي ليست ذو فائدة

الهدف هنا إنك تتعرف على طريقة عمل اللوب فقط

بعد الانتهاء من شرح مايخص بناء الحلقات

راح نتفرغ للدوال ألتي تحتاج في عملها لحلقه

وتقدر تقول90% من البرامج إذا مو أكثر لازم يكون فيها على الاقل حلقة واحده

:d:
 
توقيع : waget
الفهرس 2

icon4.gif
الفهرس :

_الدرس التاسع والثلاثين :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
_ الدرس الاربعين :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس الواحد والاربعين:
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس الثاني والاربعين : [3]الحلقات.. الكلمة ContinueLoop ::
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
-
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس الثالث والاربعين :[4]
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس الرابع والاربعين :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس الخامس والاربعين :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس السادس والاربعين :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


[#]سلسلة دروس التعامل مع النوافذ :

1) الجزء الاول : التعامل مع النافذة .

_الدرس الاول : مقدمة :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
|
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
.
_الدرس الثاني :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي
.
_الدرس الثالث :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس الرابع :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس الخامس :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس السادس :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

_الدرس السابع :
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


2) الجزء الثاني : التعامل مع الادوات بداخل النافذة .

61107d813a8565a1d8c59190641bc5e5.gif


 
توقيع : waget
تطبيقي
كود:
$Counter = 0
$msg = ""
While ($Counter <= 10)
 $msg = $msg &  $Counter & @CRLF
    MsgBox(0,"",$msg)
    $Counter =  $Counter  + 1
WEnd

:smile:
 
توقيع : LINEZERO
تطبيقي
كود:
$Counter = 0
$msg = ""
While ($Counter <= 10)
 $msg = $msg &  $Counter & @CRLF
    MsgBox(0,"",$msg)
    $Counter =  $Counter  + 1
WEnd
:smile:


هلا والله بندر :d:

تدري عاد ألي ينسخ الكود ومايطالع في الشرط يقول المسج وين يبي يوصل السقف ..مثلا:hh:

الله يقويك ...​
 
توقيع : waget
طيب يا الغالي ممكن نفس كود لشرط Select بتعي في نفس طريقة مع قيمة راجعه له

shellexecute وهذا تعديل على كود
PHP:
#requireadmin
$1 = msgbox(4,"","هل تريد تنصيب برنامج")
if $1 = 6 then
$2 = fileexists(@programfilesdir&"\ringz studio\storm codec\mplayerc.exe")
if $2 = 1 then
  msgbox(0,"","برنامج مثبت ")
Else
$3 = shellexecute(@DesktopDir&"\storm codec.exe","/S storm codec.exe")
if $3 = 1 then
 msgbox(0,""," dont")
else
 msgbox(16,""," error")
endif
endif
EndIf
 
توقيع : ramay
طيب يا الغالي ممكن نفس كود لشرط Select بتعي في نفس طريقة مع قيمة راجعه له

shellexecute وهذا تعديل على كود

كود:
#requireadmin
$1 = msgbox(4,"","هل تريد تنصيب برنامج")
    if $1 = 6 then
        $2 = fileexists(@programfilesdir&"\ringz studio\storm codec\mplayerc.exe")
        if $2 = 1 then
            msgbox(0,"","برنامج مثبت ")
            [COLOR=Red]EXIT[/COLOR]
        Else
            $3 = shellexecute(@DesktopDir&"\storm codec.exe","/s storm codec.exe")
            if $3 = 1 then
                msgbox(0,""," dont")
            else
                msgbox(16,""," error")
            endif
        endif
    EndIf

تمام عليك .. كان الخطأ في مكان exit المفروض إنك كتبتها بداخل عبارة الشرط أو الاستغناء عنها :d:

بالنسبة لطلبك بكتبها لك بالطريقتين ألي أعرفها وألي شرحتها سابقا :d:


الاولى التحقق من قيمة المتغير

كود:
$1 = FileExists(@DesktopDir&"\1.txt")
Select
    Case $1 =1
        $2 =  FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
        Select
            Case $2 = 1
                MsgBox(0,"","تم نسخ")
                $3 = FileDelete(@DesktopDir&"\ramay.bat")
                Select
                    Case $3 = 1
                        MsgBox(0,""," تم حذف")
                EndSelect
        EndSelect

Case Else
    MsgBox(0,""," ملف غير موجود")
EndSelect

التحقق هل الدالة أرجعت قيمة صحيحة أو خاطئة

كود:
Select
    Case FileExists(@DesktopDir&"\1.txt")
        Select
            Case FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
                MsgBox(0,"","تم نسخ")

                Select
                    Case FileDelete(@DesktopDir&"\ramay.bat")
                        MsgBox(0,""," تم حذف")
                EndSelect
        EndSelect

Case Else
    MsgBox(0,""," ملف غير موجود")
EndSelect


 
توقيع : waget
تمام عليك .. كان الخطأ في مكان exit المفروض إنك كتبتها بداخل عبارة الشرط أو الاستغناء عنها :d:​

بالنسبة لطلبك بكتبها لك بالطريقتين ألي أعرفها وألي شرحتها سابقا :d:​


الاولى التحقق من قيمة المتغير​

كود:
[CENTER]$1 = FileExists(@DesktopDir&"\1.txt")
Select
Case $1 =1
  $2 =  FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
  Select
      Case $2 = 1
          MsgBox(0,"","تم نسخ")
          $3 = FileDelete(@DesktopDir&"\ramay.bat")
          Select
              Case $3 = 1
                  MsgBox(0,""," تم حذف")
          EndSelect
  EndSelect[/CENTER]
 
[CENTER]Case Else
MsgBox(0,""," ملف غير موجود")
EndSelect[/CENTER]

التحقق هل الدالة أرجعت قيمة صحيحة أو خاطئة​

كود:
[CENTER]Select
Case FileExists(@DesktopDir&"\1.txt")
  Select
      Case FileCopy (@ProgramFilesDir&"\ramay.txt",@DesktopDir&"\ramay.bat")
          MsgBox(0,"","تم نسخ")[/CENTER]
 
[CENTER]          Select
              Case FileDelete(@DesktopDir&"\ramay.bat")
                  MsgBox(0,""," تم حذف")
          EndSelect
  EndSelect[/CENTER]
 
[CENTER]Case Else
MsgBox(0,""," ملف غير موجود")
EndSelect[/CENTER]
بارك الله فيك
شيئ أخر أريد تنبيه لا شيئ هو تم تعديل كود الأن (fileexists)
لأن كود قديم ما كان يعمل تنصيب صامت
وسبب كان في أن شويتش كان في الاحرف صغير ومفروض يكون الاحرف كبيره حتى يعمل صامت

هذا في الاحرف صغيره
كود:
/[COLOR=red]s [/COLOR]storm codec.exe

وهذا في الاحرف كبيره

كود:
/[COLOR=#ff0000]S[/COLOR] storm codec.exe
 
توقيع : ramay
هذا كودك يا الغالي أضافة اليه دالتين RegWrite طيب كود يعمل لكن لا يعمل تنصيب صامت مع أنه شويتش بتعه صح
وهو برنامج UltraISO

PHP:
#RequireAdmin
$setup_path = @ScriptDir & "\Ui.exe" ;مسارملف التنصيب
$switch = " /S "; سويتش التنصيب الصامت
$prog_path = @ProgramFilesDir & "\UltraISO\UltraISO.exe";مسار البرنامج في مجلد البرامج
$regkey = "HKEY_USERS\S-1-5-21-259654521-3341864835-4179435214-1000\Software\EasyBoot Systems\UltraISO\5.0\Registration";مفتاح ريجستري خاص بالبرنامج
$Exists = FileExists($prog_path);داله للتحقق من وجود البرنامج
$regread = regread($regkey,"PATH"); دالة لقرأه بيانات قيمة في الريجستري
;=========================================
if $Exists = 0 and $regread = "" Then
    $pid = Run($setup_path & $switch)
 
  RegWrite("HKEY_USERS\S-1-5-21-259654521-3341864835-4179435214-1000\Software\EasyBoot Systems\UltraISO\5.0","Registration","REG_SZ","22CF-7EF3-2F55-C312")
RegWrite("HKEY_USERS\S-1-5-21-259654521-3341864835-4179435214-1000\Software\EasyBoot Systems\UltraISO\5.0","UserName","REG_SZ","Netz.ru")
 
   if $pid <> 0  then
 
        ProcessWaitClose ($pid )
        if FileExists ($prog_path) Then
            MsgBox(0,"Success","تم التثبيت")
        Else
            MsgBox(16,"Error","خطأ في التثبيت")
        endif
    Else
        MsgBox(16,"Error","لايمكن تشغيل ملف التثييت")
    endif
Else
    MsgBox(0,"","البرنامج موجود لديك")
endif
 
توقيع : ramay
هذا كودك يا الغالي أضافة اليه دالتين RegWrite طيب كود يعمل لكن لا يعمل تنصيب صامت مع أنه شويتش بتعه صح
وهو برنامج UltraISO
رابط البرنامج :d:
 
توقيع : waget
الحالة
مغلق و غير مفتوح للمزيد من الردود.
عودة
أعلى