Новости



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

fox00020.gif

В следующем примере открывается для редактирования заданный параметром файл, в нем удаляется символ, и сеанс редактирования трижды закрывается. В первый раз вызывается программа _EdCloseFile( ) с опцией немедленного сохранения, во вто ой раз fox90001.gif с опцией сохранения через диалоговое окно и в третий раз fox90001.gif с опцией диалогового окна Save As. Каждый раз на экран выводится значение, возвращаемое программой _EdCloseFile( ).

Код Visual FoxPro

SET LIBRARY TO EDCLOSE

= EDCLOSE("x")

Код C

#include <pro_ext.h>

void putLong(long n)

{

Value val;

val.ev_type = 'I';

val.ev_long = n;

val.ev_width = 5;

_PutValue(&val);

}

FAR Example(ParamBlk FAR *parm)

{

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

WHANDLE wh;

int retValue;

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

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

{

_Error(182); // "Insufficient memory"

}

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

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

// Open, delete a character, close "save without asking"

wh = _EdOpenFile(pFILENAME, FO_READWRITE);

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

_EdSelect(wh, 0, 1);

_EdDelete(wh);

retValue = _EdCloseFile(wh, 0); // save without asking

_PutStr("\n_EdCloseFile() ="); putLong(retValue);

// Open, delete a character, close "save with asking"

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

wh = _EdOpenFile(pFILENAME, FO_READWRITE);

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

_EdSelect(wh, 0, 1);

_EdDelete(wh);

retValue = _EdCloseFile(wh, 1); // save with asking

_PutStr("\n_EdCloseFile() ="); putLong(retValue);

// Open, delete a character, close "save as"

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

wh = _EdOpenFile(pFILENAME, FO_READWRITE);

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

_EdSelect(wh, 0, 1);

_EdDelete(wh);

retValue = _EdCloseFile(wh, 2); // save as

_PutStr("\n_EdCloseFile() ="); putLong(retValue);

}

FoxInfo myFoxInfo[] = {

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