Coding Lesson - Building a Simple Chat Application in Pascal

Coding Lesson - Building a Simple Chat Application in Pascal


Introduction

In this tutorial, we will create a simple local chat application using Pascal. This program will allow two users to chat with each other by typing messages into the console. It's a great way to learn about basic input/output operations, loops, and handling user input in Pascal.

Here's what the program will look like.

Enter name for User 1: 
Alice
Enter name for User 2: 
Bob

Alice: Hello, Bob! 😊
Bob: Hi, Alice! How are you? 😃
Alice: I'm good, thanks. What about you?
Bob: Doing well. Want to meet up later?
Alice: Sure, let's do it. 👍
Bob: exit

Chat session ended. Goodbye!


Program Outline

Define constants and variables.
Initialize the chat loop.
Handle user input and display messages.


Implementation


(Pascal)

program SimpleChat;

// Importing necessary libraries
uses crt;

// Constants
const
  MaxMessages = 100;
  
// Variables
var
  Messages: array[1..MaxMessages] of string;
  UserNames: array[1..2] of string;
  MessageCount: integer;
  UserInput: string;
  CurrentUser: integer;
  i: integer;

begin
  // Initialize chat variables
  MessageCount := 0;
  CurrentUser := 1;
  
  // Get usernames
  writeln('Enter name for User 1: ');
  readln(UserNames[1]);
  writeln('Enter name for User 2: ');
  readln(UserNames[2]);
  
  // Clear screen
  clrscr;
  
  // Main chat loop
  repeat
    // Display all messages
    clrscr;
    for i := 1 to MessageCount do
      writeln(Messages[i]);
    
    // Display prompt for current user
    write(UserNames[CurrentUser], ': ');
    readln(UserInput);
    
    // Exit chat if user types 'exit'
    if UserInput = 'exit' then
      break;
    
    // Store message and update message count
    Inc(MessageCount);
    Messages[MessageCount] := UserNames[CurrentUser] + ': ' + UserInput;
    
    // Switch user
    if CurrentUser = 1 then
      CurrentUser := 2
    else
      CurrentUser := 1;
      
  until false;
  
  // Clear screen and display goodbye message
  clrscr;
  writeln('Chat session ended. Goodbye!');
end.



Code Explanation

Initialization:

Messages array stores the chat messages.
UserNames array stores the usernames of the two users.
MessageCount tracks the number of messages.
CurrentUser keeps track of whose turn it is to type a message.

User Input:

Prompt each user for their name at the start.
Alternate between users to get chat input.
Main Chat Loop:

Clear the screen and display all messages.
Prompt the current user to enter a message.
Exit the loop if the user types 'exit'.
Store the message in the Messages array.
Switch to the other user after each message.
Ending the Chat:

Clear the screen and display a goodbye message when the chat ends.


Sample Program Run


Enter name for User 1:
Joe
Enter name for User 2:
Cindy
Joe: hi cindy
Cindy: hey joe what's going on?
Joe: i'm planning our party for this weekend 
Cindy: count me in! 😊 ❤️
Joe:  exit
Chat session ended.  Goodbye!


Use OnlineGDB.com to Enter and Run This Code

To try out the Pascal code for the Simple Chat Application, you can use OnlineGDB, a versatile online compiler and debugger. Follow these steps to get started:

Visit the Website: Go to onlinegdb.com.
Login: You can use the platform without logging in, but creating an account allows you to save your work. Click on "Login" at the top right corner and sign in using your email, Google, or GitHub account.
Select Pascal Language: Once logged in, click on the "Language" dropdown menu located at the top of the editor window and select "Pascal" from the list.
Enter the Code: Clear the default code in the editor and copy-paste the provided Pascal code for the Simple Chat Application.
Run the Code: Click on the "Run" button at the top to compile and execute the code. You should see the console output appear below the editor, where you can interact with your chat application.
Using OnlineGDB simplifies the process of compiling and running Pascal code without needing to install a compiler on your local machine. Enjoy coding!


Conclusion
This simple chat application demonstrates how to handle basic input/output operations, loops, and conditional statements in Pascal. You can extend this program by adding features like timestamping messages or saving chat logs to a file. Happy coding!



Image by Memed_Nurrohmad from Pixabay

Comments

Popular posts from this blog

The New ChatGPT Reason Feature: What It Is and Why You Should Use It

Raspberry Pi Connect vs. RealVNC: A Comprehensive Comparison

The Reasoning Chain in DeepSeek R1: A Glimpse into AI’s Thought Process