Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Флудильня :) (не знаешь где спросить? спрашивай здесь!)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Флудильня :)
(не знаешь где спросить? спрашивай здесь!)

Флудильня-говорильня, Флеймоварня-отвечальня

 
Флейм, флуд, holy wars, а также о программировании вообще :)
Допускаются любые обсуждения и высказывания на тему программирования и около.
Просьба не переходить на личности и не обсуждать политику и тд...
 

Решаемые задачи:
. . . .
       
. . . .
 
 


 

первый пост топикстартера
...
во всех разделах форума есть, а чем мы хуже?
есть ведь откровенный флуд почти во всех топиках, так почему бы его не организовать...
сюда можно и holy wars перенести...
название темы естественно обсуждаемо, тут я ни на что не претендую...

в качестве затравки...
 
прочитал небольшую заметку о разработке советского/российского космического ПО...
и офигел...
 
оказывается почти всё ПО разработано и продолжает разрабатываться на
внимание!
на Модуле-2!
включая новую ГЛОНАСС...
о как!
 
--akaGM :)


Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 15:08 05-11-2008 | Исправлено: akaGM, 02:23 18-09-2023
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня window C++ 2010 Express
с родного сайта...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 19:27 05-03-2015
landy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Есть ли более современная среда, аналогичная Borland C++ Builder 6? Не требующая .NET.  

Вообще-то, C++ Builder вполне себе продолжает развиваться - выбирай любую редакцию. Если тебя устраивает 6 версия - её вполне можно использовать и под вин7.

Всего записей: 576 | Зарегистр. 17-01-2003 | Отправлено: 13:19 06-03-2015
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Есть ли более современная среда, аналогичная Borland C++ Builder 6? Не требующая .NET.  

А что понимается под более современной, точнее какие требования, что не устраивает в билдере?
Вариантов получить программу, не требующую дополнительных библиотек - куча. Но на другой чаше весов оказывается удобство и скорость разработки.
 
Про студию & Windows Forms вообще не понял. Если привязываться к .Net, то да - CLI. Но есть же ещё всякие MFC, Qt и другой натив. Но как с IDE с ней сложно спорить, на мой взгляд )

Всего записей: 418 | Зарегистр. 23-03-2010 | Отправлено: 00:08 10-03-2015 | Исправлено: NeoAnomaly, 00:10 10-03-2015
ziesto

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Есть ли более современная среда, аналогичная Borland C++ Builder 6? Не требующая .NET.  

А чем Embarcadero XE не подходят?

Всего записей: 77 | Зарегистр. 16-07-2011 | Отправлено: 13:02 12-03-2015
HNKTO



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кому интересно:
Я таки перевёл ту статью с flipcode по поводу наложения шкурок на окна и делания последних непрямоугольной формы. ИМХО написано понятней чем варианты отечественных авторов. Хотя примеры организации базовой структуры приложения (из примеров кода к статье) лучше не брать как основу для повторения.
А в комментариях к ней есть ещё по поводу полупрозрачности для систем Win2000+
качать: http://rghost.ru/8rDg5x9vB
Единственное, что там не рассмотрено - как менять гм. что-ли темы оформления окон.
(хотя сам сталкивался с таким всего раз на примере программы BSplayer, которая меняет стилистику включительно стандартных окон системы, если последние открыты через этот проигрыватель)

Всего записей: 2092 | Зарегистр. 30-01-2010 | Отправлено: 14:29 13-04-2015
ptr73

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexVS
Embarcadero XE и MS Visual Studio
а то, что у тебя программа на других компьютерах не запустилась, то это твоя ошибка, а не компилятора
ищи, какой библиотеки или настройки ей не хватило

Всего записей: 253 | Зарегистр. 03-07-2007 | Отправлено: 08:10 22-04-2015
protoror



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexVS
+1 за Embarcadero XE8, сам пишу каталоги, один exe и без всяких бубнов, все ресурсы в нем.

Всего записей: 494 | Зарегистр. 23-11-2009 | Отправлено: 22:54 22-04-2015
saidumar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexVS
Если комп не очень то ХЕ2, если совсем слабенький смотри в сторону Сибилдера, сам до сих пор для мелких задач использую delphi 7...

Всего записей: 92 | Зарегистр. 10-04-2011 | Отправлено: 10:04 23-04-2015
doxtur

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
раньше использовал виртуалки - когда писал консольно/с легкими IDE, а сейчас так не получается с Delphi XE8 и разработкой под Винды/iOS - слишком тяжело виртуалить MacOS, поэтому купил Macbook Air, но к сожалению с 4 гигами оперативы так что на нем особо не повиртуалишь ) в итоге пишу на десктопе, Air только для сборки и запуска на iOS

Всего записей: 88 | Зарегистр. 21-12-2005 | Отправлено: 01:13 16-05-2015
xpin2013



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
тут недавно читаю следующий бред наших, так сказать официальных представителей в разделе веб программирование. (удивляюсь чему их учат).
 
"так как фирма Семантекс имеет некоторое отношение к Ораклу и Джаве, то в тылы PL следует отдать какого нибудь макрософщика, дабы укрепиться с Ораклами в дружбаны".  
 
и ведь такое серьёзные люди пишут. а потом не менее, а скорее более менее серьёзные люди читают.
 
Добавлено:
забыл добавить,
конечно может оно в угоду кризису, но последнее время слово инфраструктура на языке уже мозоль протирает. чуть что, на неё (на инфраструктуру) ...

Всего записей: 291 | Зарегистр. 16-01-2014 | Отправлено: 06:01 14-07-2015
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, где можно задать небольшойтвопрос по Lazarus?
Если прямо здесь можно:

Всего записей: 6473 | Зарегистр. 28-01-2008 | Отправлено: 03:07 29-08-2015
SuPriTo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
Какое приложение запускаешь?
Можно например воспользоваться event, если приложение, которое запускаешь сам пишешь.

Всего записей: 1475 | Зарегистр. 24-03-2009 | Отправлено: 10:23 29-08-2015
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SuPriTo
Плагин AmpView запускает свой плеер AmpView.exe, задержка раздражает, а когда у автора будет время - пока не известно.
Строки 83-90 в исходниках.
Немного пишу на AutoIt, сделал бы аналогично while...do, но не знаю, допустимо ли.

Всего записей: 6473 | Зарегистр. 28-01-2008 | Отправлено: 11:30 29-08-2015
SuPriTo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
Почитай тут _http://articles.org.ru/cn/showdetail.php?cid=8673
В общем можно попробовать CreateProcess и WaitForInputIdle

Цитата:
Немного пишу на AutoIt, сделал бы аналогично while...do, но не знаю, допустимо ли.

Можно сделать через while, но если что-то пойдет не так, то приложение зависнет.
Надо дополнительные условия вставлять, например цикл выполнять не более 2 сек.

Всего записей: 1475 | Зарегистр. 24-03-2009 | Отправлено: 12:49 29-08-2015 | Исправлено: SuPriTo, 12:55 29-08-2015
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SuPriTo

Цитата:
В общем можно попробовать CreateProcess и WaitForInputIdle

Тогда запуск и скрытие окна должно быть сделано как-то так?

Код:
var Rlst: LongBool;
Rlst := CreateProcess(PlayerExe, FileToLoad, nil, nil, 0, nil, nil, StartUpInfo, ProcessInfo);
if Rlst then
  with ProcessInfo do begin
    WaitForInputIdle(hProcess, INFINITE);
    CloseHandle(hThread);
    CloseHandle(hProcess);
  end
end;
SetWindowPos(ParentWin, 0, -100, -100, 0, 0, SWP_HIDEWINDOW);

Только не понял, какие флаги автор использовал в ShellExecute(): SW_SHOWNOACTIVATE + SW_SHOWNORMAL (4 + 1) или SW_SHOW (5)? Есть ещё SW_HIDE (0). И как их добавить?
Rlst нужно объявить вместе с остальными переменными в начале функции?

Цитата:
Надо дополнительные условия вставлять, например цикл выполнять не более 2 сек.

Таймер не осилю и, наверное, это будет дольше.

Всего записей: 6473 | Зарегистр. 28-01-2008 | Отправлено: 13:47 29-08-2015
SuPriTo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
Про CreatePRocess читай тут _https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx
_http://www.gunsmoker.ru/2009/07/createprocess.html

Цитата:
Только не понял, какие флаги автор использовал в ShellExecute(): SW_SHOWNOACTIVATE + SW_SHOWNORMAL (4 + 1) или SW_SHOW (5)? Есть ещё SW_HIDE (0). И как их добавить?  

StartupInfo.wShowWindow - возможно это.

Цитата:
Rlst нужно объявить вместе с остальными переменными в начале функции?
 

Да надо

Цитата:
  WaitForInputIdle(hProcess, INFINITE);  

Вместо INFINITE возможно стоит попробовать 2000 (2 сек). Если вышло с Timeout - то выходить с ошибкой

Цитата:
Таймер не осилю и, наверное, это будет дольше.

Он проще чем кажется

Всего записей: 1475 | Зарегистр. 24-03-2009 | Отправлено: 19:22 29-08-2015
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SuPriTo

Цитата:
Он проще чем кажется

Прогнал, подумал - подобно AutoIt

Код:
$timer = TimerInit()
...
$time = TimerDiff($timer)

 
Сделал так:

Код:
var
  ...
  Rlst: LongBool;
  StartUpInfo: TStartUpInfo;
  ProcessInfo: TProcessInformation;
 ...
 1: begin
     begin
       FillChar(StartUpInfo, SizeOf(TStartUpInfo), 0);
       with StartUpInfo do
       begin
         wShowWindow:=SW_SHOW;
       end;
       Rlst:=CreateProcess(PChar(PlayerExe), PChar('\n "'+FileToLoad+'"'), nil, nil, true, NORMAL_PRIORITY_CLASS, nil, nil, StartUpInfo, ProcessInfo);
       if Rlst then
       with ProcessInfo do begin
         WaitForInputIdle(hProcess, INFINITE);
         CloseHandle(hThread);
         CloseHandle(hProcess);
       end
     end;
     SetWindowPos(ParentWin, 0, -100, -100, 0, 0, SWP_HIDEWINDOW);
     Result := CallKiller(ParentWin);
     if Result = 0 then Exit;
 
    end;

bInheritHandles пробовал и true, и false, по идее - true.
В логе:

Код:
AmpView.lpr(91,28) Hint: Local variable "StartUpInfo" does not seem to be initialized
AmpView.lpr(96,150) Hint: Local variable "ProcessInfo" does not seem to be initialized
AmpView.lpr(49,57) Hint: Parameter "ShowFlags" not used
AmpView.lpr(23,3) Note: Local variable "Lister" is assigned but never used
AmpView.lpr(25,3) Note: Local variable "CmdLine" not used
AmpView.lpr(28,11) Hint: Local proc "DebugMessage" is not used
Проект "AmpView" успешно собран

Запускается без задержек, круто, но есть проблема: при вызове функции если PlayerExe уже запущен, файл должен добавиться в плейлист, окно плеера должно активироваться и он должен начать его воспроизводить, а этого не происходит. В чём может быть проблема?

Всего записей: 6473 | Зарегистр. 28-01-2008 | Отправлено: 22:12 29-08-2015 | Исправлено: Skif_off, 22:54 29-08-2015
SuPriTo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В чём может быть проблема?


Цитата:
 Rlst:=CreateProcess(PChar(PlayerExe), PChar('\n "'+FileToLoad+'"'), nil, nil, true, NORMAL_PRIORITY_CLASS, nil, nil, StartUpInfo, ProcessInfo);  


Цитата:
PChar('\n "'+FileToLoad+'"')

Во втором параметре функции CreateProcess. Я давал ссылки на особенности использования CreateProcess почитай.
PlayerExe := PlugDir+'\AmpView.exe';
Params      := '\n "'+FileToLoad+'"';
CmdLine     := Format('"%s" %s', [PlayerExe, Params]);
CreateProcess(PChar(PlayerExe), PChar(CmdLine), ...);
Видимо как-то так.
Да и функция запускает новый процесс каждый раз.
Можно воспользоваться функцией ShellExecuteEx. Так вообще проще.
В SellExec.Mask := SEE_MASK_NOASYNC - функция будет ждать пока не запустится приложение и поэтому функция sleep не понадобиться.
Тут хорошо все написано _http://www.gunsmoker.ru/2015/01/never-use-ShellExecute.html

Всего записей: 1475 | Зарегистр. 24-03-2009 | Отправлено: 13:09 30-08-2015 | Исправлено: SuPriTo, 13:19 30-08-2015
Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SuPriTo
Спасибо за помощь, получилось, но всё-таки решил вернуть ShellExecute и добавить while...do, т.к. параметры CreateProcess (кроме lpApplicationName и lpCommandLine) для меня не так очевидны, не хочу напортачить и вообще - чем проще, тем лучше Получилось так:

Код:
var
...
  st: integer;
...
 1: begin
     ShellExecute(0, nil, PChar(PlayerExe), PChar('\n "'+FileToLoad+'"'), nil, 5);// <> 0 then
     //sleep(2000); // ждём, пока AmpView откроет файл
     st:=GetTickCount();
     while (GetTickCount() - st < 2000) and (FindWindow('TAmpViewMainForm', nil) = 0) do
      Sleep(10);
     SetWindowPos(ParentWin, 0, -100, -100, 0, 0, SWP_HIDEWINDOW);
     Result := CallKiller(ParentWin);
     if Result = 0 then Exit;
 
    end;

Всего записей: 6473 | Зарегистр. 28-01-2008 | Отправлено: 14:00 30-08-2015
Forumman



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, нужна ваша помощь. Кто хорошо разбирается в коде, нужно чтоб посмотрели функции и операторы, не допущено ли здесь ошибок. Это язык прокраммирования MQL4. Используется в торговом терминале MetaTrader (4) MetaQuotes Software Corp. Слыхал, что этот язык очень схож с С++ и ему подобными. В файле который хочу чтоб вы помогли "прогнать" на ошибки в коде, реализована нестандартная возможность конвертации временных периодов, а именно - конвертация таймфрейма (временного периода) MN (месяц) в период кратный 2, 3, 4, 6, 12 месяцев. При этом, автономно (открыть автономно) нужно открывать минутные графики с указанным периодом, это из-за особенностей самой программы (MetaTrader (4) - а может, можно сделать в коде так, чтоб можно было открывать не М6 чтоб увидеть график соотв. MN6, а чтоб сразу можно было автономно открывать MN6?)), потому что в этой программе, вроде бы, не реализована конвертация стандартными методами месячных графиков, в графики больше 1 месяца. Может, умельцы могут доработать и убрать ошибки (если таковые имеются здесь в коде)? Потому что скрипт работает, но ощущается что есть "сырость" в коде, расстановка символов, много "воды" (или это мне так кажется?). Помогите, пожалуйста, разобрать этот код и упростить/исправить, где это возможно. Вот код файла:
Посмотрите где есть блоки и функции которые можно упростить/заменить на более верное решение. Можно проверить в MetaEditor'е - это программа которая поставляется в комплекте с торговым терминалом MetaTrader. Скачивается на сайте MetaQuotes Software. Не я один буду рад, если поможете улучшить/исправить этот программный код. Очень полезная "примочка" для программы, которая поможет анализировать японские свечи выше 1 месяца на графиках в торговой программе MetaTrader 4. Спасибо за возможную помощь! Удачи и успеха!

Всего записей: 285 | Зарегистр. 24-09-2008 | Отправлено: 18:23 03-09-2015 | Исправлено: Forumman, 18:50 03-09-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Флудильня :) (не знаешь где спросить? спрашивай здесь!)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru