Converting Strings
When you use the string interface, all values passed with the command and all
return values are text strings, so your application needs conversion routines
to translate from variables to strings or back again. The following example
retrieves the source rectangle and converts the returned string into rectangle
coordinates.
- oid GetSourceRect(LPSTR lpstrAlias, LPRECT lprc)
{
char achRetBuff[128];
char achCommandBuff[128];
// Build the command string.
wsprintf(achCommandBuff, "where %s source", lpstrAlias);
SetRectEmpty(lprc); // clears the RECT
// Send the command.
if (mciSendString(achCommandBuff, achRetBuff,
sizeof(achRetBuff), NULL) == 0){
// The rectangle is returned as "x y dx dy".
// Both x and y are 0 because this is the source
// rectangle. Translate the string into the RECT
// structure.
char *p;
p = achRetBuff; // point to the return string
while (*p != ' ') p++; // go past the x (0)
while (*p == ' ') p++; // go past spaces
while (*p != ' ') p++; // go past the y (0)
while (*p == ' ') p++; // go past spaces
// Retrieve the width.
for ( ; *p != ' '; p++)
lprc->right = (10 * lprc->right) + (*p - '0');
while (*p == ' ') p++; // go past spaces
// Retrieve the height.
for ( ; *p != ' '; p++)
lprc->bottom = (10 * lprc->bottom) + (*p - '0');
}
}
Note RECT structures are handled differently in MCI than in other parts of Windows; in
MCI, the
right member contains the width of the rectangle and the
bottom member contains its height. In the string interface, a rectangle is specified
as
X1,
Y1,
X2, and
Y2. The coordinates
X1 and
Y1 specify the upper-left corner of the rectangle, and the coordinates
X2 and
Y2 specify the width and height.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database