Loading...
ibukorov avatar ibukorov 0 Точки

Как да не се затваря конзолата, когато стартирам .exe файл, който съм ''build""-нал

Здравейте. Като цяло тепърва започвам да се запознавам с програмирането като цяло и почти нищо не ми е ясно. През седмицата след като изгледах първата лекция от курса към Софтуни, който съм записал "Основи на програмирането" реших да се пробвам да "напиша" нещо. Идеята е на изкарам простичък текст от типа "здрасти" използвайки Writelineл Всичко ми се получава в работната среда на Visual Studio и решавам да си направя .exe файл на "проекта". Когато обаче стартирам самия exe файл, прозореца се отваря и мигновенно затваря (т.е. все едно съм в работната среда на Visual Studio и съм натиснал F5), а ми се иска този прозорец да не се затваря и все пак да видя каквото съм написал (все едно съм натиснал ctrl+F5). Не съм сигурен дали трябва да уточня, че става въпроз за C#

Тагове:
1
Общи приказки 20/06/2015 23:14:12
RoYaL avatar RoYaL Trainer 6849 Точки
Best Answer

Здравей,

Това е съвсем нормалното поведение на една програма. Тя се затваря когато изпълнението й приключи. Ако си задаваш въпроса защо тогава Notepad.exe, Firefox.exe, PowerPoiint.exe, etc... не се затварят когато ги отвориш - то аналогично - изпълнението им не е приключило. Те са на блокираща/изчакваща операция - потребителят да въведе вход. Това действе се повтаря докато потребителят не въведе вход, който казва на програмата да прекрати изпълнението и тя, респективно, се затваря.

Решението на твоят проблем е същото и като при останалите програми. Да чакаш за потребителски вход. Това в конзолните програми най-лесно става с Console.ReadLine(); В момента, в който потребителят въведе вход, програмата ще се затвори.

Ако искаш да не се затваря и след въвеждането на вход, ще трябва да накараш потребителя да бъде каран да въвежда безкрайно много пъти вход - така наречения безкраен цикъл - while(true). Познат още като event loop (на подобен принцип работят всички програми).

Вариант е също така да отвориш терминала (cmd.exe) да навигираш до папката с exe-то и да го стартираш под терминала. Тогава програмата може и да прекрати изпълнението си, но няма как да затвори cmd.exe, така че ще видиш изхода от твоята програма.

5
20/06/2015 23:27:30
petrovaliev95 avatar petrovaliev95 358 Точки

Спомням си, че имаше вариант да кажеш на конзолата да не се затваря освен ако не и кажеш. Мисля, че Наков го е правил в някоя от лекциите.

0
AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

ctrl + f5 и конзолата изчаква потребителска намеса преди самозатваряне.

0
RoYaL avatar RoYaL Trainer 6849 Точки

Става въпрос за компилирано .exe, което го отваряш през файловата система.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.