مشاهده نسخه کامل
: گرفتن خروجی از دستوراتی که با shell نوشته میشن.
من قبلا برای گرفتن خروجی به صورت متن از دستورات Dos که تو shell می نوشتم از فایل ها استفاده میکردم
مثلا
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد با دستور open فایلو می خوندم ولی این کار بعضی جاها کار نمی کنه :41:
می خاستم ببینم راهی هستش که این خروجی هارو مستقیم بگیرم؟
:8:
سلام
چه کاریه برادر!
اگر با نسخه VB7 به بالا کار میکنید تابع System.IO.Directory.GetFiles لیست کلیه فایلها در یک مسیر را برمیگرداند که میتوان یک الگویی مثل txt.* هم برایش معملوم کرد و نیز مشخص کرد که زیر پوشه ها را هم بیاورد یا نه.
تابع System.IO.Directory.GetDirectories هم مثل قبلی است ولی پوشه ها را لیست میکند.
هر دو دستور فوق با یک ForEach قابل چاپ هستند که میشود سه خط ناقابل!
در نسخه VB6 هم باید از تابع Dir استفاده کنید.
در بار اول آرگومانی که میدهید مثلا *.*\:C و در یک حلقه While مدام میخوانیدش (بدون آرگومان) تا زمانی که خروجی موجود باشد خورجی را چاپ میکنید و....
ممنون از جوابتون ولی انگار منظور منو متوجه نشدید!
من که نگفتم با فایل یا دایرکتوری کار دارم
منظورم بعضی از دستورات Dos که توی vb نیست و یا کلی API میخواد
مثلا دستور Tracert که در مورد شبکه اطلاعات میده و API یش هم باید کلی تابع بخواد (البته اگه باشه)
بازم ممنون
:8:
یعنی هیچ راهی نداره!!!
اگه تو Net. هم باشه مشکلی نداره
سلام
در مورد چیزی مشابه Tracert در دات نت، من چیزی نمیدانم.
شاید، احتمالاً اگر وقت کنم و جستجویی کنم چیزی پیدا کنم.
ولی امکان دارد بشود از همان Tracert در برنامه استفاده کرد!!!!!!
یعنی امکان دارد بشود انرا به صورت داخلی و مخفی در داخل برنامه اجرا کرد و خروجیش را هم بدست آورد!!!!!!
فرادا آنلاین نیستم، ولی سعی میکنم حداقل روی همین آخری تستی کنم.
من منظورم دستور خاصی نیست
در کل این شکل دستورارو میگم
:8:
majid_kntu
28-01-2008, 21:06
:9::24::22::blink::wac:داش ما يه سمپل ديده بوديم كه محيط متني داسو شبيه سازي ميكرد ولي خيلي كد داشت سرگيجه گرفتم تو وي بي 6 را نداره
__siavash__
29-01-2008, 00:27
من قبلا برای گرفتن خروجی به صورت متن از دستورات Dos که تو shell می نوشتم از فایل ها استفاده میکردم
مثلا
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد با دستور open فایلو می خوندم ولی این کار بعضی جاها کار نمی کنه :41:
می خاستم ببینم راهی هستش که این خروجی هارو مستقیم بگیرم؟
:8:
اون کدت رو به این شکل بنویس !!!
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته برنامه ای هست که دستورات CMD رو توی خود VB میگیره و نتیجه رو هم توی VB برمیگردونه !!! (یه جور شبیه سازی CMD )
یادمه قبلا آپلود کرده بودم ! اگه خواستی بگو تا بگردم پیداش کنم !
__siavash__
29-01-2008, 00:47
برنامه رو این جا گذاشتم !
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
شرمنده کاربر BabyBoy
تست کردم ولی یادم رفت جواب دهم!
با VB7-8-9 وبا کمترین کد نویسی و به راحتی میشود محیطی شبیه cmd ویندوز ساخت.
من تست کردم و توانستم کل خروجی متنی حاصل از اجرای یا برنامه مثل Tracert را در TextBox بیاورم.
امیدوارم به کارتان بیایید.
سمپل را اشتباهاً پاک کردم، سعی میکنم دوباره بنویسم و برایتان بگذارم.
ضمناً یاد آور میشوم که برنامه هایی مثل Tracert اصلاً ربطی به داس ندارند و کاملاً ویندوزی هستند و اصلاً تحت داس اجرا نمیشوند ولی ورودی و خروجی (رابط IO) شبیه داس خدا بیامورز دارند! اینها برنامه های کنسول ویندوزی هستند و حتی با VB.Net2008 هم قابل تولید هستند.
سلام
شرمنده کاربر BabyBoy
تست کردم ولی یادم رفت جواب دهم!
با VB7-8-9 وبا کمترین کد نویسی و به راحتی میشود محیطی شبیه cmd ویندوز ساخت.
من تست کردم و توانستم کل خروجی متنی حاصل از اجرای یا برنامه مثل Tracert را در TextBox بیاورم.
امیدوارم به کارتان بیایید.
سمپل را اشتباهاً پاک کردم، سعی میکنم دوباره بنویسم و برایتان بگذارم.
ضمناً یاد آور میشوم که برنامه هایی مثل Tracert اصلاً ربطی به داس ندارند و کاملاً ویندوزی هستند و اصلاً تحت داس اجرا نمیشوند ولی ورودی و خروجی (رابط IO) شبیه داس خدا بیامورز دارند! اینها برنامه های کنسول ویندوزی هستند و حتی با VB.Net2008 هم قابل تولید هستند.
ممنون عزیز منتظر برنامش هستم. :10:
سلام
بفرمایید، همین الآن کمی وقت خالی از زیر قندون پیدا کردم و سرهمش کردم!!!
میبخشید که دیر شد.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فایل exe نهایی فقط 16 کیلوبایت است، بازم این دشمنان دات نت برند شایعه کنند، فایلها حجیم میشه!
هنوز تستش نکردم ولی یه دنیا ممنون...
:10:
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.