Deutsch

Воспоминания лисица, 09.05.2024

3727  1 2 все
uscheswoi_82 коренной житель09.05.24 23:17
uscheswoi_82
NEW 09.05.24 23:17 

Всем привет!

Сегодня хотел бы вспомнить про FoxPro, лого у FoxPro лисица, ведь fox с английского переводится как лисица. Моя сeстра когда жила в Алматы, программировала на работе на Clipper и FoxPro под DOS. Перед отъездом в Германию я изучал Microsoft Visual FoxPro 5.0. И сегодня пойдёт речь об более современной версии - Microsoft Visual FoxPro 7.0 Professional Edition. К сожалению у меня upgrade версия, но у меня есть лицензионный Visual Studio 6.0 Enterprise Edition, поэтому Microsoft Visual FoxPro 7.0 без проблем установилась Короче в Казахстане на выставке давали специальные диски, где расхваливаливали во всю Microsoft Visual FoxPro 6.0. Короче инструмент Microsoft Visual FoxPro давал возможность быстро разработать программное обеспечение под Windows, которое заточено на хранение и поиск данных. Допустим для телекомуникационных компаний - база данных телефон и абонентов, в полиции учёт преступников и их преступлений, может быть в больнице картотека пациентов и их болезни, ещё где-нибудь.

Допустим с новым компьютером, который мне подарили родители в Алматы, была предустановленая демо-версия программы "Зарплата и Пенсионные отчисления",



При загрузки показывается стартовая заставка Microsoft Visual FoxPro 5.0, а потом запускается сама программа:



Вот так выглядет лицензионная коробка Microsoft Visual FoxPro 7.0 Professional, но Update, справа диск с программой Visual Studio 6.0 Enterprise Edition, благодаря ей Microsoft Visual FoxPro 7.0 смогла установиться на мой компьютер:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#1 
uscheswoi_82 коренной житель09.05.24 23:38
uscheswoi_82
09.05.24 23:38 
в ответ uscheswoi_82 09.05.24 23:17

Итак, в Microsoft Visual FoxPro 7.0 на CD входит сама система разработки ПО, создания помощи в формате CHM, урезаный установщик Install Shield только для Visual FoxPro, а так-же документация MSDN 2000 на 3х CD-ROMах. Единственное что я не нашёл на диски это программа, спомощью которой можно создавать пиктограммы или иконки для Visual FoxPro приложения.

Я всё забыл про Visual FoxPro, но недавно я гуглил и гуглил. Я узнал из интернета (гугла), что чтобы распространять или продавать созданое ПО, нужно компилировать программу в формате APP, а потом в установщик подключать откомпилированный в формате APP, и исполняемые файлы (VFP7.EXE, VFP7DEU.DLL, итд.). Ещё я понял, что желательно когда распространяешь ПО, создавать папку не в Program Files, а в какую-нибудь свою папку, допустим если ПО для милиции/полици то лучше создать папку POLICE на диске C:\.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#2 
uscheswoi_82 коренной житель09.05.24 23:52
uscheswoi_82
NEW 09.05.24 23:52 
в ответ uscheswoi_82 09.05.24 23:38

Чтобы клиент, которому ПО было продано мог запускать ваше приложение, нужно запустить следующую команду примерно вот так:

vfp7.exe -T myproj.app


Чтобы записать информацию из текстовых полей в таблицу, нужно выполнить следующее, есть допустим таблица CDS, и там есть следующие поля cd_id, description, и year:

IF !USED("cds") THEN
  USE cds IN 0
ENDIF
SELECT cds
APPEND BLANK 
REPLACE cd_id WITH thisform.txtCd_id.Value IN cds
REPLACE description WITH thisform.txtDescription.Value IN cds
REPLACE year WITH thisform.txtyear.Value IN cds


А чтобы перемещаться по записям:

Назад:

IF NOT BOF()
  SKIP -1
  thisform.Refresh()
ENDIF


Вперёд:

IF NOT EOF()
  SKIP 1
  thisform.Refresh()
ENDIF
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#3 
uscheswoi_82 коренной житель19.05.24 01:32
uscheswoi_82
NEW 19.05.24 01:32 
в ответ uscheswoi_82 09.05.24 23:52

Вот что у меня получилось, простая база данных преступников для полиции, это программа спокойно запустилась в Windows 8.1, а среда разработки запускается и в Windows 2000, как настроение у меня появится, покажу как его делал:



Программу написанную в среде Microsoft Visual FoxPro 7 компилировал в app, а запускаю я программу вот так:

vfp7.exe -T police.app

Кстати со средой Microsoft Visual FoxPro 7 там были готовые иконки, иконку флага США я взял именно со среды.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#4 
uscheswoi_82 коренной житель22.05.24 03:16
uscheswoi_82
NEW 22.05.24 03:16 
в ответ uscheswoi_82 19.05.24 01:32

Всё приходится вспоминать, т.к. давно не программировал в Microsoft Visual FoxPro. Типа у нас программа база данных для полиции:

Есть таблица taeter (т.е. преступники) см.:



А вот так выглядет форма frmtaeter.scx:



Вот код frmtaeter.scx:

событие cmdSpeichern:

IF !USED("taeter") THEN 
  USE taeter IN 0
ENDIF
SELECT MAX(taeter_id)+1 AS newID FROM taeter INTO CURSOR temp
SELECT taeter
APPEND BLANK 
REPLACE taeter_id WITH temp.newID IN taeter
REPLACE vorname WITH thisform.txtVorname.Value IN taeter
REPLACE nachname WITH thisform.txtNachname.Value IN taeter
REPLACE gebdatum WITH thisform.txtGebDatum.Value IN taeter
REPLACE geschlecht WITH thisform.txtGeschlecht.Value IN taeter
REPLACE datum WITH thisform.txtDatum.Value IN taeter
thisform.Release()


Событие cmdAbbrechen:

Thisform.Release()


Пояснение, вроде бы в Microsoft Visual FoxPro нет авто увеличения счётчика для ключевого поле, как в Microsoft Access, поэтому делают так:

SELECT MAX(taeter_id)+1 AS newID FROM taeter INTO CURSOR temp
Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#5 
uscheswoi_82 коренной житель22.05.24 03:52
uscheswoi_82
NEW 22.05.24 03:52 
в ответ uscheswoi_82 22.05.24 03:16

Завтра возможно займусь календарём для моего приложения:


Когда подключу его в форму, будет выглядеть вот так:


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#6 
uscheswoi_82 коренной житель23.05.24 03:45
uscheswoi_82
NEW 23.05.24 03:45 
в ответ uscheswoi_82 22.05.24 03:52

Всем привет, продолжим разговор про Microsoft Visual FoxPro 7.0 Professional Edition:

Чтобы сменить заголовок главного окна и иконку, нужно написать следующее:

_screen.Caption = "Vasja Pupkin"
_screen.Icon = "C:\police\flgusa01.ico"


Вот:



Вуаля! А вот и результат, вместо заголовка окна "Microsoft Visual FoxPro" увидите "Vasja Pupkin", а вместо иконки лисы, вы увидите флаг США:



Чтобы отобразить меню, я пишу DO "C:\police\menü1.mpr", и в главном окне появляется кастомное меню:




Потом, оказывается форма выделенная жирным шрифтом, это стартовая форма, т.е. если откомпилировать наше приложение и превратить в формат APP, то запустится форма, которая выделена жирным шрифтом, я в ней и меняю заголовок окна, и иконку у главного окна, просто у формы есть событие Load:


Потом можно заполнить контактные данные приложения, скорей всего это контактные данные фирмы, которое разработало это ПО, вот я тоже всякую фигню заполнил, и иконку поставил флаг США:



Программировать на Microsoft Visual FoxPro 7.0 одно удовольствие, очень сильно приятно, успокаивают психику и нервы. Засчёт того что получается всё как надо, получаешь удовольствие. В мозг выстреливает дофамин и серетанин. Ощущения что я нахожусь под сильный кайфом.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#7 
uscheswoi_82 коренной житель23.05.24 04:42
uscheswoi_82
NEW 23.05.24 04:42 
в ответ uscheswoi_82 23.05.24 03:45

Итак, продолжу болтавню про программирование на Microsoft Visual FoxPro 7.0 Professional. Короче методом тыка, и у меня есть некий опыт работы со ставителями отчётов (Visual Basic 6.0, CrystalReport, Microsoft Access), я создал простенький отчёт, так выглядет в режиме редактирования :



Вуаля а вот и отчёты:



Вуаля! А вот и результат, короче я распечатал отчёты на виртуальном принтере Foxit Reader PDF Printer, который после печати сохраняет в формате PDF вот такой отчёт:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#8 
uscheswoi_82 коренной житель23.05.24 04:51
uscheswoi_82
NEW 23.05.24 04:51 
в ответ uscheswoi_82 23.05.24 04:42

Теперь давайте поговорим про кастомное меню. Короче как уже выше писал, посколько Visual FoxPro распространяется со средой разработки, то нужно загрузить кастомное меню, иначе пользователь при запуске VFP9.exe увидит стандартное FoxPro-шное меню. Я загружаю кастомное меню как выше писал при загрузки формы. Ещё я заметил что в Visual FoxPro, чтобы в кастомном меню закрыть Visual FoxPro, нужно написать всего лишь команду QUIT, см.:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#9 
uscheswoi_82 коренной житель26.05.24 05:05
uscheswoi_82
NEW 26.05.24 05:05 
в ответ uscheswoi_82 23.05.24 04:51

Всем привет! Продолжим, заниматься Microsoft Visual FoxPro 7. Короче чтобы буква пола т.е. Geschlecht в отчётах было большой т.е. M или W, я в свойствах указал Großbuchstaben, поэтому в отчётах стоит большие буквы M или W:


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#10 
uscheswoi_82 коренной житель26.05.24 05:17
uscheswoi_82
NEW 26.05.24 05:17 
в ответ uscheswoi_82 26.05.24 05:05

От программирование на Microsoft Visual FoxPro 7.0 получаешь одно удовольствие, среду быстро осваиваю, и язык программирования. Единственное что плохо, это то что в таблицах нет автоматического счётчика, как это в Microsoft Access для ключевого поле, и то что не поддерживает UTF-8, Microsoft Visual Studio 2002 (т.е. Microsoft Visual Studio 7.0) уже поддерживает UTF-8, а Microsoft Visual FoxPro 7.0 не поддерживает хммм.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#11 
uscheswoi_82 коренной житель26.05.24 05:29
uscheswoi_82
NEW 26.05.24 05:29 
в ответ uscheswoi_82 26.05.24 05:17

Как во многих средах разработки Visual Studio и Visual Studio .NET, и Microsoft Access, так и в Microsoft FoxPro в форме можно указать как кнопку по умолчанию, она выделится чёрным бордюром, которая сработает при нажатие на клавишу Enter см.:



Так-же есть последовательно Tab-стопа:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#12 
uscheswoi_82 коренной житель14.06.24 19:13
uscheswoi_82
NEW 14.06.24 19:13 
в ответ uscheswoi_82 26.05.24 05:29

Продолжим играться и изучать Visual FoxPro, теперь давайте отобразим окно:

Напишим такой код:

WAIT WINDOW "HELLO FROM uscheswoi_82" TIMEOUT 3


Вуалят а вот и результат! 3 секунды будет отображаться окошечко с надписью "HELLO FROM uscheswoi_82" см.:



Это окошечко нужно, когда написанная вами программа читает из файла или из БД, или сохраняет в файл или в БД. Чтобы пользователь знал, что программа не зависла.

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#13 
uscheswoi_82 коренной житель15.06.24 03:47
uscheswoi_82
NEW 15.06.24 03:47 
в ответ uscheswoi_82 14.06.24 19:13

Теперь давайте поговорим про вдавлиности и выпуклость. Если помотрите сюда, то увидите выпуклости и вогнутости/вдавлиности см.:



Или сюда, но тут вогнутость/вдавлиность, см.:



Есть элементы в Microsoft Visual FoxPro 7 см. сверху - shape, снизу - container. Shape может с обычным бордюром, или с 3D-бордюром быть. Обычный бордюр имеет много разных других бордюров - линии, точки, линии пунктиром, итд. Контейнер может быть вогнутым/вдавлиным, выпуклым как кнопка, ну и с обычным бордюром. Если выбран обычный бордюр, то можно покрасить его в любой цвет см.:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#14 
uscheswoi_82 коренной житель16.06.24 13:13
uscheswoi_82
NEW 16.06.24 13:13 
в ответ uscheswoi_82 15.06.24 03:47

Всем привет! Давайте продолжим заниматься/играться в Visual FoxPro. Сегодня сделаем диалоговое окно "О программе". Короче в той программе, которую разработали в Казахстане и которую я уже показывал, там выглядет о программе так:



Но мы сделаем покрасивше, вот как-то так, форма будет называться frmabout:


Выпуклости, это элемент shape:



Окно должно иметь такие свойства:

MaxButton = .F.
MinButton = .F.
BorderStyle = 2 && Fixed Dialog


А при нажатие на кнопку OK:

THISFORM.Release()


А теперь создадим в меню пункт меню About, и при нажатие на него вызовим форму frmabout т.е. см.:

DO FORM "C:\police\frmabout.scx"




Вуаля!



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#15 
uscheswoi_82 коренной житель16.06.24 13:43
uscheswoi_82
NEW 16.06.24 13:43 
в ответ uscheswoi_82 16.06.24 13:13

Чуть изменю диалоговое окно "о программе". Слева добавил иконку полицейского, т.е. на форму я налепил элемент image, и указал в picture bmp-иконку полицейского police2024_logo.bmp см.:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#16 
uscheswoi_82 коренной житель16.06.24 14:14
uscheswoi_82
NEW 16.06.24 14:14 
в ответ uscheswoi_82 16.06.24 13:43

Короче пытался добавить иконку полицейского в формате-gif с прозрачным фоном, когда загрузил иконку полицейского в форме gif, иконка просто не отобразилась совсем, поэтому подкрасил иконку полицейскому фона формы код R=236,G=233,B=216, т.к. белый фон был смотрелся некрасиво. Вот полицейский белого фона, он некрасиво смотрится в форме "О программе":



А так красиво:


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#17 
uscheswoi_82 коренной житель16.06.24 14:57
uscheswoi_82
NEW 16.06.24 14:57 
в ответ uscheswoi_82 16.06.24 14:14

Теперь подправим знак (c)/© с:

POLICE 2024 Copyright(c) 2024 Anoton Mustermann


На:

POLICE 2024 Copyright© 2024 Anoton Mustermann


1. Вот так выглядет сейчас окно "О программе", и выглядет не очень:



2. Нужно в программе charmap, которая входит в Windows найти знак ©:



3. Скопировать этот знак (©) в буфер обмена и вставить в элемент Label, в форме "О программе", вуаля см., так выглядет лучше:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#18 
uscheswoi_82 коренной житель18.06.24 17:10
uscheswoi_82
NEW 18.06.24 17:10 
в ответ uscheswoi_82 16.06.24 14:57

Продолжим игру с Microsoft Visual FoxPro 7, давайте поиграем с помощью. Чтобы добавить помощь, нужно написать следующую строчку:

SET HELP TO "C:\POLICE\main.chm"


Как ранее рассказывал в этой ветки с Microsoft Visual FoxPro 7 идёт в состав программа для создания помощи, и называется Microsoft HTML Help Workshop:

1. Запустим Microsoft HTML Help Workshop:



2. Создадим новый файл File->New, и выберим Project:



3. Нажмём на Weiter:


4. Сохраним проект в директорию POLICE, т.е. в C:\POLICE:




5. Тут никакие не выбераем галочки, а нажимаем на Weiter:



Вот и создали наш проект:



6. Создадим содержание, и сохраним в папку C:\POLICE, назовём Table of Contents:



7. Добавим содержание Test:



8. Создадим новый файл File->New, и выберим HTML File:



9. Напишим следующий код:



Код:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
<Title>Hello</Title>
</HEAD>
<BODY>
<H1>HELLO</H1>
</BODY>
</HTML>


10. Сохраним как main.htm:



11. Создадим тему и назовём AAA:



12. Привяжим main.htm с AAA.

13. Скомпилируем проект в chm:



Вроде бы скомпилировалось, вроде бы ошибок нет:



14. Запустим нашу откомплированную справку:



15. Теперь запустим среду Microsoft Visual FoxPro 7, и создадим новую программу:



16. Напишим код, и сохраним программу как startup.prg:

_screen.Caption = "Polizei 2024 Täterdatenbank"
_screen.Icon = "C:\windowsxp\ttt2\flgusa01.ico"
SET HELP TO "C:\POLICE\main.chm"
DO FORM "C:\POLICE\frmtaeter.scx"



17. Запустим программу, и намжём F1, вуаля!:




Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#19 
uscheswoi_82 коренной житель19.06.24 16:36
uscheswoi_82
NEW 19.06.24 16:36 
в ответ uscheswoi_82 18.06.24 17:10

Всем привет! Продолжу программировать. Хочу заметить, я удалюсь из форума от радости только в том случае, если закроется группа "Свобода Слова" и удалятся такие пользователи как перхта и шедоуджек. Но группа СС никогда не закроется, т.к. они там "спускают пар", а перхта не удалится из форума, потому-что ей скучно дома пока шедоуджек по командировкам в Китае матается, ну и скорей у перхты есть справка от психиатра. По законам Германии если стоишь на учёте у психиатра ничего тебе сделать не могут. Как приехал в Германию нашёл дешёвую квартиру в дешёвом районе, у меня сосед шумел каждую ночь, и ему сделать ничего не могли, потому-что у него была справка от психиатра. Его выгнали лишь из квартиры только потому, потому-что он за квартиру не платил. см. параграв 20 https://dejure-org.translate.goog/gesetze/StGB/20.html?_x_...,

Статья 20.
Недееспособность вследствие психического расстройстваТот, кто при совершении деяния не способен сознать несправедливость деяния или действовать на основании этого понимания, действует без вины по причине патологического психического расстройства, глубокого расстройства сознания, снижения интеллекта или серьезного иного психическое расстройство.


вот видео:



Есть синдром туретта, у них словестный понос. Вот можете глянуть как ведут себя при таком синдроме см. https://www.youtube.com/@user-jm8ji4yg9x/videos, этот человек живёт в Германии

Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
#20 
1 2 все