Как найти идею? Довольно просто. Бизнес-идея всегда связана с какой-то проблемой и является решением для нее. А миссия Вашего будущего бизнеса – идеальное (глобальное) решение данной проблемы.
Ярлыки
- С++ (3)
- Стихи (1)
- тонировка (1)
- Цитаты (2)
- ALTlinux (1)
- Apache (2)
- big-endian (1)
- Blogger (1)
- books (3)
- books links (1)
- Buisness (10)
- C (1)
- C# (5)
- c++ (27)
- car (8)
- Cheat (1)
- CSS (1)
- DLL (1)
- Draw (1)
- Eclipse (2)
- Films (1)
- Firefox (4)
- Flash (1)
- GTK (2)
- GUI (1)
- Home server (1)
- Hotels (1)
- HTML (6)
- IE (1)
- Internet (2)
- Java (1)
- JavaScript (6)
- jQuery (1)
- KDE (1)
- KeeTouch (1)
- Linux (34)
- little-endian (1)
- Makefile (1)
- MFC (6)
- multi-thread (2)
- Music (1)
- ODBC (2)
- OpenBox (2)
- photo (4)
- PHP (38)
- programing (2)
- proxy (1)
- QML (37)
- Qt (41)
- QtCreator (2)
- RegExp (3)
- Shopping (12)
- shutdown (1)
- Soft (1)
- Sound Card (1)
- SQL (1)
- SQL Server (14)
- Subversion (1)
- SVN (1)
- teach (4)
- text-editor (1)
- Travels (1)
- Ubuntu (38)
- Upstart (1)
- Vi (2)
- VirtualBox (2)
- Virtualization (1)
- vkontakte.ru (1)
- Web (2)
- Web-Kit (5)
- WinAPI (7)
- Windows (4)
вторник, 29 июня 2010 г.
MFC: создание собственного визуального класса
1.создаем класс
2.указываем базовый класс
class CModelListFiles : public CListCtrl
Для использования из вызывающего класса нам нужно получить указатель на родительский класс. Для этого:
1.перегружаем метод Create где в третьем параметре получаем указатель на родителя
BOOL CModelListFiles::Create(DWORD dwStyle, const RECT &rect, CModelDlg *pParent, UINT nID)
{
if(!CListCtrl::Create(dwStyle,rect,pParent,nID)) return FALSE; //вызов метода базового класса
m_parent=pParent; //окно-родитель
return TRUE;
}
2.в хэдэре перед определением нашего класса обьявляем вызывающий класс
class CModelDlg;
3.в определении нашего класса создаем указатель на родителя
CModelDlg *m_parent;
4.включаем #include "ModelDlg.h"
в cpp нашего класса
ModelListFiles.h - визуальный класс наследуемый от CListCrtl
#if !defined(AFX_MODELLISTFILES_H__DEB17F5E_9013_49CA_8947_CCEBC974EF4F__INCLUDED_)
#define AFX_MODELLISTFILES_H__DEB17F5E_9013_49CA_8947_CCEBC974EF4F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CModelDlg;
class CModelListFiles : public CListCtrl
{
public:
CModelDlg *m_parent;
CModelListFiles();
virtual ~CModelListFiles();
private:
BOOL Create(DWORD dwStyle,const RECT& rect,CModelDlg *pParent,UINT nID);
};
#endif // !defined(AFX_MODELLISTFILES_H__DEB17F5E_9013_49CA_8947_CCEBC974EF4F__INCLUDED_)
ModelListFiles.cpp
#include "stdafx.h"
#include "ModelListFiles.h"
#include "ModelDlg.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CModelListFiles::CModelListFiles()
{
}
CModelListFiles::~CModelListFiles()
{
}
BOOL CModelListFiles::Create(DWORD dwStyle, const RECT &rect, CModelDlg *pParent, UINT nID)
{
if(!CListCtrl::Create(dwStyle,rect,pParent,nID)) return FALSE; // Âûçîâ ìåòîäà áàçîâîãî êëàññà
m_parent=pParent; // îêíî-ðîäèòåëü
return TRUE;
}
ModelDlg.h
#if !defined(AFX_MODELDLG_H__D27F3632_A29D_4E97_B85B_F672DFCD102C__INCLUDED_)
#define AFX_MODELDLG_H__D27F3632_A29D_4E97_B85B_F672DFCD102C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// ModelDlg.h : header file
//
#include "CustFilesEdit.h"
/////////////////////////////////////////////////////////////////////////////
// CModelDlg dialog
class CModelDlg : public CDialog
{
// Construction
public:
CModelDlg(CWnd* pParent = NULL); // standard constructor
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MODELDLG_H__D27F3632_A29D_4E97_B85B_F672DFCD102C__INCLUDED_)
ModelDlg.cpp
#include "stdafx.h"
#include "ModelDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CModelDlg dialog
CModelDlg::CModelDlg(CWnd* pParent /*=NULL*/)
: CDialog(CModelDlg::IDD, pParent),
m_CustFilesBox(this)
{
//{{AFX_DATA_INIT(CModelDlg)
m_NoEdit = FALSE;
//}}AFX_DATA_INIT
}
понедельник, 28 июня 2010 г.
Идея как главное направление – как ее найти?
Самое важное в бизнесе – это всегда идея, инновация. Как и где найти бизнес-идею? Об этом мы поговорим в этот раз.
Идея в бизнесе - это совсем не то же, что, например, идея в философии. Бизнес-идея – это направление движения. В конце этого направления должно горделиво возвышаться то, что называется «Миссия фирмы». Скажем, идея Генри Форда о конвейере и миссия «Каждому американцу – личный автомобиль». Идея Дж.Истмана (Кодак) о сухой фотопластине и миссия «Фотография – доступная всем». Чем выше и благороднее миссия фирмы – тем больше шансов на достижение успеха в долгосрочной перспективе.
Как найти идею? Довольно просто. Бизнес-идея всегда связана с какой-то проблемой и является решением для нее. А миссия – идеальное (глобальное) решение данной проблемы. То есть: вначале найдите проблему у людей, помогите им ее решить – они вам за это заплатят. Вот суть вообще любого бизнеса в одном предложении.
Иногда «бизнесмены» сами и создают проблему, а потом услужливо готовы оказать помощь (рэкет, например). Иногда вам предлагают ложное решение проблемы. Типичный пример – некоторые шампуни от перхоти. Известно, что перхоть – это симптом грибкового заболевания. Вместо лечения предлагается каждый день использовать шампуни с отшелушивающим эффектом. Перестал использовать шампунь – перхоть появилась снова. Клиент, что называется, «на игле». Так или иначе, правильная последовательность выглядит так: проблема – идея решения – план реализации – реализация решения.
Найти проблему уже куда проще, чем идею. Проблемы – они на поверхности. Нерешенные проблемы (типа лекарства от СПИДа) найти просто, но решение – сложно. Если найдете решение такой проблемы – сказочно разбогатеете! Но можно и по-другому. В наш безумный век достаточно предложить решение проблемы «с экономией» по сравнению с уже имеющимися на рынке решениями. Экономией времени, денег, нервов, усилий… За экономию ресурсов – люди вам заплатят. Сеть бистро, платежные автоматы, доставка всего-всего на дом, заказ всего-всего по телефону-Интернету – бизнесы на экономии времени. Time is money, как говорится. Скидки, распродажи, дисконтные системы – экономия денег. Адвокатские конторы, страховой бизнес, налоговый консалтинг – экономия нервов.
Хорошим инструментом является пирамида потребностей А.Маслоу. В пирамиде построчно определены потребности людей, или, другими словами, их насущные проблемы. Используем мы эту пирамиду довольно оригинально: высота строки в пирамиде – это средний доход от одного клиента, ширина строки – объем рынка (количество потенциальных клиентов). Речь идет о примерном процентном соотношении. Если ваш бизнес эксплуатирует самую нижнюю ступень потребностей (физиологические: пища, сон, секс, одежда, и т.п.) – вы можете рассчитывать на широкий рынок, но относительно небольшие наценки, ведь и конкурентов много. А вот в верхней части пирамиды (самовыражение) бизнес еще только-только нарождается. Пример: смотрели фильм «Давайте потанцуем» с Ричардом Гиром? Много ли у нас подобных клубов, где учат танцевать, петь, рисовать не детей, а взрослых? Потребность в самовыражении есть у всех. Если ваш бизнес захватывает две строки пирамиды и более – вы можете рассчитывать на устойчивые прибыли.
Сразу хочу разочаровать: даже самая отличная идея еще не гарантирует успешности бизнеса. Все дело в реализации. Во-первых, некоторые замечательные идеи реализовать нельзя по причине дороговизны, некоторые – по причине того, что это кому-то влиятельному не понравится (читай – если он на этом сам «греется»), некоторые – просто потому, что не в то время и не в том месте вы их воплощаете. Или – просто не так. За последние пять лет я с двойственным чувством наблюдаю, как два десятка моих идей были воплощены кем-то и довольно удачно. Почему не мной? Не было денег, времени, желания, а у кого-то все это нашлось. В Рунете, кстати, есть ряд сайтов, которые битком набиты именно идеями с примерами реализации. Ищите и обрящете.
На закуску интересные направления, на которые стоит обратить внимание:
- Вендинг (торговые и платежные автоматы), чем выше аренда и з/п в вашем регионе – тем этот бизнес интереснее. Это современный и быстрорастущий сектор.
- Некоммерческие организации (спортивные клубы, различные кружки по интересам и т.п., хотя организации некоммерческие – зарабатывать на них можно очень хорошо).
- Бизнес на любых мелких бытовых услугах. Или на тех, кто такие услуги оказывает. Фирма «Муж на час» – хороший пример.
- Любые виды бизнеса, связанные с обработкой информации. Справочные службы с доступом по телефону/Интернету. Консалтинг всех видов (налоговый, экономический, юридический, психотерапевтический). Информация всегда стоит дорого.
- Сезонный бизнес. Изготовление подарков из конфет к Новому году легко приносит 100 тыс. рублей в месяц, летом продажа мороженого и прохладительных напитков в нужных местах (пляжи, парки) – 150% прибыли и более.
- Интернет-проекты. Интернет – отличная площадка для старта! Сайт «Школа Жизни» – чем не пример? В США семь лет назад был просто бешеный взлет «доткомов»! Правда, кризис пережили далеко не все, но я надеюсь, вы не забыли формулу выживаемости бизнеса? Только 10% фирм существуют через два года после старта.
Итак, вы увидели проблему, готовы предложить оригинальное решение. Как понять, найдет ли эта идея своего покупателя? Нужно составить бизнес-план! На этапе бизнес-плана многие идеи отметаются, как нереализуемые или малодоходные.
http://www.biznesbomba.ru/user/id/816/articles/158
воскресенье, 27 июня 2010 г.
SQL Server HYT00
SQL Server 2008: Change data capture (CDC)
http://istomin.wordpress.com/2010/01/21/change-data-capture-cdc-sql-server-2008/
пятница, 25 июня 2010 г.
SQL Server очистить таблицу в Management Studio
-нажать Show SQL Pane (Ctrl+3)
-в меню Change Type выбрать delete
-подредактировать запрос
-нажать Execute SQL (Ctrl+R)
четверг, 24 июня 2010 г.
MFC работа с SQL Server через CRecordset
2.Указать базовый класс CRecordset.
3.Указать ODBC.
4.Указать таблицы с которыми есть желание работать.
5.Добавить #include
если структура таблицы изменилась необходимо пересоздать класс заново.
вторник, 22 июня 2010 г.
books
Гамсун "Голод" http://fictionbook.ru/author/gamsun_knut/golod/
Coding4Fun: программируем для удовольствия http://www.books.ru/shop/books/694838
Законы Паркинсона http://www.ozon.ru/context/detail/id/3630926/
Принцип Питера, или Почему дела всегда идут вкривь и вкось http://www.ozon.ru/context/detail/id/1382478/
понедельник, 21 июня 2010 г.
Шкаф для книг.
http://www.gurov-co.ru/node/377
http://www.mebelnam.ru/knijniy.html
books links
http://hack-portal.ucoz.ru/load/16-1-0-114
http://www.zipsites.ru/?n=15/10/1/
Waitable Timers
http://msdn.microsoft.com/en-us/library/ms682492%28v=VS.85%29.aspx
Почему Вы используете именно таймер? Вообще-то при многонитевой (multithreads) организации приложения используются другие подходы: WaitFor..., Sleep, WaitableTimer, - полюс синхронизация с необходимой нитью (thread).
Вообще-то обычный таймер (timer) - это user mode object, который отправляет сообщение WM_TIMER в очередь событий. Далее дело приложения организовать корректно обработку данного сообщения. Причем обработка имеет свои нюансы для разных ОС: Win9x и Me - обрабатывается сообщение в главной нити процесса, NT и клоны - в той нити, где был создан таймер.
http://junglewin.narod.ru/threads.html#timer
таймер в потоке
http://msdn.microsoft.com/en-us/library/ms686915%28v=VS.85%29.aspx
SQL Server Stored Procedure
http://www.c-sharpcorner.com/UploadFile/john_charles/796/
MS SQLServer DateTime
http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/
http://msdn.microsoft.com/ru-ru/library/ms187819.aspx
http://msdn.microsoft.com/ru-ru/library/ms187928%28SQL.90%29.aspx
пятница, 18 июня 2010 г.
Multithreads
Подскажите, плиз, что-то я совсем запутался.
в созданном потоке создаю таймер, SetWaitableTimer(...)
Затем жду когда он протикает (это может произойти через н-дцат секунд).
WaitForSingleObject(WaitableTimerHandle, INFINITE) ? ...
как из основного потока завершить (не убивая) поток, который находится в режиме ожидания, или звершить этот таймер досрочно?
Подробней это выглядит так:
WaitableTimerHandle:=CreateWaitableTimer(nil, True, 'DeathReviewTimer');
...
while not Terminated do begin
...
SetWaitableTimer(WaitableTimerHandle,
DueTime,
0,
nil,
nil,
False)
...
if (WaitForSingleObject(WaitableTimerHandle, INFINITE)<>WAIT_OBJECT_0) then begin
MessageBox(0, 'WaitForSingleObject failed!', 'Error!',
MB_ICONERROR or MB_OK or MB_SETFOREGROUND or MB_TOPMOST or MB_TASKMODAL);
exit;
end;
...
end;
...
Думаю можно сделать контоль через WaitForMultipleObjects
Но ведь наверное можно как-то получить доступ к существующему таймеру? вот смотрю в мсдн на openwaitabletimer...
кто-нибудь так делал?
// Сначала
HANDLE SomeEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
// Потом ждёшь
HANDLE handles [2] = { WaitableTimerHandle, SomeEvent };
DWORD result = WaitForMultipleObjects (2, handles, FALSE, INFINITE);
switch (result)
{
case WAIT_OBJECT_0 + 0:
// Дождались таймера
break;
case WAIT_OBJECT_0 + 1:
// Пора сваливать
break;
default:
// Что-то пошло не так
break;
}
// В неком другом потоке
SetEvent (SomeEvent);
четверг, 17 июня 2010 г.
Многопоточное программирование
http://www.sources.ru/cpp/faqs/90.htm
MSMQ
http://www.codeproject.com/KB/IP/msmqchannel.aspx
ms sql server 2005 отслеживание изменений в таблице из приложения
ms sql 2005 синхронизация
http://subscribe.ru/archive/comp.prog.visualc/200102/18072733.html
хранимые продцедуры
http://msdn.microsoft.com/ru-ru/library/ms187926%28SQL.90%29.aspx
http://www.studfiles.ru/dir/cat32/subj291/file684/view1344/page2.html
event notification
http://msdn.microsoft.com/ru-ru/library/ms189453%28v=SQL.90%29.aspx
http://blogs.msdn.com/b/alexejs/archive/2009/07/19/p20090719_5f00_1.aspx
http://www.sql.ru/articles/mssql/03011001NotificationServices.shtml
Краткое введение в сервис-брокер
http://blogs.msdn.com/b/alexejs/archive/2009/08/15/9871237.aspx
http://books.google.ru/books?id=fx4JM99vKZ8C&printsec=frontcover&source=gbs_v2_summary_r&cad=0#v=onepage&q&f=false
пятница, 11 июня 2010 г.
MS SOL Server data types
Тип данных Обозначение Размер, байт
Бинарные данные binary
varbinary[(n)] 1-8000
Символы char[(n)]
varchar[(n)] 1-8000
( до 8000 символов)
Символы unicode nchar[(n)]
nvarchar[(n)] 1-8000
(до 4000 символов)
Дата и время datetime 8
smalldatetime 4
Точные числа decimal[(p[,s])]
numeric[(p[,s])] 5-17
Приблизительные числа float[(n)] real 4-8 4
Глобальный идентификатор uniqueidentifier 16
Целые числа int smallint, tinyint 4 2, 1
Денежки money, smallmoney 8, 4
Специальные bit, cursor,
sysname, timestamp 1, 0-8
Текст и изображение text, image 0-2 Гб
Текст unicode ntext 0-2 Гб
вторник, 8 июня 2010 г.
суббота, 5 июня 2010 г.
Как изменить язык ввода по-умолчанию на экране приветствия в Windows 7
пятница, 4 июня 2010 г.
VC++ MFC Tutorial: CListCtrl, InsertItem, Using List Control, SetImageList, Article with source code
Win: COM
http://msdn.microsoft.com/ru-ru/library/ms690343%28v=VS.85%29.aspx
среда, 2 июня 2010 г.
Copy Files From Clipboard
//CF_HDROP означает что нас интересуют входящие данные о файлах
if (!IsClipboardFormatAvailable(CF_HDROP))
{
AfxMessageBox( "No avaible files in Clipboard" );
return;
}
//открываем буфер обмена
if ( !OpenClipboard() )
{
AfxMessageBox( "Cannot open the Clipboard" );
return;
}
//получаем данные из буфера обмена
HDROP my_cb_data;
//приводим данные из типа HANDLE в тип HDROP
my_cb_data = (HDROP)GetClipboardData(CF_HDROP);
//если данные получены
if(my_cb_data)
{
//получаем количество файлов в буфере обмена
//для чего вторым параметром передаем 0xFFFFFFFF
UINT num_cb_files = DragQueryFile(my_cb_data,0xFFFFFFFF,NULL,0);
CString st_num_cb_files;
st_num_cb_files.Format("%i", num_cb_files);
AfxMessageBox( st_num_cb_files, MB_OK);
//создаем буфер для хранения имен файлов
TCHAR *fName = new TCHAR[num_cb_files];
//заполняем буфер
DragQueryFile(my_cb_dta, 0, fName, num_cb_files );
AfxMessageBox( fName, MB_OK);
}
//закрываем буфер обмена
CloseClipboard();
http://www.vsokovikov.narod.ru/New_MSDN_API/index_msdn.htm
http://www.codeproject.com/KB/clipboard/archerclipboard1.aspx
http://netcode.ru/cpp/?click=r-213.php.htm