Sites of the week

ads ads ads ads

Delphi: переводирование KOI8-R в WINDOWS-1251 и обратно.

Posted by admin | Delphi, Кодировки | Вторник 11 Март 2008 15:14

Ниже приведены листинг функци для перекодирования текста из кодировки KOI8-R в кодировку WINDOWS-1251 и листиг функции для перекодирования текста из кодировки WINDOWS-1251 в кодировку KOI8-R.

type
TConvertChars = array [#128..#255] of char;
 
const
Win_KoiChars: TConvertChars = (
#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#060,#139,#140,#141,#142,#143,
#144,#145,#146,#147,#148,#169,#150,#151,#152,#153,#154,#062,#176,#157,#183,#159,
#160,#246,#247,#074,#164,#231,#166,#167,#179,#169,#180,#060,#172,#173,#174,#183,
#156,#177,#073,#105,#199,#181,#182,#158,#163,#191,#164,#062,#106,#189,#190,#167,
#225,#226,#247,#231,#228,#229,#246,#250,#233,#234,#235,#236,#237,#238,#239,#240,
#242,#243,#244,#245,#230,#232,#227,#254,#251,#253,#154,#249,#248,#252,#224,#241,
#193,#194,#215,#199,#196,#197,#214,#218,#201,#202,#203,#204,#205,#206,#207,#208,
#210,#211,#212,#213,#198,#200,#195,#222,#219,#221,#223,#217,#216,#220,#192,#209);
 
Koi_WinChars: TConvertChars = (
#128,#129,#130,#131,#132,#133,#134,#135,#136,#137,#138,#139,#140,#141,#142,#143,
#144,#145,#146,#147,#148,#149,#150,#151,#152,#153,#218,#155,#176,#157,#183,#159,
#160,#161,#162,#184,#186,#165,#166,#191,#168,#169,#170,#171,#172,#173,#174,#175,
#156,#177,#178,#168,#170,#181,#182,#175,#184,#185,#186,#187,#188,#189,#190,#185,
#254,#224,#225,#246,#228,#229,#244,#227,#245,#232,#233,#234,#235,#236,#237,#238,
#239,#255,#240,#241,#242,#243,#230,#226,#252,#251,#231,#248,#253,#249,#247,#250,
#222,#192,#193,#214,#196,#197,#212,#195,#213,#200,#201,#202,#203,#204,#205,#206,
#207,#223,#208,#209,#210,#211,#198,#194,#220,#219,#199,#216,#221,#217,#215,#218);
 
function Win_KoiConvert(const St: string): string;
var
i: integer;
begin
Result:=St;
for i:=1 to Length(St) do
if St[i]>#127 then
Result[i]:=Win_KoiChars[St[i]];
end;
 
function Koi_WinConvert(const St: string): string;
var
i: integer;
begin
Result:=St;
for i:=1 to Length(St) do
if St[i]>#127 then
Result[i]:=Koi_WinChars[St[i]];
end;

Delphi: IWebBrowser - делаем запрос POST

Posted by admin | ActiveX, IWebBrowser, Internet | Вторник 11 Март 2008 14:59

Пример отправки POST-запроса с помощью компонента IWebBrowser.

 
 
procedure TForm1.PostWithWebBrowser(PostString: string; URL: OleVariant);
var
Data: Pointer;
PostData: OleVariant;
Flags, TargetFrame, Headers: OleVariant;
begin
PostData := VarArrayCreate([0, Length(PostString) - 1], varByte);
Data := VarArrayLock(PostData);
try
Move(PostString[1], Data^, Length(PostString));
finally
VarArrayUnlock(PostData);
end;
Flags := EmptyParam;
TargetFrameName := EmptyParam;
Headers := EmptyParam;
WebBrowser1.Navigate2(URL, Flags, TargetFrame, PostData, Headers);
end;

Delphi: Как узнать свой IP

Posted by admin | Delphi, Internet, Локальная сеть | Вторник 11 Март 2008 11:32

В Uses прописываем модуль WinSock

 
function GetLocalIP:string;
var
WSVer:integer;
wsaData: TWSAData;
P: PHostEnt;
Buf: array [0..127] of Char;
begin
WSVer:=$101;
if WSAStartup(WSVer, wsaData) = 0 then
begin
if GetHostName(@Buf, 128) = 0 then
begin
P := GetHostByName(@Buf);
if P <> nil then
result:=iNet_ntoa(PInAddr(p^.h_addr_list^)^);
end;
WSACleanup;
end;
end;

Apache 2: Исправляем ошибку 413 Request entity too large

Posted by admin | Apache, Unix | Четверг 6 Март 2008 12:49

Решение ищется просто:

 
Server:#cd /etc/apache2
Server:/etc/apache2# cat apache2.conf |grep Limit
SecRequestBodyLimit 131072
SecRequestBodyInMemoryLimit 131072
SecResponseBodyLimit 524288
Server:/etc/apache2#

Нас интерсует как раз SecRequestBodyLimit, открываем конфигурационный файл Apache2

 
server:/etc/apache2# nano apache2.conf

Выставляем свое значение для SecRequestBodyLimit , к примеру, на класс выше:

 
SecRequestBodyLimit 1310720

Сохраняем файл, перезагружаем Apache2:

 
server:/etc/apache2# /etc/init.d/apache2 restart

Все.

Страница 1 из 11