Прошу помочь в объединении двух простых приложений (терминал+блокнот) в одно (исходники на VS 6.0)
Поясняю суть задачи — нужно своё прилоложение, отображающее данные приходящие с термопечей, по типу "UCHASTOK — 1; PECH — 2; VREMYA — 10:15; TEMPERATURA — +75C". Это приходит с печи на СОМ-порт (9600 бит/с), но сами данные поступают медленно — 1 раз в минуту вот эта строка из 30-50 символов.
Я нашёл 2 приложения с исходниками. Одно из них типа блокнота, с функциями текстового редактора — Poppad, второе терминал — FUNterm.
Исходники залил сюда (120кБ) — http://slil.ru/28294711
В терминале мне не хватает нормальной работы с текстом из-за хитрой реализации вывода на экран (не выводит больше 1 экрана — нет прокрутки текста, нет поиска, печати). Всё это есть в Poppad-е.
Оба исходника простые, прошу помочь объединить 2 исходника в один и получить терминал с функциями, что есть в Poppad-е. Хотя-бы вывод в окно Edit как в сделано в Poppad-е, с остальным сам справлюсь.
Здравствуйте, ole!, Вы писали:
O>Здравствуйте, ZoltriX, Вы писали:
ZX>>Прошу помочь в объединении двух простых приложений (терминал+блокнот) в одно (исходники на VS 6.0)
O>одно слово в этом посте все портит. угадайте какое. O>правильно, — безвоздмездно.
Это самое правильное слово. Мы же на форуме, а не в магазине
Re[3]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, ZoltriX, Вы писали:
O>>одно слово в этом посте все портит. угадайте какое. O>>правильно, — безвоздмездно.
ZX>Это самое правильное слово. Мы же на форуме, а не в магазине
Здесь люди могут совет какой-нибудь дать, книжку подсказать, ответить почему какой-то хитрый код не компилируется каким-либо компилятором(в простых случаях скорее всего пошлют), может быть системную функцию сказать, подсказать направление (как бы не двухсмыслено это звучало), пофлудить в конце концов на тему C++ vs brainfuck.
Но никто не будет тратить своё время на какую-либо задачу, пусть даже она и не очень сложная.
Какой стимул? Интерес? Не думаю, что задача интересная.
Баллы получить? Нет гарантии, что их вообще поставят, да и какой-то слабый это стимул.
И задача хоть может быть и не сложная, но всё же не элементарная. Подозреваю, что надо скрестить ужа и ежа. Оба животные небольшие, так что проблем не предвидеться. А когда начнёшь реализовывать, понимаешь, что лучше бы этих примеров вообще не было, т.к. они совершенно для разных целей предназначены.
С такими постами надо писать в форум "Предложения от прямых работодателей".
Re[4]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, ZoltriX, Вы писали:
O>>>одно слово в этом посте все портит. угадайте какое. O>>>правильно, — безвоздмездно.
ZX>>Это самое правильное слово. Мы же на форуме, а не в магазине
A>Здесь люди могут совет какой-нибудь дать, книжку подсказать, ответить почему какой-то хитрый код не компилируется каким-либо компилятором(в простых случаях скорее всего пошлют), может быть системную функцию сказать, подсказать направление (как бы не двухсмыслено это звучало), пофлудить в конце концов на тему C++ vs brainfuck.
A>Но никто не будет тратить своё время на какую-либо задачу, пусть даже она и не очень сложная. A>Какой стимул? Интерес? Не думаю, что задача интересная. A>Баллы получить? Нет гарантии, что их вообще поставят, да и какой-то слабый это стимул.
A>И задача хоть может быть и не сложная, но всё же не элементарная. Подозреваю, что надо скрестить ужа и ежа. Оба животные небольшие, так что проблем не предвидеться. А когда начнёшь реализовывать, понимаешь, что лучше бы этих примеров вообще не было, т.к. они совершенно для разных целей предназначены.
A>С такими постами надо писать в форум "Предложения от прямых работодателей".
Да мне бы только окно такого типа как в том Блокноте, всунуть в тот Терминал.
Чтоб я видел как в него данные приходят.
Остальные функции я и сам допишу.
Re[5]: Прошу помочь в объединении двух простых приложений в
ZX>Да мне бы только окно такого типа как в том Блокноте, всунуть в тот Терминал. ZX>Чтоб я видел как в него данные приходят. ZX>Остальные функции я и сам допишу.
Да ладно, зачем сам, добрые рсдн'овцы помогут.
Народ, давайте дружно скинемся по строчке кода! С миру по нитке — голому рубаха
Я, так и быть, начну:
#include <windows.h>
Re: Прошу помочь в объединении двух простых приложений в одн
Здравствуйте, std.denis, Вы писали:
SD>HyperTerminal умеет прокрутку, ЕМНИП. SD>Или другие нормальные терминалки, например SecureCRT
Более лучшего терминала с исходником я просто не нашёл.
При отображении температуры, значение надо считать по формуле, а не просто выводить.
А этот — нормальный терминал, только вот вывод странно организован
Re[5]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, ZoltriX, Вы писали:
ZX>Да мне бы только окно такого типа как в том Блокноте, всунуть в тот Терминал. ZX>Чтоб я видел как в него данные приходят. ZX>Остальные функции я и сам допишу.
Но ведь, чтобы это сделать, придётся довольно детально разобраться с тем Блокнотом и тем Терминалом.
Разбираться в чужом коде конечно полезно. Но это инвестиции, которые не окупятся. Лучше разобраться в чём-то более практичном (boost тот же, ядро линукса), что когда-то может пригодиться ещё.
Я сомневаюсь, что кто-то, не то, чтобы поможет, а даже загрузит код этих приложений.
Re[6]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, Rostislav_Pro, Вы писали:
ZX>>Да мне бы только окно такого типа как в том Блокноте, всунуть в тот Терминал. ZX>>Чтоб я видел как в него данные приходят. ZX>>Остальные функции я и сам допишу.
R_P>Да ладно, зачем сам, добрые рсдн'овцы помогут. R_P>Народ, давайте дружно скинемся по строчке кода! С миру по нитке — голому рубаха R_P>Я, так и быть, начну: R_P>
R_P>#include <windows.h>
R_P>
Не утрируйте.
У меня серьёзно проблема — не пойму за что взяться, знания есть, но мало, а практика написания софта под виндовс = 0.
Вообщем прошу минимум — переделайте вывод принимаемых данных в окно, по свойствам как Блокноте (с возможностью прокрутки данных).
Когда я буду видеть данные на экране, то уже придумаю как их сохранить, изменить шрифт и прочие действия.
Нмкак не могу понять, какую часть надо вытянуть с Блокнота и вставить в Терминал и как это всё связать с принимаемыми байтами.
Re[3]: Прошу помочь в объединении двух простых приложений в
ZX>При отображении температуры, значение надо считать по формуле, а не просто выводить. ZX>А этот — нормальный терминал, только вот вывод странно организован
Тогда нужно разбираться в сорцах этого терминала. Самому.
И ничего там скрещивать не нужно, просто доработать терминал. Спросите у автора как.
Re[4]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, std.denis, Вы писали:
ZX>>При отображении температуры, значение надо считать по формуле, а не просто выводить. ZX>>А этот — нормальный терминал, только вот вывод странно организован SD>Тогда нужно разбираться в сорцах этого терминала. Самому. SD>И ничего там скрещивать не нужно, просто доработать терминал. Спросите у автора как.
Я и автор говорим на разных языках. Боюсь, что не поймём))
Если Вы думаете, что найти исходник вот этих 2 программ или ещё лучший так просто — попробуйте.
У меня ушло 3 недели времени.
И никто вам не поможет — пожелания будут гуглить и читать разные буки, причём чаще от людей которые в программировании шарят не больше чем я, а выдают из себя мега-гуру. Ни написав ни байта кода, а только фыркая на форумах они воображают в себе мега-спецов.
Настоящих программистов, даже не желающих помочь, а просто способных к помощи не так и много.
Я по работе много раз сталкивался, когда "спец" сначала рассказует какое сложное задание, потом просит много денег, потом просит много времени,
а когда даёшь ему и время и деньги — так он оказывается и программить то вообще не умеет.
Исходники чепуховые по 20 кБ каждая прога, нормальному спецу там разбираться — 10 минут.
Просто из меня спец на уровне 1 балла, по 5 бальной системе.
Re[6]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, ZoltriX, Вы писали:
ZX>>Да мне бы только окно такого типа как в том Блокноте, всунуть в тот Терминал. ZX>>Чтоб я видел как в него данные приходят. ZX>>Остальные функции я и сам допишу.
A>Но ведь, чтобы это сделать, придётся довольно детально разобраться с тем Блокнотом и тем Терминалом. A>Разбираться в чужом коде конечно полезно. Но это инвестиции, которые не окупятся. Лучше разобраться в чём-то более практичном (boost тот же, ядро линукса), что когда-то может пригодиться ещё.
A>Я сомневаюсь, что кто-то, не то, чтобы поможет, а даже загрузит код этих приложений.
Раз нет времени и желания помочь,
то зачем было утруждать себя в написании этих строк?
Re[5]: Прошу помочь в объединении двух простых приложений в
ZX>Если Вы думаете, что найти исходник вот этих 2 программ или ещё лучший так просто — попробуйте. ZX>У меня ушло 3 недели времени.
Вы адреса подбирали брутфорсом что ли? Гугль на первый же запрос выдал вполне удачную софтику с сорцами. На уточненный еще пару.
ZX>Я по работе много раз сталкивался, когда "спец" сначала рассказует какое сложное задание, потом просит много денег, потом просит много времени, ZX><...> ZX>Исходники чепуховые по 20 кБ каждая прога, нормальному спецу там разбираться — 10 минут.
А никто вроде и не говорит о неимоверной сложности. Другой вопрос — кому интересно бесплатно делать неинтересную задачу? Ни морального, ни материального поощерения. А убить время есть масса более приятных/полезных занятий.
Re[7]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, ZoltriX, Вы писали:
A>>Я сомневаюсь, что кто-то, не то, чтобы поможет, а даже загрузит код этих приложений.
ZX>Раз нет времени и желания помочь, ZX>то зачем было утруждать себя в написании этих строк?
Время есть. Может быть даже есть желание помочь. Но нет желания делать чью-то скучную работу (я не думаю, что допилить что-то в найденных исходниках очень интересная задача).
А писать на форуме — это не мешки ворочить, тут сложно перетрудиться.
Re[8]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, ZoltriX, Вы писали:
A>>>Я сомневаюсь, что кто-то, не то, чтобы поможет, а даже загрузит код этих приложений.
ZX>>Раз нет времени и желания помочь, ZX>>то зачем было утруждать себя в написании этих строк?
A>Время есть. Может быть даже есть желание помочь. Но нет желания делать чью-то скучную работу (я не думаю, что допилить что-то в найденных исходниках очень интересная задача). A>А писать на форуме — это не мешки ворочить, тут сложно перетрудиться.
Видишь как получается, всё есть — но скучно....
Саму скучную часть этой работы, я оставил для себя и не оглашал в эфир,
а прилепить вывод в другое окно у меня не получается,
пару раз пробовал, какой-то бред.....
Можешь помочь — прикрути вывод в другое окно, остальное беру на себя.
Re[6]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, std.denis, Вы писали:
ZX>>Если Вы думаете, что найти исходник вот этих 2 программ или ещё лучший так просто — попробуйте. ZX>>У меня ушло 3 недели времени. SD>Вы адреса подбирали брутфорсом что ли? Гугль на первый же запрос выдал вполне удачную софтику с сорцами. На уточненный еще пару.
ZX>>Я по работе много раз сталкивался, когда "спец" сначала рассказует какое сложное задание, потом просит много денег, потом просит много времени, ZX>><...> ZX>>Исходники чепуховые по 20 кБ каждая прога, нормальному спецу там разбираться — 10 минут. SD>А никто вроде и не говорит о неимоверной сложности. Другой вопрос — кому интересно бесплатно делать неинтересную задачу? Ни морального, ни материального поощерения. А убить время есть масса более приятных/полезных занятий.
Ну что вы всё о деньгах. Неужели это самое важное в жизни?
Re[7]: Прошу помочь в объединении двух простых приложений в
ZX>Ну что вы всё о деньгах. Неужели это самое важное в жизни?
Ну в моем сообщении указаны две альтернативы: "бесплатно, но интересно" и "скучно, но за деньги"
И я как раз о том же — в сутках и так всего лишь 24 часа (в которые нужно втиснуть всё), чтобы еще тратить их впустую
Re[8]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, std.denis, Вы писали:
ZX>>Ну что вы всё о деньгах. Неужели это самое важное в жизни? SD>Ну в моем сообщении указаны две альтернативы: "бесплатно, но интересно" и "скучно, но за деньги" SD>И я как раз о том же — в сутках и так всего лишь 24 часа (в которые нужно втиснуть всё), чтобы еще тратить их впустую
Господа мы ударились в философию или в экономику.
Я по технике прошу помощи.
Неужели не найдётся желающего помочь?
Re: Прошу помочь в объединении двух простых приложений в одн
"Я не могу дать тебе барана, но могу дать добрый совет. Потому что у нас страна советов, а не страна баранов".
Совет вот какой:
— берёшь любой опенсорсный редактор текстовых файлов
— допиливаешь его, чтобы он подписывался на изменение этого файла
(начиная от простого — опрос даты-времени и длины раз в секунду, и кончая File Notification API — см. FindFirstFileNotification и т.п.)
— открываешь файл с логами своей печки, желательно, как read-only
— когда приходит сигнал об изменении файла, перечитываешь или даже просто дочитываешь хвост.
Вуаля! Правда, может быть немало рутинной работы, а то и творческого рефакторинга.
Ещё вариант — пожалуй, даже более простой, чем предыдущее.
Эдитбокс + открытый на чтение конвеер (pipe, socket, да собственно, твой com-порт). Возможно, в Overlapped I/O.
Поступают новые данные — дописываешь в конец эдитбокса.
Только возможно, лучше взять контрол не EDIT, а RichEdit — у него проще осуществлять дозапись фрагментов.
В обычном EDIT это будет мучительно — нужно сохранять выделение и позицию скролла, переписывать текст, восстанавливать выделение и позицию...
Перекуём баги на фичи!
Re[9]: Прошу помочь в объединении двух простых приложений в
ZX>У меня серьёзно проблема — не пойму за что взяться, знания есть, но мало, а практика написания софта под виндовс = 0.
А хрен ли ты вообще взялся за работу, если то не знаешь, это не знаешь, гуглом пользоваться не умеешь и так далее?
ZX>Вообщем прошу минимум — переделайте вывод принимаемых данных в окно, по свойствам как Блокноте (с возможностью прокрутки данных).
Проблема в том, что когда кто-то другой, так же как и ты сейчас, будет просить сделать часть своей работы, ты пройдёшь мимо. Да-да, парень, ты пройдёшь мимо, ибо вероятность этого чуть менее чем 100%. Это одна из причин, почему никто сейчас не хочет вкладывать в тебя свои ресурсы.
Re[8]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, x64, Вы писали:
ZX>>У меня серьёзно проблема — не пойму за что взяться, знания есть, но мало, а практика написания софта под виндовс = 0.
x64>А хрен ли ты вообще взялся за работу, если то не знаешь, это не знаешь, гуглом пользоваться не умеешь и так далее?
ZX>>Вообщем прошу минимум — переделайте вывод принимаемых данных в окно, по свойствам как Блокноте (с возможностью прокрутки данных).
x64>Проблема в том, что когда кто-то другой, так же как и ты сейчас, будет просить сделать часть своей работы, ты пройдёшь мимо. Да-да, парень, ты пройдёшь мимо, ибо вероятность этого чуть менее чем 100%. Это одна из причин, почему никто сейчас не хочет вкладывать в тебя свои ресурсы.
Я то и сам на месте не сижу, я пытаюсь создать Edit-окно и пытаться туда что-то вывести.
Но уже при создании окна имею возвращаемое значение = 0.
Тоесть нихрена не создаётся. А понять не могу.... (((
Re[3]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, ZoltriX, Вы писали:
ZX>Более лучшего терминала с исходником я просто не нашёл. ZX>При отображении температуры, значение надо считать по формуле, а не просто выводить. ZX>А этот — нормальный терминал, только вот вывод странно организован
А зачем тут терминал приплетен, вообще непонятно. Тем более, что данные надо не просто тупо выводить, а обрабатывать. Открываешь COM-порт, считываешь оттуда данные, парсишь их, и выводи куда хочешь
В исходниках терминалки есть файлик serail.c — в нем и есть код работы с ком портом, только он уж очень корявый.
Исходники блокнота даже не смотрел — судя по всему это и не надо.
Вот код программы (проверить не могу — нет термопечи и вообще нет ком порта)
Здравствуйте, ASMelancholy, Вы писали:
ASM>В исходниках терминалки есть файлик serail.c — в нем и есть код работы с ком портом, только он уж очень корявый. ASM>Исходники блокнота даже не смотрел — судя по всему это и не надо. ASM>Вот код программы (проверить не могу — нет термопечи и вообще нет ком порта)
ASM>[ccode]#include <windows.h> ASM>#define MESS_SERIAL (WM_USER+1)
ASM>LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); ASM>BOOL OpenPort(int port,int baud,int HwFc, HWND handle);
ОГРОМНОЕ спасибо за суету!
Уже немного с опозданием — я уже сделал там нужное окно и вывод данных.
Всё работает.
Всё одно спасибо за помощь.
У меня возчасто возникает много мелких вопросов — если не тяжело давайте по аське я буду с Вами советоваться.
Моя — 218774540, Сергей
Re[3]: Прошу помочь в объединении двух простых приложений в
ZX>У меня часто возникает много мелких вопросов — если не тяжело давайте по аське я буду с Вами советоваться.
24 часа в сутки любой участник форума RSDN к твоим услугам, совершенно бесплатно мы консультируем любого желающего по несколько часов подряд, и даже без перерывов на обед.
Re[4]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, x64, Вы писали:
ZX>>У меня часто возникает много мелких вопросов — если не тяжело давайте по аське я буду с Вами советоваться.
x64>24 часа в сутки любой участник форума RSDN к твоим услугам, совершенно бесплатно мы консультируем любого желающего по несколько часов подряд, и даже без перерывов на обед.
Не будьте таким злым.
Это отбивает у новичков охоту задавать вопросы.
Re[5]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, x64, Вы писали:
x64>Именно этого мы и добиваемся. Ты разве ещё не понял, что мы здесь воспитанием занимаемся?
Дык а чего ты хочешь то в итоге?
Чтобы на форуме было 10-20 опытных людей, а новички ушли?
Лично мне это не нужно.
Re[7]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, Lonely Dog, Вы писали:
LD>Здравствуйте, x64, Вы писали:
x64>>Именно этого мы и добиваемся. Ты разве ещё не понял, что мы здесь воспитанием занимаемся? LD>Дык а чего ты хочешь то в итоге? LD>Чтобы на форуме было 10-20 опытных людей, а новички ушли? LD>Лично мне это не нужно.
С другой стороны, согласен, что изначальный вопрос был не совсем интересным
Re[9]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, ZoltriX, Вы писали:
ZX>Я то и сам на месте не сижу, я пытаюсь создать Edit-окно и пытаться туда что-то вывести. ZX>Но уже при создании окна имею возвращаемое значение = 0. ZX>Тоесть нихрена не создаётся. А понять не могу.... (((
для того, чтобы тебе помогли, пиши конкретные примеры. что именно пытаешься сделать и что именно у тебя не выходит? с пачками кода естесственно. а там видно будет. может так оказаться, что на самом деле ты вообще ничего не пытаешься сделать.
проклятый антисутенерский закон
Re[8]: Прошу помочь в объединении двух простых приложений в
Здравствуйте, Lonely Dog, Вы писали:
LD>Здравствуйте, Lonely Dog, Вы писали:
LD>>Здравствуйте, x64, Вы писали:
x64>>>Именно этого мы и добиваемся. Ты разве ещё не понял, что мы здесь воспитанием занимаемся? LD>>Дык а чего ты хочешь то в итоге? LD>>Чтобы на форуме было 10-20 опытных людей, а новички ушли? LD>>Лично мне это не нужно. LD>С другой стороны, согласен, что изначальный вопрос был не совсем интересным
<offtop /> Дело не в уровне, а в том, как человек видит задачу и что он предпринимает для её решения. Всё это хорошо расписано ТУТ.
Негласный вывод (имхо): на форуме обитает много специалистов, как опытных, так и не очень, в том числе совсем начинающие. Если возникает проблема — её нужно пытаться решить, а не ждать халявы. И, если корректно поставить вопрос, пускай даже самый простой, показав, что ты сделал для его решения (тем самым минимально упростив рутинные операции для помогающих) — то тебе, скорее всего, помогут.
Применительно к ТС (имхо) — фраза "Прошу помочь в объединении двух простых приложений" подразумевает то, что человек что-то делал для решения своей задачи, но шёл не в ту сторону. И правы те, кто посоветовал ТС-у другой путь, а не решил за него задачу. Таким образом и ТС чему-то научился, и другим приятно, что они смогли кому-то облегчить жизнь. Гармония...
Re[7]: Прошу помочь в объединении двух простых приложений в
LD>Дык а чего ты хочешь то в итоге? LD>Чтобы на форуме было 10-20 опытных людей, а новички ушли?
Отнюдь! Я лишь хочу, чтобы поменьше было бегинерской ни кому не интересной ерунды. Чтобы вопросы участников были уникальными, и ответы на них такими же. Вот, например, вопросов по моей теме очень мало на этом форуме. Мне это не нравится, вот и всё. Если здесь будет меньше бегинеров с одними и теми же вопросами, то я буду только рад, потому что, возможно, это привлечёт сюда более опытных товарищей с других ресурсов.