Новости



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

fox00020.gif

В следующем примере открывается сеанс редактирования для файла, заданного па аметром, и с помощью программы _EdGetLinePos( ) вычисляется смещение EDPOS для строки 12. Затем вызывается программа _EdGetLineNum( ) для полученного смещения EDPOS, которая возвращает 12. После этого значению EDPOS даются приращения, и каждый раз вызывается _EdGetLineNum( ), пока не будет возвращен другой номер ст оки EDLINE. В этот момент вызывается программа _EdGetLinePos( ) для строки 13.

Код Visual FoxPro

SET LIBRARY TO EDGETLPO

= EDGETLPOS("x")

Код C

#include <pro_ext.h>

void putLong(unsigned long n)

{

Value val;

val.ev_type = 'I';

val.ev_long = n;

val.ev_width = 6;

_PutValue(&val);

}

FAR Example(ParamBlk FAR *parm)

{

#define pFILENAME ((char FAR *) _HandToPtr(parm->p[0].val.ev_handle))

WHANDLE wh;

EDENV EdEnv;

EDPOS edpos;

EDLINE edlin, original;

if (!_SetHandSize(parm->p[0].val.ev_handle,

parm->p[0].val.ev_length+1))

{

_Error(182); // "Insufficient memory"

}

pFILENAME[parm->p[0].val.ev_length] = '\0';

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

wh = _EdOpenFile(pFILENAME, FO_READONLY);

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

edpos = _EdGetLinePos(wh, 12);

_PutStr("\n_EdGetLinePos(wh, 12) =");

putLong(edpos);

original = edlin = _EdGetLineNum(wh, edpos);

for (;;)

{

_PutStr("\n_EdGetLineNum(wh,");

putLong(edpos);

_PutStr(") = ");

putLong(edlin);

if (edlin != original)

{

break;

}

edpos++;

edlin = _EdGetLineNum(wh, edpos);

}

edpos = _EdGetLinePos(wh, 13);

_PutStr("\n_EdGetLinePos(wh, 13) ="); putLong(edpos);

}

FoxInfo myFoxInfo[] = {

{"EDGETLPOS", (FPFI) Example, 1, "C"},

};

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. Команды, функции, операторы, объекты, свойства, события и методы.