|
Консольное приложение на VB6
|
|||
---|---|---|---|
#18+
Ну т.е. 1. При запуске без параметров должно выводиться описание оных в консоль 2. Ну если какого параметра не хватает, м.б. подсказка 3. Промежуточные результаты чего делает. Можно конечно использовать MsgBox, это еще худо-бедно годится если без параметров, но ни в какие ворота не лезет, если информация чего делает или скажем сообщение об ошибке, msgbox стопорнет программу. Ну, и самое главное: 4. При последовательном запуске этого tool из bat-файла, все должно работать в едином потоке (одной консоли из кот. bat был запущен), т.е. следующая строчка bat-файла не должна запускаться до окончания работы проги, вызванной предыдущей строчкой. Худо бедно это реализуется через Код: vbnet 1.
но именно из-за большого к-ва [options], среди которых могут быть в частности 1) длинный путь к proga.exe, кот. например указан полностью 2) длинные пути в самих [options], если option=путь к файлу с путем использование start /w экстра-усложняет необходимые махинации со всякими кавычками и т.п. да и кстати непонятно чего там будет со start на Висте/win7 (+/- x64) (просто не пробовал) Приложение с main() без Form по умолчанию таковым не является. Собственно утилиту саму я уже написал, но столкнулся с вышеуказанными проблемками при ее использовании отсюда вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 21:49 |
|
Консольное приложение на VB6
|
|||
---|---|---|---|
#18+
Ну допустим, нарыл код, ниже. Но в этом случае создается новая консоль. А если я запускаю из FAR или из cmd, то я хочу чтоб использовалась тек. консоль, иначе изврат и у меня п.4 не выполнится. Чего делать надо? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 22:13 |
|
Консольное приложение на VB6
|
|||
---|---|---|---|
#18+
White Owl, И-и-и, а куда именно там смотреть. Изъян всех этих примеров в том что If you run the application from the command prompt it will create a new console window но гордость хлещет, типа это ж консоль but it is truly a console window . AllocConsole создает НОВУЮ консоль, а мне надо УНАСЛЕДОВАТЬ консоль, из которой запускали, иначе грош цена такому "консольному приложению". Разницу чувствуете? По идее нужно AttachConsole но пример который например здесь http://www.vbforums.com/showthread.php?t=586293 не обязательно оприходует именно тот PID из которого запускали, если например несколько far-ов запущено. Думаю вы меня поняли. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2011, 23:08 |
|
Консольное приложение на VB6
|
|||
---|---|---|---|
#18+
Вспомнил. я находил где-то работающий код, италиец выложил исходник (не помню где). Помню что я искал такие ключевые слова в гугл "исходник rybka uci" сначало искал "rybka протокол". Шахматный движок работает через консоль, а морду, дополнительную логику и управления можно лепить на любом языке. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 00:09 |
|
Консольное приложение на VB6
|
|||
---|---|---|---|
#18+
Дмитрий77White Owl, И-и-и, а куда именно там смотреть.Именно туда, куда я показал. Дмитрий77Изъян всех этих примеров в том что If you run the application from the command prompt it will create a new console windowНе правда. Читай внимательнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 00:22 |
|
Консольное приложение на VB6
|
|||
---|---|---|---|
#18+
White OwlИменно туда, куда я показал. Ик, дык показывать надо было сюда Oh... The "Secret" One really important detail nobody talks about much is that for a compiled VB program to run as a console program, it has to be linked for the Console subsystem in Windows. Otherwise none of this will work at all. The VB IDE doesn't support this - so the easiest option is to relink the EXE after compiling it: LINK /EDIT /SUBSYSTEM:CONSOLE {your exe's filename} LINK.EXE comes with VB6, probably VB5 as well. To make this easier I keep this short script around: Код: vbnet 1. 2.
А я то сижу-читаю про какую-то галиматью, ActiveX-exe какой-то, Scripting.ГлюкоFileSystemObject... Ну, тогда у меня сверху полностью рабочий (как я хочу) код, после линковки консоль НАСЛЕДУЕТСЯ. Т.е. СПАСИБО ОГРОМНОЕ Маленький вопрос к знатокам: Как заменить Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
на Код: vbnet 1.
(чтоб реально так и было) дабы уж совсем по стандарту ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 03:34 |
|
Консольное приложение на VB6
|
|||
---|---|---|---|
#18+
Дмитрий77на Код: vbnet 1.
(чтоб реально так и было) дабы уж совсем по стандарту Ну, я извратился (код ниже). Но что-то тут не так: 1) Моя Press any key to continue . . . не реагирует напр. на F3, F5 итп. 2) Моя Press any key to continue . . . не стирается после собственно continue 3) Родная Press any key to continue . . . выводится именно тогда когда видимая часть консоли полностью заполнена. Т.е. Press any key to continue . . какая-то стадартная фича, а у меня (код ниже) изврат-подделка Как сделать нормально? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2011, 05:14 |
|
|
start [/forum/topic.php?fid=60&fpage=88&tid=2158183]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 146ms |
0 / 0 |