Например TDA7294

Форум РадиоКот • Просмотр темы - управление программой с помощью кнопки
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс мар 08, 2026 10:48:02

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 80 ]    , , , 4
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 05, 2009 23:00:13 
Встал на лапы

Зарегистрирован: Ср авг 26, 2009 15:59:39
Сообщений: 87
Рейтинг сообщения: 0
Пухич писал(а):
Можно даже без потока.

Зачем усложнять задачу? К тому же функция GetMessage блокируется до получения сообщения, но можно будет юзать PeekMessage
Пухич писал(а):
Цитата:
P.S. для создания потока можно юзать функцию _beginthread


А не проще CreateThread? Я ее обычно вызывал.

по сути _beginthread это обертка для CreateThread и принимает меньше параметров.


Последний раз редактировалось izmmisha Пн окт 05, 2009 23:08:02, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 05, 2009 23:07:46 
Модератор
Аватар пользователя

Карма: 16
Рейтинг сообщений: 14
Зарегистрирован: Вс июн 01, 2008 00:17:35
Сообщений: 4673
Откуда: Я всего лишь плод вашего воображения...
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
izmmisha писал(а):
по сути _beginthread это обертка для CreateThread и принимает меньше параметров.


Ага. Впрочем ненамного меньше. Зато старый добрый CreateThread привычнее. :wink:

Кстати, раз уж мне в руки попался программист, то я вот еще что у Вас спрошу - нет ли в винде аналога линуксового fork()?

_________________
Знание - сила!


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 05, 2009 23:13:35 
Встал на лапы

Зарегистрирован: Ср авг 26, 2009 15:59:39
Сообщений: 87
Рейтинг сообщения: 0
Пухич писал(а):
Кстати, раз уж мне в руки попался программист, то я вот еще что у Вас спрошу - нет ли в винде аналога линуксового fork()?


Такого блага в виндавсе нет (нативными способами) :))), возможно какие нибудь библиотеки существуют для этого.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 05, 2009 23:51:30 
Модератор
Аватар пользователя

Карма: 16
Рейтинг сообщений: 14
Зарегистрирован: Вс июн 01, 2008 00:17:35
Сообщений: 4673
Откуда: Я всего лишь плод вашего воображения...
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
izmmisha писал(а):
Такого блага в виндавсе нет (нативными способами) :))), возможно какие нибудь библиотеки существуют для этого.


А жаль.... :(

_________________
Знание - сила!


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 06, 2009 17:47:07 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Не надо изобретать велосипед, я такое уже делал: http://forum.vingrad.ru/index.php?showtopic=263547&view=findpost&p=1900105

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 06, 2009 21:46:29 
Опытный кот
Аватар пользователя

Зарегистрирован: Ср апр 25, 2007 09:50:43
Сообщений: 800
Откуда: Киев
Рейтинг сообщения: 0
mr_smit писал(а):
Не надо изобретать велосипед, я такое уже делал: http://forum.vingrad.ru/index.php?showtopic=263547&view=findpost&p=1900105


линк уже был на эту разработку в этой теме :

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

_________________
Скелет колобка состоит из черепа.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 06, 2009 22:20:05 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Никак. Это тебе не LPT и не Com

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт окт 06, 2009 23:53:17 
Модератор
Аватар пользователя

Карма: 16
Рейтинг сообщений: 14
Зарегистрирован: Вс июн 01, 2008 00:17:35
Сообщений: 4673
Откуда: Я всего лишь плод вашего воображения...
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
mr_smit писал(а):
Никак. Это тебе не LPT и не Com


Да нет, Аксель хорошую идейку подкинул. Только пока мыслей нет.

_________________
Знание - сила!


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 07, 2009 06:55:17 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 430
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Юр, я в курсе, почему это происходит. В линуксе аналогично - сначала все процессы получают SIGTERM (пытаясь при этом завершиться корректно), а затем, если продолжают висеть (например нет обработчика данного сигнала), то их выносит рассылка SIGKILL. Не вполне ясно, почему в винде делается запрос на завершение, ну пусть будет так.
Это хорошо, что в курсе :) Вот как это в линуксе устроено - я не знал.

Цитата:
Тут вот что важно - прога по сути ГУИшная, а не консольная, т.к. есть форма, есть для нее модуль, но она не создается (нет вызова метода CreateForm), более того, я даже метод Application->Run() не вызывал. Форму я не создаю, чтобы не появлялось окно формы (отсутствие окна формы создает иллюзию того, что это служба ). Было бы хорошо, если бы ты вкратце описал, как эта петля делается. Она случаем не в стандартном try-catch спрятана? Как регистрировать прогу, как службу, я тоже не в курсе.
Значит всё правильно. Я исходников не смотрел пока, да и тему толком не читал, трудные времена у меня настали - на работе работать заставляют.... Попробую сегодня глянуть :)
Я бы посоветовал форму то создать, но сделать её невидимой, послав сообщение хендлу формы SW_HIDE, и такое же хендлу приложения (Application.Handle), чтоб кнопка на панели задач не маячила.

Цитата:
Юр, ты тему читал?
начало и конец :oops: Чукча, как говорится, не читатель... вот и я до клавы дорвался :)
Цитата:
вследствие непонятного мне косяка у меня при отладке не срабатывают метод Form->Hide() и свойство Form->Visible. Т.е. я пытаюсь форму скрыть, а она не скрывается. Т.е. опять же окно будет торчать, це не гуд.
Кажется, вызов данных методов для главной формы приложения не работает, только для дочерних. Но не уверен, забыл уж всё... Посылка сообщений точно работает.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 07, 2009 09:09:25 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 430
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Я бы посоветовал форму то создать, но сделать её невидимой, послав сообщение хендлу формы SW_HIDE
Прошу прощения, это не сообщение, а параметр АПИ-шной функции ShowWindow.

Вот, для примера, набросал за минуту... В методе формы Timer1Timer можно делать опрос порта. Окно скрывается при запуске.


Вложения:
test.rar [5.39 KiB]
Скачиваний: 218
Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 07, 2009 17:37:03 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Вообще надо так:
Код:
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE);


Такого рода программы при запуске (автозапуске) сразу сворачиваются в трей (это рядом с часами) и тихо, молча ожидают "сигнала с кнопки", а затем выполняют нужные действия. Копирование на Делфи это элементарно. Можно даже прогресс бар поставить на копирование. А по завершении проиграть звук или зажечь светодиод. Камеры будут писать в какую нибудь папку, потом просто эта папка будет заливаться на флешку.
Можно даже ввести проверку свободного места на флешке перед заливкой.
Я уже привел готовое решение. Подключил - так сразу видишь что устройство... кнопка... всё нормально. Оборудование установлено и готово к использованию. Всё по взрослому.
Цена вопроса 120 руб. Аналогичные решения стоят 1500 руб (ссылка)

P.S. А вообще кнопка в Вашем случае неуместна вовсе!!!!!!!! (я просто тему изначально полностью не прочел). Всё делается программно!!!
В машине... тесно... пока флешку воткнешь.... ещё и кнопку нажимать... :shock: да нафиг надо такое счастье.
Программа "мониторит" диски. Как только появился съёмные диск - копируем на него. (Для любителей экзотики можно файл какой нибудь на флешку запихнуть и его читать, типа что точно нужная флешка, а не на все подряд писать, либо читать серийник устройства).

И не парьтесь вы ни с какой кнопкой!!! Всё.

Если интересно, вот пример с треем. Правая кнопка на значке вызывает меню.


Вложения:
System_Tray.rar [171.62 KiB]
Скачиваний: 231

_________________
Нельзя всё знать, достаточно понимать.
Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 07, 2009 18:25:08 
Встал на лапы

Зарегистрирован: Ср авг 26, 2009 15:59:39
Сообщений: 87
Рейтинг сообщения: 0
mr_smit писал(а):
Цена вопроса 120 руб. Аналогичные решения стоят 1500 руб (ссылка)

Многоуважаемый, прочитайте тему с начала до конца и идите на рынок продавать своё добро.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 07, 2009 20:38:30 
Вымогатель припоя
Аватар пользователя

Карма: 4
Рейтинг сообщений: 16
Зарегистрирован: Пн мар 23, 2009 09:25:58
Сообщений: 651
Откуда: Самара
Рейтинг сообщения: 0
Это вы сейчас к чему???

Я просто высказал своё мнение.
То что человек уже решил проблему это хорошо.

_________________
Нельзя всё знать, достаточно понимать.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 08, 2009 00:08:13 
Модератор
Аватар пользователя

Карма: 16
Рейтинг сообщений: 14
Зарегистрирован: Вс июн 01, 2008 00:17:35
Сообщений: 4673
Откуда: Я всего лишь плод вашего воображения...
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ploop писал(а):
Кажется, вызов данных методов для главной формы приложения не работает, только для дочерних. Но не уверен, забыл уж всё... Посылка сообщений точно работает.


В том-то и суть, что всегда РАБОТАЛО. У меня с пяток приложений наберется за годы программирования, где я так делал. Причем последний раз - с полгода назад (делал тормозушку запуска HASP-сервера 1С). А тут как отрезало! :o

Цитата:
Я бы посоветовал форму то создать, но сделать её невидимой, послав сообщение хендлу формы SW_HIDE, и такое же хендлу приложения (Application.Handle), чтоб кнопка на панели задач не маячила.


Вот это уже интереснее, это опять ново для меня. Т.е. кое-что я об этом слышал, но мои детские познания в программировании не включают полноценное знание этих вещей, дабы их применять. Буду копать, как время будет. Видимо в выходные. larik, вас там еще не задолбало это окно? :)

Цитата:
Прошу прощения, это не сообщение, а параметр АПИ-шной функции ShowWindow.


Ну это мы поняли. Впрочем его вполне можно назвать именно "сообщением". Строго говоря, например, SIGKILL тоже лишь мнемоника значения параметра для функции, а не сигнал, но кагбэ подразумевается сигнал. :)

mr_smit писал(а):
Копирование на Делфи это элементарно.


Ну это я не умею. Если только речь не о копировании содержимого файлов (и то кумекать надо, если имена неизвестны). И потом - вариант с запуском батника универсальнее.

Цитата:
Программа "мониторит" диски. Как только появился съёмные диск - копируем на него. (Для любителей экзотики можно файл какой нибудь на флешку запихнуть и его читать, типа что точно нужная флешка, а не на все подряд писать, либо читать серийник устройства).


Якорный бабай, прочтите же тему! Об этом УЖЕ ГОВОРИЛИ. Добрый человек даже функцию отыскал. Но я ж не могу все ваши предложения ввести сразу же! В конце концов тут не "сеанс одновременной игры". Подождите же.... Или сами допишите. Сорцы есть. Форму сделать проще, чем компьютер включить. Форвертс! :)

_________________
Знание - сила!


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 08, 2009 09:42:34 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 430
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
Вообще надо так: Код:

ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE);

Вообще обращение к полям и медотам своего же класса в языке Delphi допустимо без указания полного имени ;)

Так что внутри метода класса TForm1.FormActivate Application.MainForm.Handle = Self.Handle или = просто Handle

Цитата:
Буду копать, как время будет. Видимо в выходные.
Да там просто всё, глубоко копать не придётся :)

У меня вот сейчас необходимость "обкапывать" Qt, но без интернета как без воздуха :(


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 08, 2009 15:42:42 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 3
Зарегистрирован: Вс окт 12, 2008 00:19:25
Сообщений: 403
Откуда: Подольск, Мос. Область
Рейтинг сообщения: 0
Пухич писал(а):
larik, вас там еще не задолбало это окно? :)

неа просто удерживается ключик, с которого он типо запускается, 5 секунд и он вырубается :) жестко но уж на ночь не оставлять 7 ампер жрет однако


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 08, 2009 17:51:28 
Модератор
Аватар пользователя

Карма: 16
Рейтинг сообщений: 14
Зарегистрирован: Вс июн 01, 2008 00:17:35
Сообщений: 4673
Откуда: Я всего лишь плод вашего воображения...
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ploop писал(а):
Да там просто всё, глубоко копать не придётся


И все же надо элементарно добраться до компилятора. :)

Цитата:
У меня вот сейчас необходимость "обкапывать" Qt, но без интернета как без воздуха


Да я вот тоже чувствую, что придется с КуТэ разбираться.... Народ сейчас прет с нее, надо и мне переходить, дабы не отстать. Когда-то поленился даже поглядеть, когда начинал в линуксе писать. Решил, что "чистый Си рулит". :)

Цитата:
в языке Delphi


Дался тебе этот Дельфи. Пиши на Сях. :tea:

larik писал(а):
неа просто удерживается ключик, с которого он типо запускается, 5 секунд и он вырубается Smile жестко но уж на ночь не оставлять 7 ампер жрет однако


Понятно. :)

_________________
Знание - сила!


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 08, 2009 18:43:51 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 430
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Не дался он мне, просто три года пишу на нем чуть ли не каждый день (на работе), вот и знаю хорошо :-)


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт окт 08, 2009 22:12:07 
Модератор
Аватар пользователя

Карма: 16
Рейтинг сообщений: 14
Зарегистрирован: Вс июн 01, 2008 00:17:35
Сообщений: 4673
Откуда: Я всего лишь плод вашего воображения...
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
ploop писал(а):
Не дался он мне, просто три года пишу на нем чуть ли не каждый день (на работе), вот и знаю хорошо :-)


А для души на чем пишешь? :)

_________________
Знание - сила!


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт окт 09, 2009 11:53:39 
Модератор
Аватар пользователя

Карма: 68
Рейтинг сообщений: 430
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Сообщений: 13490
Откуда: Тамбовская обл.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Цитата:
А для души на чем пишешь?
А на душу пока времени не остаётся :( Ничего, скоро поправим!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 80 ]    , , , 4

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y