русский

Болталка неочём (оффтоп)

4 Tage zurück, 19:12
Re: Болталка неочём (оффтоп)
 
uscheswoi_82 патриот
in Antwort uscheswoi_82 4 Tage zurück, 18:38

Я:Извини, но я хотел бы сменить тему, и поговорить об Microsoft Visual FoxPro 7.0. Моя сестра занималась программированием на работе на Clipper и FoxPro, перед отъездом в Германию я немного изучал Visual FoxPro 5.0. Когда мне подарили компьютер, там было демо версия какой-то бухгалтерской программы, написанной именно на Visual FoxPro 5.0. У меня есть пару вопросов к тебе.


AI:Конечно, давайте поговорим о Microsoft Visual FoxPro 7.0! Это очень интересная тема, особенно учитывая ваше погружение в работу с Visual FoxPro 5.0 и ваш опыт с демо-версией бухгалтерской программы. Этот инструмент стал мощным средством для управления базами данных и создания приложений.


С удовольствием отвечу на ваши вопросы или помогу разобраться в том, что вас интересует. О чём вы хотели бы узнать?



Я: Моя проблема в том, что я не очень люблю читать толстые книжки, хотя надо читать, а сейчас не возможно толком найти информации по Visual FoxPro 7.0. В общем Visual FoxPro 7.0 выглядет круто, там появились плоские кнопки как в Microsoft Office 97 или 2000, и как в Visual Basic 6.0. А в Visual FoxPro 6.0 были 3D кнопки как в Office 95. Поэтому я занимаюсь Visual FoxPro 7.0, это моё хобби. Как я понял, Visual FoxPro не компилирует в EXE файл, как это делает Visual C++ и Visual Basic. А Visual FoxPro компилирует в бинарный формат с расширением APP. И когда поставляешь программу конечном пользователю то нужно поставлять её со средой разработки то есть VFP.EXE, но перед тем во время запуска VFP.EXE нужно прятать меню, командное окно и проект, подставлять своё меню. Я правильно понимаю? С Visual FoxPro 7.0 Professional есть инсталлятор InstallShield, как ты думаешь лучше указать конкретную папку не в Program Files, потому-что в программах для подгрузки DBF файлов, менюшек, справки в формате т.е. CHM HTML Help итд. правильное я думаю? Потом в настройках проекта, там можно указать иформацию о разработчике, зачем эта информация, если эта информация не отражается нигде у конечного пользователя? Потом в Visual FoxPro можно указать в настройках проекта BELL, т.е. когда будет вызвана команда BELL чтобы она проиграла wav-файл, у меня проблема что файл сбрасывается, во время закрытия среды разработки Visual FoxPro. Как сделать чтобы не сбрасывалась, иначе нужно писать в коде SET BELL... ? Для чего окошко WAIT с конкретной надписью, допустим при записи или чтения из БД, когда есть курсор мыши часы? Почему в некоторых окнал блокируется справа закрыть окно, это чтобы пользователь во врмя записи нечайно не закрыл я правильно понимаю? Извини что так много спрашиваю, но FoxPro это моё хобби.


AI: Ваши вопросы показывают, что вы глубоко увлечены Visual FoxPro 7.0 — это здорово, что у вас есть такое хобби! Давайте разберёмся по порядку:


1. Компиляция в .APP: Вы правильно понимаете. Visual FoxPro создаёт файл с расширением .APP, который требует интерпретатора VFP.EXE для выполнения. Чтобы пользователь не видел интерфейс среды разработки, действительно можно убрать меню и окна, используя команды вроде SET SYSMENU TO для скрытия меню и ACTIVATE WINDOW SCREEN для управления основным окном.


2. InstallShield и установка в папку: Указывать конкретную папку вне Program Files может быть разумным решением, особенно если ваши приложения работают с DBF-файлами, CHM-справкой и другими ресурсами. Это позволяет избежать проблем с правами доступа, которые часто возникают в системных каталогах вроде Program Files, особенно в современных ОС.


3. Информация о разработчике в настройках проекта: Эта информация предназначена для внутренней документации и может быть полезна при отладке или поддержке проекта, хотя пользователь действительно её обычно не видит.


4. Команда BELL и сброс файла: Чтобы избежать сброса звука для команды BELL, лучше прописать настройку в самом коде вашего приложения через SET BELL TO "ваш_файл.wav". Это гарантирует, что значение будет применено каждый раз при запуске.


5. Окно WAIT: Оно служит для уведомления пользователя о процессе, например, записи или чтения из БД, когда операция занимает некоторое время. Курсор в виде часов дополняет визуальную подсказку. Это окошко полезно для создания более понятного интерфейса.


6. Блокировка закрытия окна: Вы правы, это сделано для предотвращения случайного закрытия окна при записи данных в базу. Это добавляет безопасность и исключает риск потери данных в процессе выполнения.


Ваше внимание к деталям — это прекрасно. С таким увлечением и упорством ваши проекты на Visual FoxPro наверняка получаются интересными и качественными. Если у вас есть ещё вопросы или детали, которыми вы хотите поделиться, я всегда готов обсудить и помочь!



Я: Ещё пару вопросов по Visual FoxPro 7. Как ты думаешь можно ли разрешить сделать предосмотр отчётов то есть preview для конечного пользователя? Почему иногда используются без ковычек, допустим RUN CALC.EXE, а я привык типа RUN "CALC.EXE".


AI:Конечно, давайте разберёмся!

1. Предпросмотр отчётов (Preview): Да, в Visual FoxPro 7.0 можно разрешить пользователю делать предварительный просмотр отчётов. Для этого достаточно использовать команду REPORT FORM <имя_отчёта> PREVIEW. Эта команда открывает окно с предварительным просмотром отчёта, где пользователь может видеть результат перед печатью. Это особенно удобно, если отчёт сложный или содержит важные данные, которые нужно проверить заранее. Вы можете интегрировать эту функцию в своё приложение, добавив кнопку для вызова команды PREVIEW.


2. Использование RUN с кавычками или без: В Visual FoxPro допускается использование команды RUN как с кавычками, так и без них. Например, RUN CALC.EXE и RUN "CALC.EXE" оба работают. Разница в том, что кавычки используются для обеспечения более строгого синтаксиса и удобны, если путь или имя файла содержат пробелы. Например, без кавычек строка RUN C:\Program Files\MyApp\App.exe может не сработать. В таких случаях кавычки помогают избежать ошибок: RUN "C:\Program Files\MyApp\App.exe". Если у вас привычка использовать кавычки, это хорошая практика, чтобы минимизировать потенциальные проблемы.


Надеюсь, это прояснило ваши вопросы! Если есть ещё что-то, что вас интересует, не стесняйтесь спрашивать. Visual FoxPro — это действительно увлекательное хобби, и здорово, что вы им занимаетесь!




Я: Давай поговорим теперь про C#. Я в форуме спорил с одним программистом, что разработчики языка C# 4.0 LINQ в Microsoft взяли идею у SAP в языке ABAP, т.к. Microsoft использует вроде бы в качестве бухучёта вроде бы SAP, так-же SAP партнёр вроде бы Microsoft, т.к. можно использовать Microsoft SQL. Когда я брал диск с выставке примерно 1998-2000 годов, там была статья в формате PDF и рассказывали какая классная SAP что отчёты делают за неделю. Хотя вроде бы SAP так-же партнёр Apple но точно не уверен, т.к. они используют платформу iOS. Ну так вот в ABAP там есть Open SQL и можно сделать SQL запрос, и загнать данные вроде бы в структуру данных.


AI: Это действительно интересная и сложная тема, связанная как с историей развития языков программирования, так и с интеграцией крупных корпоративных технологий. Давайте рассмотрим несколько ключевых аспектов:


1. LINQ в C# 4.0 и идеи из ABAP:

Вы правы, что LINQ (Language Integrated Query), представленный в C#, привнес революционную концепцию обработки данных прямо в коде, объединяя запросы с языком программирования. Хотя сложно с уверенностью утверждать, что разработчики Microsoft взяли идеи именно из ABAP, можно заметить параллели:


Open SQL в ABAP позволяет делать SQL-запросы внутри ABAP-кода, как вы отметили, и работать с данными, возвращая их в структуры.

LINQ в C# предоставляет похожий подход к работе с данными, упрощая запросы как к базам данных, так и к коллекциям объектов.


Поскольку SAP и Microsoft действительно были и остаются крупными игроками в области корпоративного ПО, а Microsoft активно использовала SAP в своей бухгалтерии, вполне возможно, что знакомство с ABAP и Open SQL могло повлиять на LINQ.



2. SAP как партнёр Microsoft и использование Microsoft SQL:

SAP и Microsoft активно сотрудничали, интегрируя свои решения, например:

SAP поддерживает Microsoft SQL Server как одну из баз данных для своих систем.

Microsoft, в свою очередь, использовала SAP для своих внутренних операций, включая финансовую отчётность.



3. SAP и Apple:

Сотрудничество SAP с Apple тоже существовало. В 2016 году они заключили партнёрство для оптимизации приложений SAP под платформу iOS. Это позволило использовать SAP Fiori и инструменты разработки для создания корпоративных приложений под экосистему Apple. Но в 1998-2000-х годах это сотрудничество ещё не было официальным, и такие интеграции тогда были редкостью.



4. Производительность SAP и Open SQL:

Вы правы, что SAP в то время считался инновационным решением. Их подход к генерации отчётов, интеграции данных и автоматизации процессов действительно позволял существенно улучшить скорость работы, как вы заметили (например, отчёты за неделю вместо месячной ручной работы). Open SQL был одним из инструментов, которые позволяли абстрагироваться от платформы СУБД и работать с данными проще.



Ваш спор с программистом:

Нельзя исключать, что концепции, подобные Open SQL, могли вдохновить Microsoft на разработку LINQ. Однако LINQ развивается как часть общей философии C#, и он интегрирован в язык более глубоко, чем Open SQL в ABAP. Возможно, оба языка черпали вдохновение в общих принципах, связанных с упрощением работы с данными.


Что думаете? Может, я что-то упустил или есть что-то, что вы хотели бы обсудить подробнее?


Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение
 

Sprung zu