آژانس هواپیماییexchanging

مشکل در مورد اجرای یک فایل و استفاده از آن

شروع موضوع توسط Nemidonam_1989 ‏31 آگوست 2007 در انجمن Visual Basic 6

  1. Nemidonam_1989

    Nemidonam_1989 Registered User

    تاریخ عضویت:
    ‏31 آگوست 2007
    نوشته ها:
    33
    تشکر شده:
    0
    سلام
    (یک برنامه دارم مینویسم که کاربر با یک پنجره ی فرعی یک فایل رو انتخا و با یک پنجره ی فرعی دیگه مسر ذخیره رو مشخص کنه و بعد با زدن یک دکمه در فرم فایل مورد نظر فشرده بشه.)
    توضیحاتی در مورد فایل :
    یک فایل مثلا feshorde.exe وجود داره که کارش تبدیل کردن و فشرده سازی هستش مثلا فرمت wma رو به mp3 تبدیل میکنه . این فایل با دبل کلیک کردن اجرا نمیشه و باید توسط پنجره ی command فایل را باز کنیم . بعد از باز کردن فایل باید محل فایل ورودی رو توش بنویسیم و بعد محل خروجی فایل و بعد دکمه ی اینتر رو بزنیم تا برنامه شروع به کار کنه . مثلا : (بعد از شروع برنامه توسط command)
    --> 9 c:\test.mp3 to d:\test.wma (enter)
    (Enter یعنی دکمه ی اینتر رو بزنیم
    قرمز = بعد از شروع برنامه میتونیم شروع به نوشتن کنیم (یعنی برنامه رو اجرا کردیم = c:\feshorde(
    ابی = محلی که فایل اصلی و جود داره - و - محلی که میخوایم فایلمون در اونجا ذخیره بشه رو باید بنویسیم
    سبز = مثلا میزان فشرده سازی هستش که از عدد 1 تا 9 هستش هرچی بیشتر باشه فایل بیشتر فشرده میشه که باید یک عدد رو بنویسیم
    (برای جدا سازی هم از فاصله استفاده باید کنیم)
    بعد از نوشتن و زدن اینتر برنامه شروع به کار میکنه و فایل test.wma رو میسازه و بعد از کار باید پنجره ی مربوط به command رو ببندیم .
    حالا مشکل من :
    من یک برنامه برای اینکا دارم مینویسم, که از این فایل مثلا feshorde.exe می خوام استفاده کنم . مشکل من اینجاست که چه جوری فایل رو اجرا کنم . نمی دونم باید چی کار کنم !؟
    از دستور open برای باز کردنش استفاده میکنم . مثلا
    open "C:/feshorde.exe" for append as neveshte ولی توش میتونم فقط عدد بنویسم و نمی تونم از حروف استفاده کنم (در یک فایل متنی امتحان کردم)براینوشتن هم از دستور print استفاده میکنم . بازم اگر بتونم توش حروف هم بنویسم مشکلم حل نمیشه چون من باید فایل رو اجرا کنم نه باز ! چون با اینکارم خود فایل رو دست کاری میکنم من فقط میخوام از فایل استفاده کنم و اون رو اجرا کنم و توش بنویسم و نه اینکه به فایل صدمه بزنم. بعد از اینکار نمیدونم چه جوری باید در اخر از اینتر برای انجام اینکار استفاده کنم. ممنون میشم راهنماییم کنید
    ببخشید اگه بد توضیح دادم اگه متوجه نشدید بگید واضح تر بگم
    لطفا کمکم کنید .
     
  2. pirmard

    pirmard Registered User

    تاریخ عضویت:
    ‏21 آگوست 2007
    نوشته ها:
    837
    تشکر شده:
    3
    "with "shell
     
  3. ba_maram_shiraz

    ba_maram_shiraz کاربر تازه وارد

    تاریخ عضویت:
    ‏27 آگوست 2007
    نوشته ها:
    1
    تشکر شده:
    0
    درود

    سلام علیکم.

    منظورتون رو من متوجه نشدم یعنی شما میخوای فایل رو از درون VB اجراش کنی؟
    یعنی مثل اینکه روش دبل کلیک کرده باشی؟

    اگه منظورت اینه باید از Shell استفاده کنی.
     
  4. Nemidonam_1989

    Nemidonam_1989 Registered User

    تاریخ عضویت:
    ‏31 آگوست 2007
    نوشته ها:
    33
    تشکر شده:
    0
    سلام , ممنون که جواب دادید . ببینید یک فایل وجود داره مثلا (test.exe)که این فایل رو باید از طرق پنجره ی command اجرا کنیم
    star/run/command
    بعد از اجرای این برنامه , کاربر باید به برنامه میسر فایل ورودی و خروجی رو با نوشتن مشخص کنه و بعد دکمه ی اینتر رو بزنه.
    حالا من میخوام یک برنامه بنویسم که کاربر با زدن یک کلید فایل مورد نظرش فشرده بشه و دیگه نخواد ادرس فایل ورودی و خروجی رو مشخص کنه (در برنامه ای که قراره بسازم کاربر فایل ورودیش رو با پنجره ی فرعی open مشخص میکنه که خاصیت اون رو به textBox منتقل میکنم, برای فایل خروجی هم از پنجره ی فرعی save استفاده میکنم)
    مثلا من با دستور
    dim Start
    Star=shell ("c:\test.exe")
    حالا مشکل من اینه که وقتی این فایل رو با یک دکمه اجرا کردم چه جوری دوباره ادامش من توی فایل بنویسم (یا خاصیت textBox رو به این برنامه ی اجرا شده بدم)و به برنامه دستور شروع کار رو بدم (نمیخوام با یک دکمه برنامه شروع به کار کنه و با یک دکمه ی دیگه توش بنویسم)​
    یعنی از دستور next استفاده کنم یا else ویا کلا نباید از این دستورات استفاده کنم ؟
    مثلا :

    Private Sub cmdStart_Click()

    Dim Start
    If Start = Shell("C:\txt.exe", vbMinimizedNoFocus) Then
    ?
    AppActivate Start
    SendKeys "a", True
    End Sub​
    نمیدونم متوجه شدید یا نه