Новости



Visual FoxPro 9 позволяет создавать ещё более производительные приложения баз данных.
Двадцатиление FoxPro! Microsoft принимает поздравления.
Visual FoxPro Toolkit for .NET - более 225 функций VFP 7.0, для языков .NET (подробнее)

fox00020.gif

В следующем примере с помощью программы _MemMove( ) реализуется функция выделе ия подстроки. В Visual FoxPro функция MEMMOVE(s, n1, n2) возвращает подстроку строки s, начинающуюся с позиции n1 и кончающуюся позицией n2.

Код Visual FoxPro

SET LIBRARY TO MEMMOVE

? MEMMOVE("Hello, world.", 8, 10) && returns "wor"

Код C

#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)

{

int SubstrLen;

MHANDLE bufferHandle;

char FAR *FirstDest;

SubstrLen = parm->p[2].val.ev_long - parm->p[1].val.ev_long + 1;

if ((bufferHandle = _AllocHand(SubstrLen + 1)) == 0)

{

_Error(182); // "Insufficient memory"

}

_HLock(bufferHandle);

_HLock(parm->p[0].val.ev_handle);

FirstDest = (char FAR *) _HandToPtr(parm->p[0].val.ev_handle) +

parm->p[1].val.ev_long - 1;

_MemMove(_HandToPtr(bufferHandle), FirstDest, SubstrLen);

((char FAR *) _HandToPtr(bufferHandle))[SubstrLen] = '\0';

_RetChar(_HandToPtr(bufferHandle));

_HUnLock(bufferHandle);

_HUnLock(parm->p[0].val.ev_handle);

}

FoxInfo myFoxInfo[] = {

{"MEMMOVE", (FPFI) Example, 3, "C,I,I"},

};

FoxTable _FoxTable = {

(FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo

};



Новое на сайте

  • Обновлен портфель программиста

    Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский)
  • Новые примеры программ

    Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2)
  • Обновленна справка

    Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.