Новости



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

fox00020.gif

В следующем примере открывается для редактирования заданный параметром файл, отображается каждое поле структуры EDENV этого файла, полученной с помощью прог аммы _EdGetEnv( ).

Код Visual FoxPro

SET LIBRARY TO EDGETENV

= EDGETENV("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;

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);

_EdGetEnv(wh, &EdEnv);

_PutStr("\nfilename: "); _PutStr(EdEnv.filename);

_PutStr("\nlength: "); putLong(EdEnv.length);

_PutStr("\nlenLimit: "); putLong(EdEnv.lenLimit);

_PutStr("\ndirty: "); putLong(EdEnv.dirty);

_PutStr("\nautoIndent: "); putLong(EdEnv.autoIndent);

_PutStr("\nbackup: "); putLong(EdEnv.backup);

_PutStr("\naddLineFeeds: "); putLong(EdEnv.addLineFeeds);

_PutStr("\nautoCompile: "); putLong(EdEnv.autoCompile);

_PutStr("\naddCtrlZ: "); putLong(EdEnv.addCtrlZ);

_PutStr("\nsavePrefs: "); putLong(EdEnv.savePrefs);

_PutStr("\ndragAndDrop: "); putLong(EdEnv.dragAndDrop);

_PutStr("\nreadOnly: "); putLong(EdEnv.readOnly);

_PutStr("\nstatus: "); putLong(EdEnv.status);

_PutStr("\nlockPrefs: "); putLong(EdEnv.lockPrefs);

_PutStr("\ninsertMode: "); putLong(EdEnv.insertMode);

_PutStr("\nwrap: "); putLong(EdEnv.wrap);

_PutStr("\nselStart: "); putLong(EdEnv.selStart);

_PutStr("\nselEnd: "); putLong(EdEnv.selEnd);

_PutStr("\nselAnchor: "); putLong(EdEnv.selAnchor);

_PutStr("\njustMode: "); putLong(EdEnv.justMode);

_PutStr("\ntabWidth: "); putLong(EdEnv.tabWidth);

_PutStr("\nfontName: "); _PutStr(EdEnv.fontName);

_PutStr("\nfontSize: "); putLong(EdEnv.fontSize);

_PutStr("\nfontStyle: "); putLong(EdEnv.fontStyle);

_PutStr("\nkind: "); putLong(EdEnv.kind);

}

FoxInfo myFoxInfo[] = {

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