Escape
кто нибудь работал с фунцией Escape примерчик использования бы.
MSDN'a
Creating a Printer Device Context
An application can create a printer DC in one of two ways:
By calling the PrintDlg function to display a common dialog box that allows the user to specify printer options, then creating a printer DC by using those options.
By creating a printer DC by using the default printer data from the Win.ini file.
This section contains code demonstrating the latter method.
To use the default printer, retrieve and parse the appropriate string from the Win.ini file. This string is retrieved by calling the GetProfileString function and specifying the appropriate section and entry names. In the case of the default printer, this data is stored in the [windows] section and identified by the entry named device. The seventh line in the following excerpt from a Win.ini file shows an entry for a Kodak Diconix printer.
[windows]
load=
run=
Beep=yes
Spooler=yes
NullPort=None
device=Diconix,winspool,LPT1:
CoolSwitch=1
BorderWidth=3
KeyboardSpeed=31
InitialKeyboardIndicators=2
CursorBlinkRate=530
DoubleClickSpeed=686
Programs=com exe bat pif cmd
Documents=
DeviceNotSelectedTimeout=15
TransmissionRetryTimeout=45
swapdisk=
NetWarn=1
fPromptOnVerbose=FALSE
fPromptOnWarning=FALSE
fPromptOnError=TRUE
fPrintVerbose=FALSE
fPrintFileLine=FALSE
shell=
ScreenSaveTimeOut=300
ScreenSaveActive=0
DebugOptions=2048
The following example shows how a printer DC was created by using the data from Win.ini.
Из
Цитата:
Creating a Printer Device Context
An application can create a printer DC in one of two ways:
By calling the PrintDlg function to display a common dialog box that allows the user to specify printer options, then creating a printer DC by using those options.
By creating a printer DC by using the default printer data from the Win.ini file.
This section contains code demonstrating the latter method.
To use the default printer, retrieve and parse the appropriate string from the Win.ini file. This string is retrieved by calling the GetProfileString function and specifying the appropriate section and entry names. In the case of the default printer, this data is stored in the [windows] section and identified by the entry named device. The seventh line in the following excerpt from a Win.ini file shows an entry for a Kodak Diconix printer.
[windows]
load=
run=
Beep=yes
Spooler=yes
NullPort=None
device=Diconix,winspool,LPT1:
CoolSwitch=1
BorderWidth=3
KeyboardSpeed=31
InitialKeyboardIndicators=2
CursorBlinkRate=530
DoubleClickSpeed=686
Programs=com exe bat pif cmd
Documents=
DeviceNotSelectedTimeout=15
TransmissionRetryTimeout=45
swapdisk=
NetWarn=1
fPromptOnVerbose=FALSE
fPromptOnWarning=FALSE
fPromptOnError=TRUE
fPrintVerbose=FALSE
fPrintFileLine=FALSE
shell=
ScreenSaveTimeOut=300
ScreenSaveActive=0
DebugOptions=2048
The following example shows how a printer DC was created by using the data from Win.ini.
Код:
HDC hdcPrint; // printer DC handle
char szDevString[120]; // array for WIN.INI data
char *szPrinter, *szDriver; // printer and driver names
char *szPort; // port name
// Retrieve the printer, printer driver, and
// output-port names from WIN.INI.
GetProfileString("windows", "device", ",,,",
szDevString, 120);
// Parse the string of names, setting ptrs as required
// If the string contains the required names, use them to
// create a device context.
if ((szPrinter = strtok(szDevString,
(const char *) ","))
&& (szDriver = strtok ((char *) NULL,
(const char *) ", "))
&& (szPort = strtok ((char *) NULL,
(const char *) ", ")))
{
hdcPrint = CreateDC(szDriver, szPrinter,
szPort, NULL);
}
// Print a test page that contains the string
// "PRINTER TEST" in the upper left corner.
Escape(hdcPrint, STARTDOC, 8, "Test-Doc", NULL);
TextOut(hdcPrint, 50, 50, "PRINTER TEST", 12);
Escape(hdcPrint, NEWFRAME, 0, NULL, NULL);
Escape(hdcPrint, ENDDOC, 0, NULL, NULL);
// Delete the printer DC.
DeleteDC(hdcPrint);
char szDevString[120]; // array for WIN.INI data
char *szPrinter, *szDriver; // printer and driver names
char *szPort; // port name
// Retrieve the printer, printer driver, and
// output-port names from WIN.INI.
GetProfileString("windows", "device", ",,,",
szDevString, 120);
// Parse the string of names, setting ptrs as required
// If the string contains the required names, use them to
// create a device context.
if ((szPrinter = strtok(szDevString,
(const char *) ","))
&& (szDriver = strtok ((char *) NULL,
(const char *) ", "))
&& (szPort = strtok ((char *) NULL,
(const char *) ", ")))
{
hdcPrint = CreateDC(szDriver, szPrinter,
szPort, NULL);
}
// Print a test page that contains the string
// "PRINTER TEST" in the upper left corner.
Escape(hdcPrint, STARTDOC, 8, "Test-Doc", NULL);
TextOut(hdcPrint, 50, 50, "PRINTER TEST", 12);
Escape(hdcPrint, NEWFRAME, 0, NULL, NULL);
Escape(hdcPrint, ENDDOC, 0, NULL, NULL);
// Delete the printer DC.
DeleteDC(hdcPrint);
у меня есть строка
String h="www.........."
как мне получить String t = Escape(h)
Сначала объясни что ты хочешь сделать.
String S = XMLDocument1->XML->Text;
String t = Escape(S);
XMLDocument1->XML->Clear();
XMLDocument1->XML->Add(t);
а потом я его в стрим и на сервак. на сервак епроверили всё приходит тока файл не зашифрованный
А что должна Escape делать вообще ?
УРЛ ПЕРЕВОДИТЬ ИЗ ОТКРЫТОКО ТЕКСТА В %%%dF+......КОТОРЫЙ МОЖА БЕЗОПАСНОВ БРАУЗЕРЕ ПЕРЕДОВАТЬ.
Код:
#include <shlwapi.h>
Код:
AnsiString Url = "H e l lo_W o r l d!";
char buf[INTERNET_MAX_URL_LENGTH];
DWORD szbuf=512;
UrlEscape(Url.c_str(),buf,&szbuf,URL_ESCAPE_SEGMENT_ONLY | URL_ESCAPE_PERCENT);
ShowMessage(buf);
char buf[INTERNET_MAX_URL_LENGTH];
DWORD szbuf=512;
UrlEscape(Url.c_str(),buf,&szbuf,URL_ESCAPE_SEGMENT_ONLY | URL_ESCAPE_PERCENT);
ShowMessage(buf);
В принципе можешь сделать эту функцию сам.
Код:
for(int i=1; i <= Edit2->Text.Length();i++)
Edit3->Text =Edit3->Text + "%" + IntToHex((byte)Edit2->Text,1);
Edit3->Text =Edit3->Text + "%" + IntToHex((byte)Edit2->Text,1);