powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ассемблер + VFP
9 сообщений из 9, страница 1 из 1
Ассемблер + VFP
    #34106763
MAJIbIIII
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь подскажите пожалуйста как можно добавить ассемблерные функции (код ассемблера) в Visual FoxPro???
Иными словами скрестить эти два языка:
- максимальная скорость Ассемблера;
- легкость, гибкость VFP.
Заранее благодарю за любую помощь.
...
Рейтинг: 0 / 0
Ассемблер + VFP
    #34106867
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VFP - интерпретатор и встроенного компилятора ASMa нет.
Вот здесь написано как fll на С++ делать, туда же можно и ASM вставлять.
Еще можно COM-объекты юзать из фокса.
...
Рейтинг: 0 / 0
Ассемблер + VFP
    #34106875
Фотография ГенГрум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишишь Dll и юзаешь.
...
Рейтинг: 0 / 0
Ассемблер + VFP
    #34107041
ORAselect
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АС в Фоксе не нужен. Ведь СУБД скорость получает в другом месте. Потратьте время на изучение стандартный ф-ций и будет быстрее. Я проходил это на себе лет 15 назад. А если СУБД не устраивает - идите на ORACLE. Но и там свои прибамбасы.

Фокс самодостаточет. И, в 1 случае из 10000 можно писать библиотеку на С. А можно и обойтись.
...
Рейтинг: 0 / 0
Ассемблер + VFP
    #34107368
Игорь2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В FoxPro DOS это было возможно, писать библиотеку на чистом Assembler для FoxPro,
в Library Construction Kit (LCK) был файл pro_ext.inc, аналог файла заголовков pro_ext.h для языка C, в пакете LCK были также примеры. Уже тогда усилия потребные для написания библиотеки на Assembler были в несколько раз больше чем для написания на C, время же работы было примерно одинаковым.
В Visual FoxPro нет ни аналога файла заголовков для Assembler, ни примеров, в документации Visual FoxPro нет вообще упоминания об языке Assembler.
Вероятно, чисто теоретически, это возможно, писать библиотеки на чистом Assembler для Visual FoxPro, но, скорее всего для этого потребуются усилия специалистов Microsoft. Вы можете вставлять код на Assembler в вашу библиотеку на C, большинство компиляторов C это поддерживают.

P.S .
Прикреплен файл, исходный текст библиотеки на Assembler и сама библиотека для FoxPro 2.6 DOS, которая проверяет наличие дискеты в дисководе и ее читаемость. Вызов
Код: plaintext
1.
2.
3.
4.
Set Library To Floppy
? Floppy()  &&  возвращает .T. если дискета есть в дисководе (если параметр не передан то предполагается дисковод [A]) и дискета читается
? Floppy([A])  &&  возвращает .T. если дискета есть в дисководе [A] и дискета читается 
? Floppy([B]) &&  возвращает .T. если дискета есть в дисководе [B] и дискета читается
Release Library  Floppy
...
Рейтинг: 0 / 0
Ассемблер + VFP
    #34107386
Игорь2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот файл asm.zip
...
Рейтинг: 0 / 0
Ассемблер + VFP
    #34107850
MSDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как собрать библиотеку , можно посмотреть в MSDN, по ключевому слову FLL.
Использование ASM ( только для примера, никакого либо толка от него нет )
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
void AsmTest(ParamBlk FAR *parm)
{
	_asm
	{
		mov ax, 0 
		mov bx, 2 
	}
}

 FoxInfo myFoxInfo[] = {  
{"_AsmTest"	             ,(FPFI)  AsmTest			 , 2 , "RR" }, 
 }; 

 extern "C"  
  {  
  FoxTable _FoxTable = {  
  (FoxTable  *)  0 , sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo  
  };  
  }

Только этой возможностью нужно пользоваться краней осторожно. ОС никогда не пустит Вас на 0 и 1 уровень кольца защиты и всегда будет выбрасывать эксепшен. Или систему завалите.
Удачи.
...
Рейтинг: 0 / 0
Ассемблер + VFP
    #34110249
MAJIbIIII
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК. Тогда как именно можно правильно подключить (или где именно прописать) DLL к своей программе, при условии что моя прога постоянно путешествует:

main.prg
|
+-Form(папка)
| |
| +-first_form.prg
| |
| +-second_form.prg
|
+-Obrabotka(папка)
| |
| +-KeyPress
| |
| +-Click
| |
| +-...
|
+-...
Содержание файла main.prg
Do Form\first_form.prg

read events

define class Button_ as button
procedure click
do obrabotka\Click.prg
endproc
enddefine

Содержание файла first_form.prg
Do Form\second_form.prg

Содержание файла second_form.prg
quit
...
Рейтинг: 0 / 0
Ассемблер + VFP
    #34110551
MSDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MAJIbIIII, Вы разницу кода между С++ и VFP понимаете ? Цвета различаете ? Читать уметет ? Цифры знаете ? Так какого хрена Вы порете тут откровенную чушь ?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ассемблер + VFP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]