The team discussed various projects, with Giorgia.Rosini presenting her ideas and Reggie presenting a three-part project on creating mailing labels. Rony led a detailed discussion on the history, applications, and syntax of Visual Basic and Rexx, as well as the use of the trace keyword, function, and environment symbols. The team also addressed issues related to code pages, character encodings, and the installation of Bsf for all Rex, with Rony providing guidance for troubleshooting and installation.

Georgia to send the 2 programs she demonstrated with a short description and Rex code to the email list.

Charlotte and Reggie to communicate and come up with 3 small project ideas using 2 Windows programs controlled by a Rex program.

Charlotte and Reggie to try to demonstrate one of their project ideas in the next session if possible.

Prisca to check in with Rhoda on her status and catch up on missed content.

Peter to potentially work on a project to sort his movie directory and cast files to his TV.

All participants to complete 2 small homework examples based on the day's content (trace, environment symbols, or BSF features if installed).

Reggie to complete installation of BSF for ORex following Rony's instructions.

All participants to review the code pages and Unicode content, especially if working with non-English text.

All participants to be aware there is no class on Thursday due to a public holiday.

All participants to prepare for the next session focusing on Java integration with ORex.

Giorgia.Rosini's Projects and Team Experiences

Rony welcomed the team, including newcomer Reggie, and informed that Milos was unable to attend due to illness. The main discussion revolved around three projects that Giorgia.Rosini and Milos had been working on. Giorgia. Rosini presented her ideas to the team, which included creating inspirational messages, utilizing data from a website to create an Excel chart and a pop-up document, and connecting her email account and Outlook calendar to avoid missing appointments. Rony appreciated Giorgia.Rosini's initiative and creativity, and Giorgia.Rosini agreed to send Rony the programs and a description of what they do, along with the code, at a later date. The team also discussed their experiences with the previous week's content, with Peter expressing his satisfaction with the team's output.


Project Discussion and Visual Basic Transcription

Peter informed Rony that Kim's attendance was uncertain due to illness and caring for a new puppy. Reggie then presented a three-part project aimed at creating mailing labels, which involved creating a CSV file from the MS Outlook contact items, importing the CSV file into MS Access to create a contacts database, and extracting the contact items from the database to print out the address labels. Rony emphasized the value of Reggie's approach to breaking down the problem into three parts and combining them with piping. Rony also suggested the use of a certain class that could help read CSV files, which Reggie acknowledged and agreed to use. They discussed the reliance on internet research for programming solutions, with Rony expressing caution about the reliability of AI-supported systems. Rony encouraged Reggie to share his solutions online for others to benefit from, provided he encountered no issues. Rony led a discussion on the potential of transcribing Visual Basic code to Object Rexx (OoRexx), given the vast amount of Visual Basic solutions available online. He emphasized the importance of understanding Visual Basic code and its benefits, such as facilitating debugging and code page translation.


Visual Basic History and Applications

Rony discussed the history and applications of Microsoft's Visual Basic programming language. He explained that Visual Basic was initially developed for the IBM PC and later became popular due to its use in Microsoft Office applications. Rony also clarified the differences between various versions of Visual Basic, including Visual Basic Script, Visual Basic for Applications, and Visual Basic .NET. He further discussed the compatibility issues between these versions and warned against using incompatible versions. Lastly, he touched on the development of an open-source .NET implementation called Mono and its limitations compared to the Microsoft .NET.


Visual Basic and Rexx Syntax Comparison

Rony discussed the syntax and usage of Visual Basic and Rexx, highlighting their similarities and differences. He explained the use of message operators, string concatenation, and the differences in variable definitions. He also discussed the complexities of function invocation in Visual Basic and the creation of Visual Basic macro code in applications like Excel, Word, or Outlook. Lastly, he touched on the 'with' statement in Visual Basic, its potential for errors, and the benefits of translating between the two languages.


Rony's Presentation and Slide Sharing

Rony led a break before resuming the meeting. Reggie confirmed receiving the slides from Georgia via chat. Rony then uploaded additional slides about the environment and requested all participants to keep their cameras on. The meeting continued with Rony sharing his screen for the discussion.


Exploring Trace Keyword and Function

Rony discussed the use of the trace keyword and function in the Rex programming language, emphasizing its utility in understanding code execution and identifying errors. He also demonstrated the use of the built-in random function in Python, illustrating how it can generate different program outputs. Furthermore, he introduced the trace function, which provides detailed information about the program's execution, and explained how to use it effectively, including how to turn on and off intermediate tracing and how to reset it. He underscored the importance of the trace function in understanding the results of a program.


Orx Runtime Environment and Symbol Resolution

Rony provided a detailed explanation of the Orx runtime environment and its symbol resolution system. He discussed the role of the interpreter in managing the state of every program package, the use of environment symbols to access entries in the environment directories, and how these symbols can be used to check object existence and retrieve values. Rony also explained the Regs system, which resolves environment symbols by looking for values in various directories, and emphasized the importance of following a specific naming convention to avoid symbol conflicts. He concluded by demonstrating how to use environment symbols to store and retrieve values.


Data Storage Protocol and Code Pages

Rony and Peter discussed the recommended protocol for data storage in Rex programs. Rony advised Peter to use the local package directory for sharing data among different routines in the same program and the environment for global data sharing across different interpreters. Rony then shifted the discussion towards the historical background and current usage of code pages, explaining the concept of the 7-bit ASCII code page and its limitations in representing non-English characters. He also detailed the shift to 8-bit code pages in the PC world and its inability to fully represent all the world's languages and characters.


8-Bit Code Page Issues and Solutions

Rony discussed the issues related to the variation of 8-bit code pages used in the DOS and Windows worlds. He explained the potential problems that arise when text, encoded with one code page, is read using a different one, leading to distorted and incorrect display of characters. Rony emphasized the importance of understanding and correctly using the appropriate code page when working with text, particularly in the context of the Unicode standard and its various encodings. He also demonstrated the Rex program that showcases these issues and how to change the active codepage using the 'chcp' command in a terminal window.


Rony Demonstrates Rex Program for Encoding Issues

Rony demonstrated a Rex program that highlighted the issue of code page problems in Microsoft Word, specifically the incorrect display of characters due to incorrect encoding. He emphasized the importance of correct encoding and introduced the Bsf.iconv() function for converting between code pages. Rony also showed how to use the Bsf.Clipboard class from the Bsf.Tls package to automate conversion and copy strings into the system clipboard. He clarified the UTF-8 encoding for certain characters, such as the Smiley and Frowny, and confirmed that a Unicode UTF-8 encoded string containing both a Smiley and Frowny was discussed.


Code Pages, Encodings, and Reflections

Rony discussed the importance of understanding code pages and character encodings, particularly UTF-8, and the benefits of using the Java bridge for text handling. He also addressed Peter's question about the Windows clipboard class's limitations and suggested using his Bsf dot clipboard class as a solution. Rony clarified the public holiday schedule and encouraged participants to master the new concepts presented. Additionally, Rony and Peter had a discussion about recent terrorist attacks, the ongoing refugee crisis, and the complexities of the Israeli-Palestinian conflict.


Troubleshooting BSF Installation for Rex

Reggie had trouble installing Bsf for all Rex, but was successfully guided through troubleshooting steps by Rony. The process involved unblocking the installation package, deleting the uncit directory, and manually removing the directory with all its subdirectories. Rony also provided instructions on how to access and install the Bsforex Zip Archive, including unblocking and unzipping the archive, and navigating to the Bsf or Regs directory. Rony warned Reggie that the installation process would alter the environment variable path and advised him to open a new terminal window for the changes to take effect. If Reggie encountered any issues, he was to email Rony for further assistance.


AI-generated content may be inaccurate or misleading. Always check for accuracy.


-- 
--
__________________________________________________________________________________

Prof. Dr. Rony G. Flatscher
Department Wirtschaftsinformatik und Operations Management
Institut für Wirtschaftsinformatik und Gesellschaft
D2c 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe

http://www.wu.ac.at
__________________________________________________________________________________