|
Hi - I'm looking for a good description or sample code for how to get data from a USB device (say a still image camera) into a visual c++ app. I've seen hints about using TWAIN, or using plain old file io, but not enough detail anywhere to Make It So. Plenty about driver development, but nothing about app-level. Any links or suggestions appreciated.
- Thanks, Barney
|
|
|
|
|
hi,
At application level, the device(bus interface.ie,usb,pci,pcmcia is not bothered, all are just treated as a common image rendering interface) is abstrated, and you look it as an interface(still image rendering interface)...You would look into WIA in the mdsn which will give you information about the your requirement...
TssP
|
|
|
|
|
|
I have a stored procedure on a MSSQL2K server that will perform 2 processes. I am doing a check of the processes and will return an int value which specifies whether the processes completed properly, i.e.
return val - Meaning
0 - both processes failed
1 - the first process completed but the second failed
10 - the second completed but the first failed
11 - indicates both passed
The SP uses the return keyword as in:
<br />
USE myDB<br />
IF EXISTS (SELECT name FROM sysobjects <br />
WHERE name = 'updatedata' AND type = 'P')<br />
DROP PROCEDURE updatedata<br />
GO<br />
USE myDB<br />
GO<br />
CREATE PROCEDURE updatedata <br />
@n1 decimal,<br />
@n2 decimal,<br />
@n3 varchar(25),<br />
<br />
AS <br />
<br />
set nocount on<br />
<br />
DECLARE @m1 int<br />
DECLARE @m2 int<br />
<br />
... do initial process ....<br />
<br />
select @m1 = (select count(*) from table <br />
where params match)<br />
<br />
... do second process ...<br />
<br />
select @m2 = 10 * (select count(*) from table <br />
where params match)<br />
<br />
return (@md + @mdh)<br />
<br />
GO<br />
<br />
using following the TSQL string in query analyzer returns the results correctly:
<br />
declare @val int<br />
exec @val = updatedata 101002, 105041, 'some part number'<br />
select @val as 'val'<br />
In VC/C++, I am using ADO and the open function to call the SP. I need to know how to format the syntax so the return value is returned to be evaluated.
Considering using this function:
<br />
char rsSQL[256];<br />
sprintf(rsSQL,"exec updateData %d, %d, %s", (long)tme, (long)jdt, cmLITM);<br />
RS1->Open(rsSQL, vtMissing, adOpenKeyset, adLockBatchOptimistic, -1);<br />
How can I change this to get the data returned correctly?
Thanks in advance.
There are 10 kinds of people, those that understand binary and those that don't.
|
|
|
|
|
I use Visual C++ to program.
Can I delete one character in one file without use a tempFile? And How?
For example,
- my file contains: "Life is so short";
- the file pointer is at the beginning of file
- after I open file for reading & writing, the file contains "ife s o hort";
thanks
do not understand everything
|
|
|
|
|
six_billion wrote:
Can I delete one character in one file without use a tempFile? And How?
Yes. In summary:
Open file for reading
Read entire file into buffer
Close file
Locate and delete character from buffer
Open file for writing
Write buffer to file
Close file
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
well, you open the file, read the data, close the file, modify the data and write back the data into it.
you can't directly modify a file. ( afaik ).
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
Maximilien wrote:
you can't directly modify a file. ( afaik ).
Well you can using a memory mapped file, but this is a bit of trickery.;)
Neville Franks, Author of ED for Windows www.getsoft.com and Surfulater www.surfulater.com "Save what you Surf"
|
|
|
|
|
Is there any sample on printing a windows forms. (Visual C++ .net 2003)
|
|
|
|
|
Is there any class that lets to find text in *.txt file?
for example, I have txt file that contains:
book.txt:
<br />
<br />
Something in the way she moves<br />
Attracts me like no other lover<br />
Something in the way she woos me<br />
<br />
I don't want to leave her now<br />
You know I believe her now<br />
<br />
Somewhere in her smile she knows<br />
That I don't need no other lover<br />
Something in her style that shows me<br />
<br />
Don't want to leave her now<br />
You know I believe her now<br />
<br />
You're asking me will my love grow<br />
I don't know, I don't know<br />
You stick around now it may show<br />
I don't know, I don't know<br />
<br />
Something in the way she knows<br />
And all I have to do is think of her<br />
Something in the things she shows me<br />
<br />
Don't want to leave her now<br />
You know I believe her now<br />
<br />
And there are a lot of similar files. I want to search, for example for text "in her style that". As result I want to retrive filename.
Thanks in advance.
"Strawberry fields forever"
|
|
|
|
|
|
Aha, I just have found one http://www.codeproject.com/file/CFileFinderEx/FindFiles.zip
Thaks, I'm tryiing now. If I face to problem, I'll post immidiatly.
Thanks, ravi !
|
|
|
|
|
Hi:
I have this code:
Into DoDataExchange
DDX_Control(pDX, IDC_DATETIMEPICKER, m_date);
Into own function:
void CDialogSd::OnOK()
{
CDialog::OnOK();
CTime time;
m_date.GetTime(time);
day.Format("%d",time.GetDay());
month.Format("%d",time.GetMonth());
year.Format("%d",time.GetYear());
}
It works fine when compiling in Release Mode, but find an exception when running in Debug Mode and it breaks at:
_AFX_INLINE int CTime::GetDay() const
{ return GetLocalTm(NULL)->tm_mday; }
Looking for the 'time' value it appears as 1108057231 (%ld value)in Release and
-365867584 when debugging.
What could be the problem?
Thanks
|
|
|
|
|
Try moving CDialog::OnOK() to the end of your OnOK routine...
void CDialogSd::OnOK()
{
CTime time;
m_date.GetTime(time);
day.Format("%d",time.GetDay());
month.Format("%d",time.GetMonth());
year.Format("%d",time.GetYear());
CDialog::OnOK();
}
Steve
|
|
|
|
|
|
I assume that you have already set your CDateTimeCtrl with a value in your dialog using the SetTime method. I use virtually the same sequence in a filtering dialog and it works perfectly.
Steve
|
|
|
|
|
No, the value in the dialog appears automatically(actual date), so I thought it was not needed to init with a value. How do you do it?
|
|
|
|
|
Is it possible that your control is a 'time only' control (check the dialog properties Styles/Format)? According to the docs, you will get an assert trying to access the date members in debug mode. Otherwise you need to set the style in the Create function.
Steve
|
|
|
|
|
No, I have it setted as 'short date' style. Can you give me an example code as you have initialized it?
Thanks
|
|
|
|
|
in the View Class:
...
CDateTimeDlg dlg;
CTime timeNewDateTime;
dlg.m_DateTime = CTime::GetCurrentTime();
if(dlg.DoModal() == IDOK)
timeNewDateTime = dlg.m_DateTime;
======================
in the CDateTimeDlg class:
in the .h file:
...
public:
CDateTimeDlg(CWnd *pParent = NULL);
CTime m_DateTime;
enum { IDD = IDD_DATETIME_DLG };
CDateTimeCtrl m_cDateTime;
in the .cpp file:
...
void CDateTimeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_DATETIME, m_cDateTime);
}
BEGIN_MESSAGE_MAP(CDateTimeDlg, CDialog)
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DATETIME, OnDatetimechangeDateTime)
END_MESSAGE_MAP()
...
BOOL CDateTimeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_cDateTime.SetFormat("MM/dd/yyyy HH:mm:ss");
m_cDateTime.SetTime(&m_DateTime);
return TRUE;
}
void CDateTimeDlg::OnDatetimechangeDateTime(NMHDR *pNMHDR, LRESULT *pResult)
{
m_cDateTime.GetTime(m_DateTime);
*pResult = 0;
}
Steve
|
|
|
|
|
Thank you, very much.
I'll try it.
|
|
|
|
|
It works fine in debug mode, also.
Thanks!!!!
|
|
|
|
|
Happy to have helped you solve your problem.
Steve
|
|
|
|
|
Is there an easy way to access controls fron another applications dialog? I need the ability to pick up data from an application that runs concurrently with my app, however I'm not the author of the other application. I'd like to be able to find the control field ID's and pickup what the user keyed, and dump that data into my application to save key strokes (ie. Name, Address, City, State, Zip).
|
|
|
|
|
The best thing to do would be to write a hook DLL and inject it into that applications address space for hooking the messages if you want to save keystokes and such like that. I wouldn't suggest doing this though unless you are very experienced. Another alternative is to use FindWindow() to find the dialog, then use GetWindow() with the GW_CHILD option until you find the specific control. Once you find that control, call SendMessage() on that HWND and send the WM_GETTEXTLENGTH and WM_GETTEXT messages to get the window text from it.
-- Rocky Dean Pulley
|
|
|
|