Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 708

•  TDictionary Custom Sort  6 703

•  Fast Watermark Sources  6 483

•  3D Designer  9 421

•  Sik Screen Capture  6 818

•  Patch Maker  7 257

•  Айболит (remote control)  7 219

•  ListBox Drag & Drop  6 067

•  Доска для игры Реверси  97 748

•  Графические эффекты  7 390

•  Рисование по маске  6 691

•  Перетаскивание изображений  5 543

•  Canvas Drawing  5 930

•  Рисование Луны  5 693

•  Поворот изображения  5 163

•  Рисование стержней  3 762

•  Paint on Shape  2 951

•  Генератор кроссвордов  3 877

•  Головоломка Paletto  3 089

•  Теорема Монжа об окружностях  3 905

•  Пазл Numbrix  2 565

•  Заборы и коммивояжеры  3 347

•  Игра HIP  2 296

•  Игра Go (Го)  2 197

•  Симулятор лифта  2 605

•  Программа укладки плитки  2 200

•  Генератор лабиринта  2 709

•  Проверка числового ввода  2 351

•  HEX View  2 688

•  Физический маятник  2 358

 
скрыть

Конвертация String в PWideChar



Автор: Gua

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Конвертация String в PWideChar

Зависимости: ???
Автор:       Gua, gua@ukr.net, ICQ:141585495, Simferopol
Copyright:   Andre .v.d. Merwe
Дата:        18 июля 2002 г.
***************************************************** }

function StringToPWide(sStr: string; var iNewSize: integer): PWideChar;
var
  pw: PWideChar;
  iSize: integer;
begin
  iSize := Length(sStr) + 1;
  iNewSize := iSize * 2;

  pw := AllocMem(iNewSize);

  MultiByteToWideChar(CP_ACP, 0, PChar(sStr), iSize, pw, iNewSize);

  Result := pw;
end;

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
var
  iSize: integer;
begin
  ChangeWallpaper(StringToPWide('C:\1.jpg', iSize));
end;
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Конвертация PWideChar в String

Зависимости: ???
Автор:       Gua, gua@ukr.net, ICQ:141585495, Simferopol
Copyright:   Andre .v.d. Merwe
Дата:        18 июля 2002 г.
***************************************************** }

function PWideToString(pw: PWideChar): string;
var
  p: PChar;
  iLen: integer;
begin
  iLen := lstrlenw(pw) + 1;
  GetMem(p, iLen);

  WideCharToMultiByte(CP_ACP, 0, pw, iLen, p, iLen * 2, nil, nil);

  Result := p;
  FreeMem(p, iLen);
end;