Month: February 2025

  • Office 2021 Basics: Outlook & Teams

    Office 2021 Basics: Outlook & Teams

    This comprehensive video course covers Microsoft Office Basics, focusing on Outlook and Teams. The Outlook segment teaches users to manage emails, schedule meetings, and organize their inbox using folders and search features. It also explains how to format content, attach files, track messages, and utilize recall and resend functions. The Teams portion introduces the collaboration platform’s purpose and navigation. Users will learn to create teams and channels, chat with colleagues, share screens and files, schedule meetings, and adjust notification settings. The goal is to improve efficiency in managing mailboxes, facilitating team collaboration and communication.

    Office Basics: Outlook and Teams Study Guide

    I. Review Topics

    • Outlook Interface: Navigation of the Ribbon, Folder Pane, and Preview Pane.
    • Creating and Sending Messages: Addressing messages, subject lines, automatic spell check, and sending to multiple recipients.
    • Formatting Message Content: Using basic text formatting options, styles, and paragraph formatting.
    • Attaching Files and Items: Attaching files from your computer and OneDrive, and attaching Outlook items.
    • Tracking Messages: Requesting delivery and read receipts (and understanding the difference), and setting tracking as a default.
    • Recalling and Resending Messages: Understanding when recall is possible, and using the resend feature.
    • Organizing Messages: Marking messages for follow-up, and using folders (including creating new folders).
    • Search Folders: Creating and using search folders for unread mail, flagged items, and messages with attachments.
    • Outlook Calendar: Scheduling meetings and appointments, printing the calendar, and integrating email with the calendar.
    • Teams Purpose and Navigation: Understanding the purpose of Teams as a collaboration platform and navigating the Teams interface.
    • Setting up a Profile: Setting a profile picture and status.
    • Chatting with Colleagues: Engaging in one-on-one and group chats, and using video and audio calls.
    • Screen Sharing: Sharing your screen during a chat or meeting.
    • File Sharing via Chat: Sharing files with colleagues via chat.
    • Creating a Team: Creating a team from scratch and adding members.
    • Creating Channels: Creating channels for different topics within a team.
    • Creating a Post: Posting messages within a channel.
    • Searching in Teams: Searching for posts, files, and messages.
    • Scheduling Meetings: Scheduling meetings from Teams and Outlook (and understanding the benefits of each).
    • Notification Settings: Adjusting notification settings in Teams.

    II. Quiz

    Instructions: Answer the following questions in 2-3 sentences each.

    1. What are the key components of the Outlook interface, and how do you navigate them?
    2. How can you ensure that Outlook automatically checks your spelling and grammar before sending an email?
    3. Explain the difference between a delivery receipt and a read receipt in Outlook.
    4. Under what circumstances can you successfully recall an email in Outlook?
    5. How can search folders help you manage your email more efficiently?
    6. What is the difference between a meeting and an appointment in the Outlook calendar?
    7. What is the primary purpose of Microsoft Teams as a collaboration platform?
    8. How can you initiate a video call with a colleague in Teams?
    9. How can you share a file with your teammates using Microsoft Teams?
    10. What is a channel in Microsoft Teams, and what is its purpose?

    III. Quiz Answer Key

    1. The Outlook interface includes the Ribbon (with tabs like Home, Send/Receive, etc.), the Folder Pane (for navigating mailboxes), and the Preview Pane (for reading messages). You navigate by clicking on tabs in the Ribbon and selecting folders in the Folder Pane, or clicking on an email in the Preview Pane.
    2. To ensure automatic spell check in Outlook, go to File > Options > Mail and check the box labeled “Always check spelling before sending.” This will automatically check the spelling and grammar when you click the Send button.
    3. A delivery receipt confirms that an email has reached the recipient’s mailbox. A read receipt, on the other hand, is supposed to notify you when the recipient has opened and marked the email as read, though there is no guarantee that the email was actually read by the recipient.
    4. You can successfully recall an email in Outlook only if the recipient has not yet opened and marked the email as read. Additionally, the recipient must be using an Outlook account within the same Exchange environment.
    5. Search folders automatically organize emails based on specific criteria, such as unread messages, flagged items, or messages with attachments. This allows you to quickly access relevant emails without manually sorting through your inbox.
    6. A meeting in the Outlook calendar involves multiple people and requires sending an invitation to attendees. An appointment, conversely, is a personal event or reminder on your calendar that does not involve inviting others.
    7. Microsoft Teams is designed to be a persistent chat-based collaboration platform that facilitates document sharing, online meetings, and various other features for business communications and is used for organizing colleagues into work groups around topic-based discussion boards.
    8. To initiate a video call in Teams, first open a chat with the colleague and then click the video camera icon at the top right of the chat window. This will start a video call with that person, and the video call screen will open.
    9. Files can be shared with your teammates through file sharing functions of Microsoft Teams. Either upload a file to a chat by clicking the paperclip icon or upload the file to the general file sharing location associated with the specific Team.
    10. A channel in Microsoft Teams is a dedicated conversation board within a team, focused on a specific topic or project. Channels help organize communication and discussions within a team.

    IV. Essay Questions

    1. Discuss the importance of email management in a professional setting, and explain how Outlook features like folders, search folders, and marking messages can enhance efficiency.
    2. Compare and contrast the benefits of scheduling meetings from Outlook versus scheduling them from Microsoft Teams. In which situations might one be preferable over the other?
    3. Describe the various ways Microsoft Teams facilitates collaboration among team members, and explain how these features can improve communication and productivity.
    4. Imagine you are training a new employee on how to use Outlook and Teams. Outline the key features you would emphasize and explain why those features are essential for effective communication and collaboration.
    5. Analyze the impact of Microsoft Teams on remote work and virtual teams. How does Teams address the challenges of remote collaboration, and what are its limitations?

    V. Glossary of Key Terms

    • Channel (Teams): A dedicated section within a team focused on a specific topic, project, or department. It serves as a conversation board for team members.
    • Delivery Receipt (Outlook): A notification confirming that an email has reached the recipient’s mailbox.
    • Folder Pane (Outlook): The section in Outlook that displays your mailboxes, folders, and navigation options.
    • Meeting (Outlook): An event on the Outlook calendar that involves multiple attendees and requires an invitation.
    • Outlook Item (Outlook): An item from your email, calendar, contacts, or tasks that can be attached to an email message.
    • Persistent Chat (Teams): An ongoing chat history that is saved and accessible to all participants.
    • Preview Pane (Outlook): The section in Outlook that displays the content of an email message when selected.
    • Read Receipt (Outlook): A notification requesting confirmation that an email has been opened and marked as read by the recipient.
    • Recall (Outlook): An attempt to retract an email message that has already been sent.
    • Ribbon (Outlook/Teams): The strip at the top of the application window that contains tabs with various commands and options.
    • Search Folder (Outlook): A virtual folder that automatically organizes emails based on predefined criteria.
    • Team (Teams): A group of people in Microsoft Teams who work together on a common project, goal, or area of interest.

    Office Basics: Mastering Outlook and Teams

    Okay, here’s a briefing document summarizing the key themes and ideas from the provided text, which is a transcript of a video course on Office Basics, specifically focusing on Outlook and Teams.

    Briefing Document: Office Basics Video Course (Outlook & Teams)

    Overview:

    This document summarizes the key themes and learning objectives of a “Learn It” video course on Office Basics, with a focus on Microsoft Outlook and Teams. The course aims to improve user efficiency and collaboration through practical demonstrations and step-by-step instructions. The instructor is Trish Connor Cato.

    I. Outlook Module:

    A. Core Themes & Learning Outcomes:

    • Efficient Mailbox Management: The course aims to improve the management of an Outlook mailbox. “Our learning outcomes here are that you will be more efficient when managing a mailbox.” This includes organizing messages, using folders and search folders, and effectively managing attachments.
    • Email Composition & Formatting: A key element is learning how to create, format, and send emails effectively. “We will ensure that spelling and grammar check happens automatically to avoid sending out messages with typos or poor grammar. We’ll learn how to format message content and attach files and items to messages.”
    • Message Tracking and Recall: Understanding features like read receipts, delivery receipts, and the ability to recall or resend messages.
    • Calendar Scheduling: Mastering the Outlook calendar for scheduling meetings and appointments. “We’ll switch over to the Outlook calendar and learn how to schedule meetings and how to print the calendar.”

    B. Key Concepts and Functionality:

    • Outlook Interface Navigation: The course begins with a tour of the Outlook interface, including the ribbon, folder pane, and preview pane. “So let’s discuss the interface here in Outlook so at the top you have a search box and underneath that you have your Ribbon right Outlook ribbon…”
    • Email Creation and Addressing: Covers how to create new emails, add recipients, and use the address book. “We’ll create a new message and add recipients.” Also, explains the use of semicolons to separate multiple recipients.
    • Automatic Spelling and Grammar Check: Emphasis on enabling automatic spell check before sending emails. “You’ll learn how to set the system to automatically check your spelling and grammar when you go to send a message so you never forget…” The setting is found in File > Options > Mail, under “Always check spelling before sending.”
    • Formatting Message Content: Explores formatting options similar to Word, including font styles, sizes, and paragraph formatting.
    • Attaching Files and Items: Demonstrates how to attach files from a computer or cloud storage and how to insert Outlook items (e.g., other emails) into a message. “You’ll learn how to attach files in an email and we’ll get there by exploring these topics…”
    • Message Tracking and Receipts: Covers requesting delivery and read receipts to confirm message delivery and viewing. “For this one we want to make sure that the recipient receives and reads the message so we’re going to go to the options tab on the ribbon and in the tracking group we’re going to request a delivery receipt and request a read receipt…”
    • Recalling and Resending Messages: Explains how to recall a message (if unread) or resend it with modifications. “So Outlook has another feature that we’re going to learn about now and this one is the recall or resend feature maybe you click send on an email accidentally and you weren’t done typing it or you send the email to the wrong person…”
    • Organizing Messages with Folders: Demonstrates creating and using folders to organize emails. “Having organization in your outlook mailbox is critical as such we will learn how to how to Mark messages and how to organize messages using folders.”
    • Using Search Folders: Introduce “search folders”, to be able to get flagged messages in a cohesive manner, unread mail from all folders to improve efficiency.
    • Calendar Management: Scheduling meetings and appointments, and printing the calendar in different formats. “We’ll switch over to the Outlook calendar and learn how to schedule meetings and how to print the calendar.”
    • Integration of Email and Calendar: Shows how to drag an email to the calendar to create an appointment with the email’s content. “You can drag an email onto your calendar and have all the details right there instead of having to retype them and I think that’s just a cool thing to know.”

    II. Teams Module:

    A. Core Themes & Learning Outcomes:

    • Understanding Teams Purpose: To understand the purpose of teams, chat-based collaboration platform, document sharing, online meetings and useful features for business Communications.
    • Collaboration: Focuses on using Teams for collaborative work, including chat, video conferencing, and screen sharing. “The last part of this course dives into teams Microsoft’s chat based collaboration platform…”
    • Team and Channel Management: Learning how to create and manage teams and channels for different projects and topics. “Then we move into creating a team which is a group of colleagues with a related purpose creating a channel which is a conversation board between teammates so you can have different channels for different topics and ultimately we will create a post.”
    • Effective Communication: Using chat, video, and screen sharing features to communicate effectively with colleagues. “The learning outcomes are using call video conference and screen sharing features as well as setting up collaborative teams and topic channels…”

    B. Key Concepts and Functionality:

    • Teams Interface and Navigation: Touring the Teams interface, including activity, chat, teams, calendar, and files sections. “I’m going to start on the left side of the screen and you have this navigation panel and I can click on activity and so it shows my feed at that point and I’ll see mentions replies and other notifications there…”
    • Setting up a Profile: Customizing profile picture and availability status. “One of the first things you may want to do when you start working in teams is setting up your profile.”
    • Chatting with Colleagues: Initiating and participating in chats, including group chats. “We’ll get into the team’s chatting feature by chatting with a colleague having a group chat making a video or phone call during a chat sharing your screen and sharing files via chat.”
    • Video and Audio Conferencing: Making video and audio calls, screen sharing during chats. “You have online video calling and screen sharing capabilities so a lot of my remote trainings are via Microsoft teams and I’m able to share my screen and the students are able to see it and follow along with what I’m doing…”
    • Sharing Files via Chat: Uploading and sharing files within chat conversations.
    • Creating and Managing Teams: Creating new teams and adding members. “Then we move into creating a team which is a group of colleagues with a related purpose…”
    • Creating Channels: Creating channels within a team for specific topics or projects. “Creating a channel which is a conversation board between teammates so you can have different channels for different topics…”
    • Posting Messages and Searching: Creating posts within channels and using the search feature to find information. “We’ll learn how to search for posts files and messages…”
    • Scheduling Meetings from Teams: Scheduling team meetings using the Teams calendar and scheduling assistant. “We’ll learn how to schedule meetings from teams before ending with adjusting our notification settings…”
    • Notification Settings: Configuring notification preferences. “Before ending with adjusting our notification settings.”

    Conclusion:

    The Office Basics video course, particularly the segments on Outlook and Teams, aims to equip users with the essential skills for effective communication, organization, and collaboration in a modern office environment. The course combines practical demonstrations with clear explanations of core functionality, making it accessible for users of varying skill levels.

    Mastering Microsoft Outlook and Teams: A Practical FAQ

    FAQ: Mastering Microsoft Outlook and Teams

    1. What are the primary functions covered within Microsoft Outlook, as discussed in the provided text?

    The text focuses on several key Outlook functions. These include navigating the interface, creating and sending new emails, managing recipients, ensuring automatic spelling and grammar checks, formatting message content, attaching files and items to emails, tracking messages (including recall and resend), marking messages for follow-up, organizing emails into folders, scheduling meetings using the Outlook calendar, and printing the calendar.

    2. How can you ensure that spelling and grammar are automatically checked in Outlook before sending an email?

    To enable automatic spelling and grammar checks, navigate to the File tab, select Options, then choose Mail. In the Compose messages section, ensure that the box labeled “Always check spelling before sending” is checked. With this setting enabled, Outlook will automatically perform a spelling and grammar check every time you click the Send button.

    3. What are “search folders” in Outlook, and how do they enhance email organization?

    Search folders are virtual folders that display emails based on specific search criteria, regardless of their location within your mailbox. The text recommends creating search folders for unread mail, mail flagged for follow-up, and mail with attachments. These folders allow you to quickly access all emails meeting those criteria without manually browsing through numerous subfolders, thereby increasing efficiency. For example, the ‘mail with attachments’ search folder helps to quickly identify large attachments that might be eating up mailbox space.

    4. What is the difference between a “meeting” and an “appointment” in Outlook, and how do you schedule a meeting?

    In Outlook, a meeting involves multiple attendees, whereas an appointment is a single event in your own personal calendar. To schedule a meeting, navigate to your calendar, select a time slot, and then click “New Meeting.” Add the required attendees, set the time and location, include a message if neccessary, and send the invitation. Recipients will receive the meeting request and will be able to accept, tentatively accept, or decline the invitation.

    5. What is the general purpose of Microsoft Teams, and what are its main features?

    Microsoft Teams is a chat-based collaboration platform designed to enhance business communication and teamwork. It offers features such as persistent chat (between individuals, groups, and teams), file sharing, online meetings, video conferencing, screen sharing, and the ability to create collaborative teams and channels for focused discussions. Teams supports integration with other apps, and Audio conferencing provides phone access to meetings

    6. How do you create a new team and a new channel within that team in Microsoft Teams?

    To create a team, click “Join or create a team” at the bottom of the Teams section, and select “Create team.” Choose to create it from scratch, and select whether the team is private or public. Give your team a name and description. After creating the team, you can add members from within and outside of your organization. To create a channel within a team, click the ellipsis next to the team name and select “Add channel.” Name the channel and determine its privacy settings (standard for all team members or private for specific teammates).

    7. How can you use the search function effectively in Microsoft Teams?

    The search bar at the top of the Teams window allows you to search for messages, files, people, and more. Typing a keyword (e.g., “Excel”) will return relevant results. The slash (“/”) command provides a list of actions you can take, such as starting a chat or viewing recent files. Search can be used to quickly find information or content within Teams.

    8. What steps are involved in scheduling a meeting using the Teams calendar, and how does it integrate with Outlook?

    To schedule a meeting from the Teams calendar, navigate to the Calendar tab, select a desired time slot, and click “New meeting.” Add required attendees, set the time, add a channel to the meeting, and enter details. Send the invitation. Scheduled meetings will appear on both your Teams calendar and your Outlook calendar, demonstrating the seamless integration between the two platforms. You can also schedule from Outlook and include an attachment that isn’t possible when scheduling from within Teams.

    Outlook Interface Overview

    In Outlook, the interface includes several key components:

    • Search Box At the top.
    • Ribbon Located beneath the search box, the ribbon contains tabs such as Home, Send and Receive, Folder, and View. Depending on the context, such as when composing a message, the ribbon changes to display relevant tabs like Message, Insert, Options, Format Text, and Review. The ribbon can be customized.
    • Quick Access Toolbar Usually displayed above the ribbon, but can be customized to appear below it.
    • Folder Pane Situated on the left side of the screen, the folder pane contains folders such as the inbox. It can be minimized, expanded, and pinned to remain open. The folder pane also provides access to the mail icon for the inbox, calendar, contacts, and to-do list.
    • Mail Section In the middle section of the interface, the mail section displays a preview of messages.
    • Preview Pane Located on the right, the preview pane allows users to view the content of messages without opening them.
    • Status Bar At the bottom of the screen, the status bar displays information such as the number of items in the inbox and connection status. It also includes view buttons for normal and reading views, as well as a zoom slider.

    Outlook Email Formatting Guide

    When composing emails in Outlook, the message content can be formatted similarly to working in Word.

    Where to find formatting options:

    • Message Tab The message tab on the ribbon provides basic text formatting options in the ‘Basic Text’ group.
    • Format Text Tab The ‘Format Text’ tab also has a ‘Font’ group (previously named ‘Basic Text’ group) with styles and formatting options, and a ‘Paragraph’ group.

    How to format:

    • To format text, select the desired text in the message body.
    • Use the tools in the ‘Font’ group to modify the font, size, color, and style (bold, italic, underline). For example, the letter “I” can be selected to italicize, or the font size can be increased using the large letter “A”.
    • Styles can be applied to titles or headings to change their appearance. On the ‘Format Text’ tab, hover over different heading styles in the ‘Styles’ group to preview their impact on the text.
    • Normal formatting or pre-defined styles can be applied.

    Teams Chat: Features and Usage

    The Teams chat feature allows for communication between individuals and groups.

    Key aspects of using chat in Teams:

    • Starting a Chat To begin a new chat, click the new chat button, and enter the name, email, group, or tag of the person you want to message.
    • Chat Features You can format messages, set delivery options, attach items, use emojis, GIFs, and stickers, schedule meetings, access Stream, give praise, use approvals, and more.
    • Group Chats You can include additional people in a chat by clicking “Add people” in the upper right corner of the chat screen. Adding someone to an existing chat creates a group chat. You can name the group chat using the pencil icon. Note that adding an external user to a chat may disable video and audio call, and screen sharing functions.
    • Chat Organization Your most recent chats appear at the top of the chat list. You can pop out a chat into a new window using the arrow icon.
    • Video and Audio Calls In a chat with members of your organization, you can initiate a video or audio call using the corresponding icons in the upper right corner.
    • Screen Sharing During a call, you can share your screen by clicking the share button. A red border appears around the screen being shared.
    • File Sharing You can share files via chat by clicking the paper clip icon below the message input area and uploading a file from your computer or OneDrive.

    Outlook Calendar: Meetings, Appointments, and Integration

    To schedule meetings and appointments using the Outlook calendar, remember that meetings involve multiple people while appointments are for personal scheduling.

    Accessing the Calendar

    • In Outlook, the calendar can be accessed by clicking the calendar icon at the bottom of the folder pane.
    • To view the calendar and email inbox simultaneously, right-click the calendar icon and choose to open the calendar in a new window.

    Scheduling a Meeting

    • Select a time slot on the calendar and click ‘New Meeting’ on the ribbon.
    • Add a title, invite attendees, set the duration, and type a message.
    • A location can be specified for the meeting.
    • Files can be attached to the meeting invitation via the insert tab.
    • The scheduling assistant can be used to view the availability of attendees.
    • Once the details are complete, click ‘Send’.
    • The meeting will then appear on the calendar.
    • Invited attendees will receive a meeting invitation. The meeting is added to their calendar once they accept the invitation.

    Scheduling an Appointment

    • To create an appointment, double-click on a time slot in the calendar.
    • Enter the details of the appointment, such as the subject and time.
    • An appointment is for personal scheduling and does not involve inviting others.

    Printing the Calendar

    • To print the calendar, use the Ctrl+P shortcut key to access the print preview.
    • Select a print style, such as daily, weekly, or monthly.
    • A date range for printing can be specified in the print options.
    • Click ‘Print’ to print the calendar.

    Integrating Email and Calendar

    • Emails can be dragged directly onto the calendar to create an appointment.
    • Click and hold on an email, then drag it to a date and time on the calendar.
    • This creates an appointment with the email subject as the title and the email content in the body.
    • The appointment can then be turned into a meeting by inviting attendees.

    Scheduling Teams Meetings from Outlook Calendar

    • When scheduling from the Outlook calendar, select ‘Teams Meeting’ on the calendar ribbon.
    • This creates a Teams meeting, and invitees can be added.
    • Files can be attached to the meeting invitation, a feature not currently available when scheduling a Teams meeting from within Teams itself.

    Microsoft Teams: Notification and Settings Guide

    In Teams, notification settings can be adjusted to control how you are alerted to different activities.

    To access the notification settings:

    • Go to the settings and more ellipses to the left of your profile picture and go into settings.
    • Go to Notifications.

    Key settings and options include:

    • Missed Activity Emails: Choose how often you receive emails about missed activities or turn them off.
    • Notification Style: Choose “Teams built-in.”
    • Message Preview: Choose whether to show message previews in notifications.
    • Play sound for incoming calls and notifications: Turn on or off notification sounds.
    • Teams and Channels: Customize notifications for all activity, mentions, and replies. Choose to receive desktop and activity notifications or customize the settings.
    • Custom Notifications: You can customize what you’re getting notifications for and how you receive them. For example, you can choose to get a banner and a feed, only show in feed, or turn notifications off.
    • Mentions: Choose to be notified when you’re mentioned in a channel, including pop-up banners if you are working in Outlook.

    Other settings that can be accessed include:

    • File settings: Set files to always open Word, PowerPoint, and Excel files in Teams.
    • General Tab: You can change the theme, chat density and language and enable spell check, and schedule out of office.
    Office 2021 Basics: Outlook & Teams

    The Original Text

    welcome everyone I’m Trish Connor Cato and this is the office Basics video course the first part of the module covers Outlook the email calendaring program from Microsoft as with all applications will be introduced to the interface and learn how to start a new message and add message recipients we will ensure that spelling and grammar check happens automatically to avoid sending out messages with typos or poor grammar we’ll learn how to format message content and attach files and items to messages then we’ll move on to tracking messages and how to use the recall and resend message feature of Outlook having organization in your outlook mailbox is critical as such we will learn how to how to Mark messages and how to organize messages using folders we’ll switch over to the Outlook calendar and learn how to schedule meetings and how to print the calendar the last part of this course dives into teams Microsoft’s chat based collaboration platform we’ll start by gaining an understanding of the purpose of teams then we’ll learn how to navigate in teams and set up a profile we’ll get into the team’s chatting feature by chatting with a colleague having a group chat making a video or phone call during a chat sharing your screen and sharing files via chat then we move into creating a team which is a group of colleagues with a related purpose creating a channel which is a conversation board between teammates so you can have different channels for different topics and ultimately we will create a post we’ll learn how to search for posts files and messages and how to schedule meetings from teams before ending with adjusting our notification settings as mentioned module 2 begins with Outlook and ends with teams so we’re going to get started with Outlook now our learning outcomes here are that you will be more efficient when managing a mailbox and you’ll be able to attach files in an email and we’ll get there by exploring these topics we’ll start by navigating the Outlook interface like we did with Excel and PowerPoint will create a new message and add recipients you’ll learn how to set the system to automatically check your spelling and grammar when you go to send a message so you never forget and you’ll learn how to format the message content we’ll attach files and items to emails you’ll learn how to track messages recall and resend messages and Mark messages then we’ll get into organizing messages using folders scheduling meetings on the Outlook calendar and how to print the calendar so I’ve already launched Outlook I launched it from my taskbar and again you can go to your office your Windows button or your search button to search for it and launch the application so let’s discuss the interface here in Outlook so at the top you have a search box and underneath that you have your Ribbon right Outlook ribbon you have your Home tab send and receive tab folder tab view tab you may or may not have your developer tab up there you have a help Tab and you may or may not have acrobat and you don’t need developer or acrobat for what we’re doing in here I’m back on the Home tab underneath the ribbon here I have a little bit of a quick access toolbar and normally the quick access toolbar shows above the ribbon right but this one here if I go to the down arrow next to it I can tell it to show above the ribbon so now it’s above the ribbon and that of course can be customized like any other office program on the left side of your screen you have your folder Pane and I can minimize it by doing that left Arrow at the top of it and expand it again by doing the right arrow and then if I want it to stay open I can pin the folder pane by using the push pin there so it’s back to the way it was when we came in here so these are the folders that you have in your folder pane now on mine I have a lot of folders underneath my inbox and you’ll learn how to do that but your basic folders are here I have multiple emails coming into I actually have three different email addresses that come into this Outlook so I have personal and then I have this training one as well as my main one and so at the very bottom of the folder pane you have the mail icon where in the inbox you can get to your calendar from there you can get to your contacts you can get to your to-do list from there as well at the bottom and then in the middle section you have your mail this is where your mail comes up and you’re seeing a little bit of a preview of all of the messages and then over on the right you have a preview pane so if I click on any of the messages in my inbox then I can actually see the message in the preview pane I don’t actually have to double click to open the message if I don’t want to so you have a little bit of a status bar at the very bottom so it tells me I have 121 items right now in this particular inbox and then over to the right it lets me know all my folders are up to date I’m connected I have a couple of view buttons normal view which we’re in and reading view which will expand the screen a little bit more or it should and then you do have a zoom slider over there so that is your navigation you know getting used to navigating an Outlook I mean you’re going to use the ribbon you’re going to use the folder pane to switch to different things so now we’re ready to create an email message so the first button on the Home tab is new mail or when you’re sitting in your inbox you can do control and the letter n as in New to bring up a new mail window and by the way in Outlook if I was in the calendar and I did control and it would bring me a new appointment window so depending on where you are you’ll get a different result so now I’m in this Untitled message right and notice the ribbon has changed when you’re in a message it starts with the message tab you have insert tab options format text review and help so to address your message you can simply type an email address if the email is already in your contacts it will pop up so I’m going to type an email address here that is not in my contacts and it’s not even a real email address it’ll give me a suggestion but that doesn’t mean that it’s a real email address it just means that it’s accepting it and it’s formatted that way so you can use an email even if the person is not in your contact list I’m going to change that one I want to address it to my training email which is in my contacts right and so that one shows up with the little yellow icon on it because it’s in my contacts and it’s letting me know that that person is you know free for the next eight hours kind of thing so that’s because they’re in my contact list and I can close that so you should put a subject for your email and this is going to be Outlook communication and then you click in the body and you type your email so I’m going to say hello Trish this is an Outlook communication for the learn it video course of office basics and then I’ll just type my name I know it’s weird sending it to Trish from Trish but it’s a different email address and you have a message now notice when we address the message to training it put a colon after training and that means I can just keep adding more recipients if I wanted to put another email address up there I can just click it there here’s my recent people but I can just click there and I can type another email address or start typing a contact name and pop it in there so they just need to be separated by semicolons if you want to send it to multiple people and so now I am actually going to click Send and notice that spell check happens automatically I’m going to show you the setting to ensure that that happens automatically for you if it’s not happening right now your message is already sent but we want to get it set so that when you click Send spell check happens so learn it is correct so I’m going to just say ignore all and it sent the message now how do I know that it sent the message well I can go to my sent items folder and you can see that sent message there let me collapse all these groups and just expand today so you can see my Outlook communication message has been sent and I went back to my inbox so everything you send goes into your sent items I believe the setting is a default setting now but I want to show you the setting that causes spell check to happen as soon as you click Send on a message so we’re going to go to the file tab on the ribbon and on the bottom left we’re going to go to options and then Outlook options on the left you’re going to click on mail so this setting right here always checks Spelling before sending is what enables that and you want to make sure that is checked otherwise you would have to go within your message you’d have to go to the review tab before sending and check the spelling this will make it happen automatically so always check Spelling before sending and we can cancel out of Outlook options foreign so since I sent that message to my other account I want to show you what it looks like when I receive a new email if I go to my inbox I already clicked on it but if I go to my inbox here you’ll see this email right that I sent from my other self and I can just with it being selected I can look at it and the preview pane over on the right now I’m going to go back to my normal inbox and we’re going to do another new email and I’m going to address it to my other self again and by the way you can send emails to yourself I’m using a different account but you can actually send emails to the account that you’re sending an email from and so I have it addressed and the subject for this one is going to be format message content and I’m gonna type please let me know the progress on the slideshow again the presentation is scheduled for Tuesday and I’d like it in my hands by Monday so I can rehearse thank you all right so when it comes to formatting message content it’s very similar to working in word I’m going to just select the text of my message and right there on the message tab of the ribbon you have your basic text group right you also have a format text tab on the ribbon which has the basic text group it’s now called the font group as well as all kinds of styles and other formatting things you have your paragraph group there as all of that kind of stuff so in the font group I’m going to just make the font italicized right I use the letter I I could have done control I there right and I want to make the font size a little bit larger so I’m going to use the big letter A here to increase the font size just one click so that now it’s 12 point and I’m not going to give it a font color go ahead and make it bold as well so something like that so normal formatting or you can use some Styles and stuff and I’m not going to use the style for this email but just simple basic formatting right and I’m going to go ahead and send and let’s immediately do another new email address it to whoever you’ve been addressing them to even if it’s yourself right and this subject is going to be more formatting and in the message type the word Monday press enter twice and type review slash rehearse presentation enter enter Tuesday presentation day Wednesday feedback collected and analyzed Thursday and I’m just making this up off the top of my head Implement changes Friday present to company something like that and then what you’re going to do is you’re going to select Monday now if you hold down your control key you can go ahead and select Tuesday Wednesday and I’m double clicking on these days you can double click a word to select it my control key down Thursday and Friday and then we’re going to go to the format text tab on the ribbon and in the Styles group hover over heading one and you’ll see how it’s impacting the days of the week in your message hover over heading 2 and it’ll be like yeah that’s a better one so I’m going to give that a heading to style for those titles and you can go ahead and send that message so now we’re going to create a new message and we’re going to attach the Excel file that we used in module one to that message before we do that I want to point out your indicator when you have new messages in your inbox if you look at my inbox over here you’ll see that I have two unread messages if I click on that inbox those are the format message content and more formatting messages that we created and sent if I click on more formatting and I can read the message in the preview Pane and then I click on format message content more formatting becomes marked as read as soon as I move away from it it will mark it as red so now it says I only have one unread item in this inbox and when I click away from format message content that is marked as red so now I don’t have any new messages in that inbox gonna go back to my main one and we’re going to do new email again address it and the subject is going to be Excel Essentials yeah the subject is going to be Excel Essentials the body of the message I’m going to type hi I’ve attached the Excel Essentials file for your review if there are any changes needed I have to have them by Monday thanks and then Trish now there are two places where you can attach a file from on the message tab you have attach file right it also includes attaching an item which we’ll talk about separately if the file is on OneDrive or SharePoint you can get to those locations or you can browse your computer that’s one place where you can attach or you can go to the insert tab of the ribbon and they have the include group there you have attach file and that gives you the web locations in your PC but a separate item there is Outlook item so I’m going to just use that attach file browse this PC and I’m in the directory where I save that Excel Essentials file and I’m going to just double click it so let’s say I attached a wrong file right underneath the subject you can see your attachment and I could do the drop down arrow and choose remove it if I had double clicked the wrong file I’m not going to do that I’m going to leave it there and now I’m going to send now let’s go ahead and do another new email and address it and the subject is going to be Outlook item and I’m going to just type in the body please review and let me know what you think thanks Trish I’m gonna go to the insert tab of the ribbon and this time instead of attach file I’m going to choose Outlook item and so basically it’s showing me stuff from my inbox or I could navigate to different folders right so you can forward an email to somebody but this is another way of getting an email to someone if you don’t want to do the forward so I’m going to just select from last week I had this Microsoft power automate July newsletter is what I’m going to select right that’s what I want so I double clicked it and it inserted it into this message and we’re going to go ahead and send so it shows me I have the two unread items in my other mailbox and when you get an email with an attachment it will show the paper clip right so you’ll see the paper clip that indicates it has an attachment so I’m going to click on the Excel Essentials one and one of the best pieces of advice I can give you when you’re working in Outlook is if you receive an attachment and you need to keep it get rid of it in your outlook so I’m going to go over to the preview pane I’m going to do the down arrow next to excel Essentials and I can save if I had five different files attached to this email I could then save all attachments so you want to get in the habit and I’m going to just say save as right and I’m just going to throw it onto my desktop real quick I don’t want to put it in the same directory where I got it from so I’m going to just put it on my desktop save it there and once I have it saved on my system I can remove the attachment in Outlook large attachments can eat up the space in your inbox so you want to get in the habit if you need to keep an attachment save it to your computer and then remove it from the email so I’m going to go to the drop down arrow and I’m going to choose remove attachment and I’m going to confirm that I’m removing it and that way I still have the email but I don’t have the attachment that attachment takes up space in my inbox and so you you have a limited amount of space right depending on your organization setup and what will happen if you start getting you know to that limit you won’t be able to receive emails ultimately so if you get in this habit that will help you from getting to that limit as quickly as possible so the Outlook item this is the newsletter here and I can save this as well or I can just remove it once I open it and look at it so I’m going to open it I won’t remove this one I’ll open it and it shows me the newsletter right and everything now notice that some of the like icons the pictures are not showing so up here it’ll give you this blue band if there’s an issue so you click there and you choose download pictures and then you’ll see that it looks better and I’m going to go ahead and close that message and so I’m going to save the changes yeah it’s not going to let me but that’s okay so I’ll just say no and that’s because we told it to download the pictures and stuff like that I’m going to click away from that message so it’s marked as red and I’m going to go back to my main inbox go ahead and bring up a new message and address it and the subject is going to be tracking a message and I’m going to type hi would you please let me know if you can meet for lunch on Wednesday at Applebee’s I’ll just put in Applebee’s for this thanks Trish now for this one we want to make sure that the recipient receives and reads the message so we’re going to go to the options tab on the ribbon and in the tracking group we’re going to request a delivery receipt and request a read receipt so the delivery receipt really only means that the email hit the recipient’s inbox so it’s in their inbox the read receipt is supposed to track when the message has been read don’t it doesn’t mean that the recipient read the message so you know when we click on a message and then go to another message it marks the previous message as read well did they really read it that’s the case but anyway you’ll get a notification in either case and we’re going to go ahead and send if your spell check comes up I’m going to just add Applebee’s to the dictionary and so immediately almost immediately I get my delivered response right it hit my email it hit the recipient’s inbox so you get that delivered message okay great I know it’s in their inbox now I’m gonna go to my other inbox and I’m gonna actually reply to this message and I’m gonna say absolutely what time works for you and I’m gonna send it when I go back to my other inbox you’ll see well it’ll update in a moment so I delivered my tracking message and I got my response and I should get my read receipt as well because it’s marked as red now another little thing if you go to descend and receive and you can do send and receive all folders it does it periodically I mean when you send something it initiates that process but if you think something is stuck you can click that send receive all folders and it will sync everything and if there’s anything hanging out there it will come through so I’ll let that send and receive process happen it’s still hourglassing for a minute and I’m not sure why my system is being crazy right now but I should have gotten a read receipt which would say your message has been read by the following recipient because that is marked as read I don’t know why that didn’t happen I hope it happened for you but again the delivery receipt only means it’s in the recipient’s mailbox the read receipt would mean that they actually read the message and again I apologize I can’t get my read receipt to show up now we did that from within the new message window if you want to track messages all your messages you won’t have to go to that options Tab and check the boxes if you set it up as a default and I’m going to show you how to do that now let’s go back to file options and click mail again on the left side and you’re going to scroll down so notice we have different topics here compose messages Outlook pains we’re going to scroll down until we see track messages tracking rather and in track message you can for all messages sent you can request a delivery and a read receipt here and that way it will happen automatically all the time if you want that enabled go ahead and check those two boxes and click ok I’m going to actually uncheck mine and click ok so that way you won’t have to do it on a message by message basis it will always do that for all the messages that you send foreign so Outlook has another feature that we’re going to learn about now and this one is the recall or resend feature maybe you click send on an email accidentally and you weren’t done typing it or you send the email to the wrong person as long as that person doesn’t read the email you will be able to recall it or another situation is you send out an email to a person and then after you click send you realize that you wanted to send that email to multiple people so in that case you can use the resend feature and either change the recipients or the content of the email now we’re going to set up to do this now let’s do another new email message and address it and we’re going to call this one recall email as the subject and I’m gonna type this is a demo for the video course and we will attempt to recall this email and I’m going to click Send so it’s saying you may have forgotten to attach a file sometimes this will pop up sometimes it’s useful sometimes it’s not I didn’t want to attach anything I’m going to choose send anyway now in order to try to recall that message I’m not going to go to my other email and read it I’m going to just make believe I haven’t seen it and I need to go from my inbox to my sent items and then I’m going to open that recall email message and sent items and go to the file tab of the ribbon and this is where you will find the message resend and recall features so I’m going to click on resend or recall and we’re going to select recall this message so it will tell you that some recipients may have already read this message and if they haven’t right you can tell it to just delete unread copies of this message or you could delete unread copies and replace with a new message we’re going to leave it on delete unread copies of this message and we’re going to leave the Box checked at the bottom tell me if the recall succeeds or fails for each recipient so if I sent this to 10 recipients and five of them read it it should be able to recall it from the five who haven’t read it and I’m going to click ok so it lets me know in the scent item that I tried to recall this message and it gives me the date and time I’m going to go ahead and close that message go back to my inbox up here and it lets me know that I got a message recall success so that message has been removed from my other inbox right because I didn’t read it in there and that’s why the recall was successful and I got that recall message now we’ll do it again let’s do another new email address it and we’ll call this recall message two we are going to attempt to recall this message and then send this time I’m going to go to my other inbox and I’m going to mark that messages read by clicking on it and away from it so I’ve made it red it’s marked as red I’m going to go back to my sent items folder and I’m going to open up the recall message to I’m going to go to the file tab resend or recall and I’m going to choose recall again I’m going to leave the same options and click ok I’m going to close that sent item go back to my inbox and you’ll see that I got a message recall failure this time because it was already read now we’re going to do another one let’s do another new email here address it and we’re going to call this resend and I’m going to type I’d like to and then make believe that my phone rings somebody comes in the office I get distracted I need to switch to a different screen and I actually accidentally on purpose click Send okay so in my sent items I’m going to open up that resend message go to the file tab and I’m going to go to resend or recall again and this time I’m going to choose resend this message and so it gives me the option to add more recipients or finish the sentence I’d like to finish typing this message contents and then I can go ahead and send it and I’m going to close the original sent item and so if I go to my other inbox I could have recalled the original one and then did a resend but they’re gonna get both right so the I like to and then this one so recall and resend can be very handy for you it’s just not foolproof meaning that if you send the message and somebody reads it or it’s marked as read you will not be able to recall it so you have the ability to Mark messages important messages that you might need to follow up on or you know for a variety of reasons you might want to mark your messages you’ll notice in my inbox I have several messages in here that have these flags on them and that’s what happens when you mark a message so I’m going to show you how to do this I have a message in my inbox you could do this on any message in your inbox it doesn’t matter I’m actually going to go to my other inbox where I some of the messages we sent are and I’m going to hover over a message and on the right side when I hover over the message when I see the flag I’m actually going to right click on the flag so I can set a flag for today tomorrow this week next week no date custom whatever right and so I’m gonna say this Outlook communication I want to take a look at this again next week so I’m going to just put the next week flag on there right and for another message the more formatting message now if I click just click on the flag right it just puts a flag it didn’t have just follow up right if I right click then I get to say so when I don’t right click it will give me the today flag if I do right click then I can choose next week or a custom option and thing like that right so one of the things I want to introduce here that will make it easier for you to find your flag messages and I’m going to kind of add this to the course we’re going to talk about search folders in a little while and it’ll be a great way for you to be able to get to all of your flagged messages quickly so hold that thought it’s not like you’re going to want to go through your inbox and scroll down to see every flag and then look at the flag to see what’s going on with it right that’s not how this is going to work that’s not very efficient so you’ll learn about search folders in just a little while and then you’ll be able to see how to get these flags in a cohesive manner so marking messages is one way of organization which you’ll see when we learn about search folders but another organization technique the most typical one is organizing using folders so in my main mailbox under my inbox I have that expand arrow in front of it I have a bunch of different folders different topics some of them are clients some of them are just like my LinkedIn stuff my Microsoft stuff that comes in and that way I can organize my messages now I’m going to show you how to set up folders underneath your inbox so you can literally right click on inbox and choose new folder and then you just type the name of the folder and we’re going to call this office basics and it puts it in your folders lists mine because I had other folders there it’s an alphabetical order and when I click on that folder it’s empty I’m going to go back to my inbox right and I am going to just move some these message recalls and the delivered one I’m gonna move those to that folder right so I can select the first one and just drag and drop it on top of office basics I can select I’m gonna actually do the rest of these three for today so I’m gonna select the first one hold down shift and click on the last one for today and I’m gonna drag those to the office Basics folder so now those are not in my regular inbox anymore they’re in a subfolder of the inbox for organization purposes now this is the tricky part right I have all of these different folders and so if I get and I have some rules set up so if I get email from this particular client the Netherlands it goes directly into that folder and then that folder will have the number one or two however many unread emails are in there if you’re going to use the folder structure that’s not going to be as efficient as it can be because you don’t want to have to go to each of your folders to read your mail items and this is where search folders come in so what I’m going to do is I just collapsed my inbox real quick and you’ll notice in your folder pane you have search folders I’m going to click on search folders and I’m going to choose new search folder so the one that I always always recommend to people well there’s a couple that I always recommend but unread mail so I’m gonna just that’s already selected I’m going to click ok so now I have an unread mail folder right click on search folders and choose new search folder and then I’m going to select mail flagged for follow-up and click ok and then there’s one more that I recommend right click on search folders new search folder and I’m going to say mail with attachments under organizing mail and click ok so this is how this works let me get out of this with attachments I’ll just go back to my regular inbox first right so first of all I have five things marked for follow-up here if you wanna in your inbox in this inbox in your inbox if you want to Mark a few things for follow-up then all of them can be accessed from this four follow-up folder so I don’t have to look through my inbox to see everything with a flag right it’s all in one folder and then my unread mail so I’m gonna go to my other inbox and I’m gonna send myself a new email I’m just going to call it unread mail search folder and send so one of the things that happens is that email came into my inbox and it’s showing me I have one unread message in my inbox but I have one unread message an unread mail unread mail is not just the inbox it’s any of the other folders that you created so if I get something from the Netherlands and it goes into that folder and it’s unread or this Lan project that I’m managing if that’s unread all I have to do is go to my unread mail to see all my unread messages and I can handle them from within that unread mail folder right so if I open it and I close it or even if I had replied to it notice now I have no unread mail it’s marked as red so when I click away from that folder and go back to it there’s nothing in there so these are efficiency tools your search folders doesn’t matter what subfolder the stuff is coming into or resides in your search folder is for everything in your mailbox so any items that are flagged for follow-up will show up in that for follow-up search folder all your unread mail will show up in your unread mail folder and the reason why I recommend with attachments folder is because we talked about your mailbox capacity at some point and I said as you receive emails with attachments if you need those attachments you should save them to your system and then detach them from your email well if you start getting that you’re reaching your quota message in your email you would want to find the emails that have attachments and they would all be in your with attachments folder so you can then detach and save and do what you need to do to gain more space in your mailbox and so now we’re going to switch our Focus to the Outlook calendar now one of the biggest complaints I hear from people about Outlook is once I open the calendar I can’t see my email well you actually can so let’s do it like this we’ll do it two ways if you go down to the bottom of your folder painting you have those icons the second one is calendar click on it and it takes you into your calendar and now you just have your calendar open right let me get rid of something in here but you can’t see your email at the bottom of that pane go back to the mail icon and now you’re back in your inbox so these are like different views right the inbox the calendar but you can actually have both open at the same time and this is how you do it this time right click on that calendar icon at the bottom and choose open and new window so now I can have my calendar open and I can have my inbox open and if you have multiple screens you can have one-on-one screen one on the other so that’s how I normally work in here so we’re in the calendar and I’m going to show you how to set up a meeting in the calendar so I’m going to say today is Thursday the 21st I don’t know what date you’re watching this but I’m going to just go to the next day right and so Friday in the 11 A.M slot is where I’m gonna click here on my calendar and so Friday at the 11 A.M slot I am going to go up to the ribbon and choose new meeting so the title is going to be reviewing presentation and I am going to invite my other email so the email I’ve been in emailing all the time right so to be me and that person and I’m going to set it for an hour so I did the drop down and changed it to one hour there type in something like let’s finally get some resolution on the this presentation so I have some text in there now I can also attach a file I’m going to go to the insert Tab and choose attach file I’m going to browse my PC and I’m going to grab that PowerPoint essential slide presentation that we made in module one and attach it so then I’m going to do send so I don’t have a location I’m going to say don’t send sometimes you set up locations right like I have some location set up in here I’m going to just type in my office as a location and then I’m gonna send okay so the meeting immediately shows up on my calendar the name of the meeting where it’s going to be held and it has the paper clip letting you know that it has an attachment so I switched back to my inbox window right and I went to my other account and in the inbox sure enough here’s the meeting invitation so when I click on it here right it shows me that the meeting is going to be on this date at this time and I can accept I can tentatively accept or I can decline this meeting is not on this calendar until I accept it so let me just do this a little bit clearer I’m going to switch back to my calendar right and this is the calendar for my primary email address if I go to my calendar for my other email address right this is kind of on there tentatively because I’ve been invited but if I hover over it it tells me it has not been accepted so it’s kind of like a placeholder but until I accept it I won’t really really be on my calendar so I’m going to go back over to my email window and in that message I’m going to go ahead and accept and I’m going to just I can send a note with my acceptance or just send the response now and so that meeting email disappears from my inbox once I accept it or if I had declined it whatever if I declined it it wouldn’t show on my calendar at all so now I’m going to go back over to the calendar and you can see that it’s this is the person who invited who set up the meeting this is the person who is attending so it’s on that calendar their calendar as well if they declined it it would not be on their calendar and it would disappear from the inbox as well so that’s kind of how you schedule a meeting I’m going to close this other calendar now what’s the difference between a meeting and an appointment and an Outlook well a meeting involves more than one person and you invite people to a meeting with an appointment it’s just you on your calendar so Friday at 2PM I’m going to just type directly on the calendar and I’m going to say off early today exclamation point so something like that just a note for myself that I’m off early at two o’clock I’m out is basically what it’s saying didn’t ask me to invite anybody right if I double click on a time slot on the calendar it opens up the appointment and this is just an appointment it doesn’t have a meeting now I can make it into a meeting right by clicking invite attendees and then it becomes a meeting like you saw before and I’m gonna just get rid of that and sometimes you may want a paper print out of your calendar and you can do that as well so I’m gonna just go Ctrl P that’s the print shortcut key and I’m in the calendar so it takes me to print preview right and notice on the left it’s showing it has the weekly agenda style is the default style so I’m seeing a weekly agenda style you can look at Daily Style and see what that looks like weekly calendar Style you have monthly Style and I used to be in a habit of printing my calendars I used to print monthly calendars because I was doing a hundred percent business travel and I wanted to see all that stuff on a monthly calendar so I’m going to leave it on monthly calendar and then you would simply print now some other things before you print you can go to print options right and it’s carrying over the style that you have monthly calendar right monthly Style and I can print a range so I might want from July to September so I’m going to change my start date to July 1st and I’m going to change the end date to September 30th and then if I click preview down at the bottom you’ll see that it has one of three pages there’s July if I go to the next page there’s August and then there’s September and that’s what I would get if I were to print we can do the back arrow at the top to get back into your Outlook calendar and you can actually close that calendar window because you had your inbox open in another window now I want to show you one other thing an integration between your email and your calendar so let’s do this let’s do one more new email message and actually I’m in the wrong account but I can change it here from okay no I’m going to send it to my other account and the subject is going to be let’s do working dinner on and I’ll just pick a date I’ll say uh July 26th and I’ll do a question mark let’s try to meet on the 26th for a working meeting for a working dinner at and I’ll put hmm we’ll put Olive Garden for this one I don’t know I’m my restaurant game is is not very good I mostly cook so let’s try to meet on the 26th for a working dinner at Olive Garden and I’m gonna just go ahead and send it now this is really cool I’m going to right click on my calendar icon at the bottom of the folders Pane and open it in a new window again and then I’m going to arrange these windows side by side effects on this side okay okay so I just received an email in my other account right my inbox there working dinner on July 26th so I would apply to that email and say yay or nay or something like that right but I know I’m gonna go so and I have my calendar open on one side of my screen in my calendar I’m going to navigate to the following week by using this right arrow and I can see the 26th and what I’m going to do is I’m going to click and hold on this email and I’m going to drag it to the calendar on the 26th at around 6 pm and drop it so it creates an appointment with the name of the email subject line and the contents of the email in it which is really cool right and then for location there I’ll just type Olive Garden and instead of replying to the email I’m actually going to turn this into a meeting and just invite the person who wants to do this so I’m going to go up and I’m going to do invite attendees and I’m going to put in my other person and then send it so it shows up on my calendar right and I should have made it like longer I’m going to double click it on my calendar and I’m going to change the end time to like 8 o’clock and then I’m going to send an update so because I already sent it and then I changed it it’s going to get an update so here is I’ll go back to my other inbox all right oh this is where they accepted reviewing the presentation so they should get an email inviting them to that dinner which they can will be added to their calendar eventually it’ll come through eventually so that’s kind of how that works you can drag an email onto your calendar and have all the details right there instead of having to retype them and I think that’s just a cool thing to know so that completed the first part of module two Outlook 2021 and just by way of review at this point you should be more efficient when managing your mailbox you know how to do folders search folders how to flag messages all of that stuff and you can attach files in an email those were the two main learning outcomes you got a lot more than that out of this segment the final Topic in this office Basics video course is collaborating with teams the learning outcomes are using call video conference and screen sharing features as well as setting up collaborative teams and topic channels and we’ll get there by covering these topics we’ll Begin by understanding the purpose of teams and then how to navigate in teams and setting up your profile then we’ll move on to chatting with a colleague group chats making a video phone call during a chat sharing your screen and sharing files via chat you’ll also learn how to create a team create channels create a post searching for posts files and messages scheduling a meeting from teams and will review notification settings let’s start by gaining an understanding of the purpose of teams so Microsoft teams is a persistent chat-based collaboration platform complete with document sharing online meetings and many more extremely useful features for business Communications let’s talk about teams and channels you can have multiple teams think of them as work groups so you and related colleagues will be members of particular teams and teams are also made up of channels which are conversation boards between teammates so think of channels as like different topics maybe you have a team of colleagues and you’re working on two separate projects that would have two separate channels you can have conversations within channels and teams and all team members can view and add to different conversations in the general Channel and can use the at function to invite other members to different conversations the basic chat function is commonly found within most collaboration apps and can take place between teams groups and individuals you have online video calling and screen sharing capabilities so a lot of my remote trainings are via Microsoft teams and I’m able to share my screen and the students are able to see it and follow along with what I’m doing and then you have the online meetings feature which can enhance your Communications can be used for company-wide meetings and even trainings with online meetings online meetings can host up to 10 000 users they can include anyone that’s inside or outside of your business and online meetings also includes a scheduling Aid a note-taking app file uploading and in meeting chat messaging and there’s one thing that’s not on this slide that can also be included in teams and that is audio conferencing now I don’t have audio conferencing set up for my company and team I don’t need it but and you would have to be the admin to set that up but it’s a feature that you won’t find in many collaboration platforms with audio conferencing anyone can join an online meeting via phone with a dial-in number that spans hundreds of cities even users that are on the go can participate with no internet and it requires additional licensing and setup like I said by an administrator so that is the general purpose of teams let’s get working in it so I’ve launched teams from my taskbar I have the desktop application of teams on my computer versus the online teams and when I go into teams let’s do a tour of the environment I’m going to start on the left side of the screen and you have this navigation panel and I can click on activity and so it shows my feed at that point and I’ll see mentions replies and other notifications there if I do the drop down where it says feed I can go to my activity and I’ll see my sent messages there now after activity you have chat and this is where you’ll see all of your chats right and then I have teams and I actually have two teams in my teams the team for my company and then I have a project that I’m working on in here as a team then you have your calendar your team’s calendar and notice if you did the Outlook portion of this course on the calendar I put a couple of appointments when we were doing Outlook and they show on my team’s calendar I can schedule meetings for teams in Outlook or I can schedule them from the team’s calendar and I’ll show you how to do it both ways and I’ll then when we get to that part I’ll show you which way I prefer and then you have calls so if you have that audio conferencing setup you can receive phone calls and your call history will show here if it’s set up you can get voicemail messages into that number people can call using that number for meetings and stuff like that so if you’re going to have that set up you’ll have your calls you have your phone calls and then you would have your contacts on the other tab then you have files so it shows recent files that you used right it could be files from cloud storage it could be files that are on your computer these are going back I’m going to come in and clean some of these up right you can get to your downloads from here so you’re looking at recent then I have Microsoft teams as another category here so these are files that were used in teams then I have downloads if any if I’ve had any downloads in here and then I can get to my OneDrive cloud storage from in here as well underneath files you have an ellipsis for more added apps so you have a bunch of apps that can integrate really well with teams you have Excel you have a Wiki app OneNote tasks power bi all kinds of different apps word that you can use and there’s even more apps down here so this is how you get to all of the apps that you can gain access to you can even have YouTube arcgis Maps if you’re doing that you have various polls that you can use so it’s very app integration friendly and now so we were on the Ellipsis and then we went into more apps so now we’re on apps down here and then you have a help button at the bottom where you can get topics training what’s new suggest a feature as well as give feedback so at the top of your screen you have a search so you can if you click in the search box at the very top of your screen you can look for messages files and more or you can type the Slash there and you’ll get more commands right so if I type the Slash and I go to chat I can send a quick message to a person or if I type files or go to files I can see my recent files so it has that slash integration as well over to the right of the search box you’ll see a settings Ellipsis that says settings and more so we’ll review settings a little bit later but I have Google Chromecast right so I’m on my computer screen but I could literally cast this to one of my TV screens if I want to we’ll come back and review these a little bit later and after you look at that Ellipsis to the right of it you’ll see your initials and if you click on that that’s your profile you can get into managing your account and stuff like that from there and then you have your traditional window operations button minimize maximize restore so on and so forth so one of the first things you may want to do when you start working in teams is setting up your profile so I’m going to go up and click on my initials in the upper right hand corner and I’m going to click on my initials again now if you have a photo that you want to use as your profile photo on your system that’s what I’m getting ready to do I have a picture on my desktop that I’m going to put as my profile photo so I’m going to click on my initials and I’m going to upload the picture now if I put a picture in here for teams it’s going to be the same picture that shows in my other office apps so I’m going to just select this photo that I chose on my desktop and then I’m going to do save and once it’s saved I’m going to close that and you can see my picture instead of my initials up there now we’re going to go back to our picture or initials if you didn’t put a picture in click on that again and underneath that it says it has your email your name email then it says available do the drop down where it says available so I can set myself right now I’m available but I can say that I’m busy I can say do not disturb be right back if I step away I can be sitting at my desk working but appear as though I’m away and I can also appear as though I’m on offline so that’s your availability and then to the right of that you have set status message go ahead and click on that so you don’t have to use the at to mention someone in your status but you could or you could just type a status message if you want when you have a status message you can have it show when people message you in teams and you can clear your status message after today or never a couple of hours this week or a custom you can also schedule your out of office from in here so I’m going to just put in a status message saying I’m going to do an at mention for my other account and I’m just typing in a message my other person I hope you’re having a wonderful week it has been awesome on my side of this operation I could do that I’m not going to show it when people message me well I’ll do that I’ll check that box and I’ll just do done at the bottom you can always go back and edit your status message and I’m going to just click away from that so now we’re ready to explore the chat feature and before we do so look under your search box at the top of your screen it says your status message is showing in chat and channels when people message or mention you until 11 59 pm and I can change the status from there from that link at the end as well on the left side we’re going to go to chat and at the top this is your new chat button this icon here is a filter right so here’s your new chat button and when you click it you enter a name an email a group or a tag I’m going to put in my other self so that’s who it’s to and then it shows my automated message because I did my status before in here right so that was because this person was mentioned it’s showing up in here but I’m going to go ahead and click and type a new message and I’m going to say do you have time now for a quick chat and I’ll say about James I don’t know who James is but I’m just making it up so do you have time now for a quick chat about James and underneath it you’ll see that you have all of these icons I can format I can set the delivery options I can attach items to a chat looping components you have a bunch of emojis and gifs and stickers that you can add you can schedule a meeting from here you can get to stream from here you can give praise approvals all kinds of stuff Viva learning updates and then there’s more right we just want to send a chat so we’re going to use the send button and it shows up on our screen now I have teams open as my other self on my other computer so my other self just replied I sure do and you can see that reply in this chat right right there and I can maximize my chat window if I just want to focus on that kind of thing so pretty cool just chatting back and forth and you have two people in your chat yourself and the other person so now I chatting with the colleague we’re gonna have they have time for a quick chat about James and I’m gonna type a message back and I’m gonna say I’m going to include and I’ll just make up a name Teresa in this chat as well and I’ll go ahead and send that to my other self right so you’re getting the ones that you send are on the right side of the screen the ones that you’re receiving in the chat are on the left side of the screen so now if I want to include someone else in this chat I can go up here so let’s talk about the icons in the upper right corner of your chat screen I can go from here to a video call or an audio call I can do screen sharing from in here and I can also add people to the chat I’m going to click on ADD people and when I do that and I type the letter T right it brings up my contacts I have another self and it’s external so I’m gonna choose my external self and create so this is me my training self and my external self now it is a group chat with all three people in it and it’s like a new conversation here right so this is how you do a group chat you can be in a regular chat just go and add more people and now you’re in a group chat and so I’m going to type what do you think should be done about James at this point and I’m gonna go ahead and send it and so for my other computer I responded from my training account James has been awesome I think he has taken initiative and should be promoted I’m sure he can manage the team my external one I’m not going to go to my external one and log in and reply but you can have many people in a group chat just chatting back and forth all right and I’ll just do a reply here saying thanks for your feedback I’m on the same page and send that one so one thing I want to point out one of the users that I added to this chat is an external user meaning outside of my organization when I did that that disabled the video and audio call and screen sharing features for this chat so you need to kind of be aware of that based on team settings external users may not have those abilities so it disabled it now the other thing I want to point out here if I look at my external user here’s Trish right it has the offline symbol to the left of it so that user is offline training is available my other user is available here but the green check mark right and I could actually name this group chat so I’m going to click that little pencil icon and I’m going to call it teams video course that’s just what I’m gonna name it teams video course so you can see that name update there now the other thing I’m going to do because I maximize this window I’m going to just restore the window and I’m going to close the chat now I can open this chat again it’s sitting right here it’s my top chat right it’s top of the list I can open this chat again if I want to pop it out into a new window I can use that arrow and it does it and then I’m going to close that window so now I’m going to go to the second chat on my list so your most recent chat will be at the top of the chat list the second one is the first one we did before we did the group chat and this one since both of the people in this chat are in my organization I have access to the video audio call and screen sharing features now I’m not going to be able to do an audio call again my organization does not have a phone number set up for that but we’re gonna do a video call so we’re chatting and I’m gonna just type a message and I’m gonna say I’m going to transfer us to video and I’ll go ahead and send that and then I’m going to do it I’m going to click on the video icon [Music] Okay so we’re gonna get some kind of feedback here I had to mute my other computer to make the feedback go away so what you were hearing before I muted it is I was calling my colleague and they answered the call that was the ringing sound that you were hearing you were just hearing it from my microphone as well as from my other computer so I muted the other computer now on my screen I have my camera on and I can see the little mini me right and while I’m here I could do something like share my screen so I’m gonna go ahead and click on the share button and I can see my screens in different windows that I have open right so I’m gonna go to my screen and now you’re seeing like the desktop screen right you’re just seeing some folders on my screen and I’m gonna stop sharing that I’m going to go back to share and because I have teams I’m going to have to move my teams first pardon me one second here yeah I had to move some windows around so now I’m going to click on share again and I can see the screen where I have that Excel file open from the Excel portion of this course and now I am able to share that screen and I’m looking at my other computer and that’s what it’s showing on that screen as well because I’m sharing it when you’re sharing a screen it puts a red border around the screen so you’re aware that you’re sharing and you get this presenting toolbar going across the top right so I can give control if I allow it in my organization I can give control to a user somebody else I can do annotations and I can stop presenting and so that’s kind of how the share feature works you can share different screens now I’m going to bring my teams back up and bring it back over to the screen so now you’re seeing me share my team screen right and I’m going to click on the share button to say stop sharing so now in the recording that I’m doing for the video course you’re still seeing my team screen but I’m not sharing it now it’s just in the video and so I also can bring up the chat by using chat up here and it brings up the chat and so we’re seeing the chat that we were in from which I generated the video call right so I’m seeing that chat and I can continue to chat here and I’m gonna type how’s the video quality on your end and press enter that’s kind of how that works right and I just responded from my other account great and then you can mute your mic when you’re in teams you can turn your camera off if you don’t want to be on screen and then it will just show your profile pic right and that type of thing if you want to make sure that you look good before you turn your camera on if you hover over the button you’ll see a preview a private preview of what you look like and you can put background effects and stuff on it if you’d like so when you’re done with your video call you can click leave to get out of it and that’s what I am going to do I’m going to leave the call and then I can minimize Excel and so even though I don’t have the capability of doing phone calls from here only video calls if I go over on the left to my calls I’ll see that outgoing call even though it was a video call it will still show here in the log on the phone and then I’m going to go back to chat on the left you can also share a file via chat so I’m still I’m now on what’s now the top chat in the list the one where we did the call from and underneath where it says type a new message I’m going to click on the paper clip and I’m going to choose upload from my computer I could go to OneDrive but I’ll upload from my computer and on my desktop I have that Excel file so I’m going to just grab that and then I’m going to send so you can actually share files via chat as well and you get the notification down here that you shared Excel so on and so forth and I just shared a file from my other account with this account so I just uploaded another file there so you can see how it comes in so you can share files via chat as well so now we’re gonna go ahead and create a team I don’t believe there’s a limit to the number of teams you can have in teams so on the left side I’m going to go to teams and I already have my two teams down at the bottom you’ll see join or create a team and I’m going to click there so I’m going to choose create team and I’m going to just do it from scratch instead of using a template I can make it private so people will need permission to join public anyone in my organization can join or org-wide everyone in my organization automatically joins right so I’m gonna leave it on private well let’s do public anyone in your organization can join and right now we’re going to give it a team name of learn it video course and a description is this is how you create a team in teams and then you’re going to click the create button so let you know you created it you got good job and all of that and now you can add members right so I could type a name a distribution list a security group I can also add people to this team outside of my organization as guests so I’m gonna go ahead and add an in-person in organization person and an outside organization person and then I’m going to click add on the right and then I’m going to close and of course I’m a member of the team because I created the team so when you get a team when you create a team it gives you the general page right which shows some posts you can add more people you can create more channels you can open the frequently asked questions if you look up at the top there’s files tab so you can actually upload files to the team so everybody in the team has access to those files I’m going to go ahead and upload files and I’m going to upload the Excel Essentials and the PowerPoint essentials from earlier in module one into this team so it lets me know this is just like OneDrive it’s uploading two items right lets me know that I’m doing that it kind of looks like OneDrive it also looks like SharePoint right so all of the office integration is here it really does and so everybody that has access to this team will be able to see those files now a Wiki page is kind of like used for documenting stuff so you can create multiple Wiki pages and you can add images to them I did a training several years ago and it was for a sheriff’s department and they use their Wiki to document the proper procedures for arresting somebody and they had pictures and videos and stuff like that as a resource for their internal team we are going to go back to post and we’re going to create so we have that General is really a channel right that’s a channel it’s a open Forum discussion board for team members we can create more channels so click on create more channels and we’ll just name it for video and the Privacy everyone on the team has access is to standard privacy setting right or you could say only specific teammates have access and you’d have to give them access to it we’re going to leave it on standard and we’re going to say automatically show this Channel and everyone’s channel list so they don’t have to go searching for it and then we’re going to add so different channels for different conversation topics for your team on a general Channel I’m gonna go to the bottom and select new conversation and I’m going to just type our channels are completed and you can press enter by the way to post you don’t have to click the button you can post so that shows up right on the general Channel under post and I can go to the four video channel and do a new conversation and I’m gonna type the office basics video course has lots of great information and techniques and enter and you can see that my other self replied to my post here and when I hover over their reply I get these little I can give thumbs up all these little emojis just give a thumbs up to it and that shows on their end as well and now we’re going to use the search feature in teams let’s go up to the search box and click and type Excel and as you’re typing Excel you’ll see the top hits the files the apps all that kind of stuff and if we wanted to find where that file was I can click directly on the file and what it’s going to do is it’s going to open it in kind of like an Excel interface right here so I can see the details of that file that’s kind of how that works and I can use the back button up here right to go back now let’s go up to search and type James and press enter and it brings up the messages where the word James is or the name James is it tells you there’s no files and no people by that name but it found three messages for that search result so you can see that search is pretty powerful on the right side of the search box Duty X and then just a reminder type your slash there because you have that at everything that you can use by using the slash so you can slash and then go to keys and you can look at all the keyboard shortcuts that can be used in teams for example and you’re going to go ahead and close that and I’m just going to go back over to teams on the left or I could have actually going to calendar because that’s where we’re going to go next to get rid of the search results so let’s go ahead and click on calendar on the left and let’s navigate to Next the following week and you can see that working dinner on July 26 Olive Garden thing that I put on there from Outlook let’s go to Monday the 25th and 10 a.m slot and click on it so it comes up with new meeting right and that you’re on the details Tab and there’s a scheduling assistant tab once you have your require ease in here your required attendees you can see their schedule if they’re in your organization so I’m going to go back to details first and I’m going to say the name of this meeting is follow up learn it office basics course I’m going to go down to add required attendees and put in my Other Self that’s within my organization and we’ll make it a 30-minute meeting that’s the default right and so it’s going to be from 10 to 10 30. it gives you some suggested 30 minute blocks and this is based on schedules for myself and this other person it’s not a recurring meeting it doesn’t repeat I can add a channel to the meeting so I’m going to add the learn it video course for video channel to the meeting location it’s going to be an online meeting so that’s fine A team’s meeting and down at the bottom I have a text box details for the next meeting and I’ll type in review what was learned in Excel PowerPoint Outlook and teams and then I’m going to go ahead and well we could take a look at the scheduling assistant at the top right so this is I’m viewing my work hours so it’s only going to show working hours it’s showing that our current status for both attendees is available it doesn’t look like there’s any conflicts for that time frame so I’m good I’m gonna go back to details now you can see response options here request responses allow forwarding if you send a team’s meeting request to someone and they fall with it to someone else you will get an email letting you know that it was forwarded and I’m not requiring any registration so I’m going to just send it so it will show up on my team’s calendar once it’s finished loading and once it’s on my calendar on a day of the meeting I can come in here and click on it and just join the meeting that’s how that kind of works now I’m going to switch over to my Outlook calendar and show you something because you’ve already seen that the two are integrated with each other so let me just bring up my Outlook calendar and show you this and so in Outlook it’s on my calendar in there as well and in Outlook I can double click it and I can click here to join the meeting right so that’s kind of how that works now I can also schedule meetings from Outlook and to be honest with you I normally schedule all of my meetings including teams meetings from Outlook and I’ll show you the reason why so I’m going to just do this one I’m going to set it for one o’clock on Monday the 25th and on the Outlook calendar ribbon I’m going to choose teams meeting so both of these is teams meeting group meet now instantly will give you an instant team meeting that you can invite people to if I want to schedule it new teams meeting so this is a little bit different in doing it in teams right so I’ll give this a I’ll just call it review apps and I’ll invite my other self as required you can invite optional people right and we’ll leave it at a half hour now what I like about doing it in Outlook like I can put text down here I can type stuff in but I can also attach documents if I wanted to which I can’t do in teams at this point so I can go up to insert and I can attach a file to the invitation right and I’ll just attach this PowerPoint one and I don’t have the capability of attaching a file to a team’s invite in teams so I’m going to go ahead and send this it shows up on my calendar Microsoft teams and it says Microsoft teams meeting when I schedule it from within Outlook right and if I go back it’s still sending it the invitation out but if I go back to teams here go away from my calendar come back to my calendar navigate to next week and it shows on my team’s calendar as well and last but not least we’re going to go over notification settings in teams so I’m going to go up to the settings and more ellipses to the left of my profile picture and I’m going to go into settings okay so you have all different types of settings so the default theme in teams is the what we’ve been looking at the white background with the blue borders and everything you can have a dark theme high contrast theme you can change your chat density back here and this is just on the general tab so I’m going to do a little bit more than just notification settings here if you want teams to start automatically when you go into Windows you can auto start the application I’ve registered teams as my chat app for office and you would have to restart office applications for that right you can have a new chat open in a new window or in the main window I like doing it in a new window you could set your languages and stuff like that and I also have spell check enabled and once you enable that you would have to restart teams for it to take effect I can schedule my out of office stuff from here and I’m getting suggested replies showing in my chat which could be helpful you have all of these other categories on the left let’s go to Notifications so if I’ve missed any activity emails right it checks once per hour here right I can change that or turn it off I have my notification style which is teams built in I show message preview and I can play that sound for incoming calls and notifications so you heard that sound when I was doing the call the video call from my other computer you heard the ringing sound so then you have your teams and channels you will get desktop and activity notifications for all activity mentions and replies or custom so if I click on custom you can see what I’m getting notifications for here I’ll get a banner and a feed the banner shows up in the lower right corner of your screen it’s like a pop-up right I don’t want to be notified there’s a new Post in every any in this Channel or any channel right so I have that off and then I’ll get a banner and a feed as opposed to only showing feed or off for any time i’m mentioned in this channel you want to be notified so you’ll get a pop-up if you’re working in Outlook you’ll see the banner pop up and stuff like that so you get to control your notification settings we can go back to settings and I would encourage you to go through some of your other settings you know like the file settings always open word PowerPoint and Excel files in teams when we open that Excel file it opened it in teams when we selected that Excel file that we put in here so that’s why that’s happening go ahead and do the X on your settings and that concludes this module so just to recap what we covered in the teams portion of this we weren’t able to use the call feature because I don’t have audio conferencing set up but you saw where the phone icon is if you do have it set up you can place the call that way we used video conferencing and screen sharing features we also set up collaborative teams and topic channels I’d really like to thank everyone for viewing this learn it video course on office Basics again my name is Trish Connor Cato and it’s been my pleasure recording this video for you to take a few moments to recap what was covered in this course we started out with Outlook and we were introduced to the interface we learned how to start a new message and add message recipients we ensured that spelling and grammar check would happen automatically as soon as we click Send on a message we learned how to format message content and attach files and items to messages then we moved on to tracking messages and you learned about the recall and resend message features of Outlook you also learned how to flag messages and also how to organize messages using folders and you saw all of the folders I have under my inbox folder for organization purposes I also introduced you to a few search folders which gives you more efficient use of your mailbox then we went over to the Outlook calendar you learned how you could have the calendar and your inbox windows open at the same time and you learned how to schedule meetings from your calendar and how to print the calendar and then we got into teams we started out by getting an understanding of the purpose of teams and then we learned how to navigate it in it I we set up our profile or we added a picture we checked our status message and our availability and then we started using the chatting feature by chatting with a colleague then we added on and had a group chat and we were able to make a video call during the chat and share the screen we also shared files via chat then we created a team and we created an additional Channel other than the general channel that comes with a team and we created some posts in those channels we moved on to searching for post files and messages and you learned about that backslash that you can use to search for a bunch of different things and we learned how to schedule meetings from the team’s calendar as well as from our Outlook calendar and with Outlook again you can attach files to the teams meeting invite and then we reviewed teams settings again thank you for your attention and I hope that you will view more videos out here for learn it thanks for watching don’t forget we also offer live classes and office applications professional development and private training visit learnit.com for more details please remember to like And subscribe and let us know your thoughts in the comments thank you for choosing learn it [Music]

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Microsoft Word: A Comprehensive Guide

    Microsoft Word: A Comprehensive Guide

    This text is from a Word 2021 training course. It covers essential functions like navigating documents and using different viewing modes. The course also explains text manipulation techniques, including formatting, organizing, and selecting. Furthermore, it explores paragraph formatting options, such as indents and lists, and highlights ways to improve efficiency using keyboard shortcuts and the quick access toolbar. Finally, the material includes exercises designed to help users practice and master these skills.

    Microsoft Word 2021 Study Guide

    Quiz

    Answer each question in 2-3 sentences.

    1. What is the primary difference between Microsoft Word 2021 (standalone) and Word as part of a Microsoft 365 subscription?
    2. Where can you typically find the files used by the instructor during the Word 2021 tutorials?
    3. Explain how to pin Word 2021 to the taskbar in Windows.
    4. Where can you create blank documents and open existing documents?
    5. What is the function of the search bar located in the title bar of Word 2021?
    6. How can you hide or show the ribbon in Word 2021?
    7. How do you display rulers within a Word 2021 document and change the units of measurement?
    8. Describe how Word 2021 flags spelling and grammar errors as you type.
    9. How can you find keyboard shortcuts in Word 2021, and how do you use the Alt key to access commands?
    10. How can you access the Help files in Word 2021?

    Quiz Answer Key

    1. Word 2021 is a one-time purchase where you own the software, while Word for Microsoft 365 is a subscription-based service where you rent the software monthly. With Microsoft 365, you get ongoing updates and features, often including access to mobile apps and the ability to share the subscription with multiple users.
    2. The files used by the instructor are usually found under the course resources tab associated with the tutorial. There are typically two links available: one for exercise files and another for instructor demo files.
    3. To pin Word 2021 to the taskbar, open the Start menu, find Word in the list of applications, right-click on the Word icon, and select “Pin to taskbar.” This will create a shortcut on the taskbar for easy access.
    4. You can create blank documents and open existing documents by clicking the “File” tab and then selecting “New” for blank documents or “Open” to access existing ones. The “New” page also allows you to access document templates.
    5. The search bar in the title bar of Word 2021 allows you to find specific commands within the program. It also provides access to help files and more information about each command.
    6. You can hide or show the ribbon by clicking on the ribbon display options button located in the top right corner of the Word window. You can choose to auto-hide the ribbon, show only tabs, or show tabs and commands.
    7. To display rulers, go to the “View” tab and check the “Ruler” box in the “Show” group. To change the units of measurement, go to “File” > “Options” > “Advanced” and find the “Display” section, where you can select the desired units.
    8. Word 2021 automatically flags spelling mistakes with a red squiggly underline and grammatical errors with a blue double underline as you type. You can right-click on these underlined words or phrases to see suggested corrections.
    9. Keyboard shortcuts are displayed in screen tips when you hover your mouse over a command on the ribbon. Pressing the Alt key displays letters and numbers over the commands, which can then be pressed to navigate and execute those commands via the keyboard.
    10. You can access the Help files by clicking the “Help” tab on the ribbon or by pressing the F1 key. This opens a pane on the right side of the screen where you can search for help topics or browse categorized help articles.

    Essay Questions

    1. Discuss the advantages and disadvantages of using Microsoft Word 2021 as a standalone product versus subscribing to Microsoft 365, considering factors such as cost, updates, and collaborative features.
    2. Explain the importance of understanding the Word 2021 interface (title bar, ribbons, status bar) for efficient document creation and editing, and describe how customization options can improve workflow.
    3. Discuss the benefits of using templates in Word 2021 for creating professional documents, and explain the process of customizing and saving templates for reuse.
    4. Analyze the impact of accessibility features like Immersive Reader and Dark Mode in Word 2021 on document usability for individuals with different needs and preferences.
    5. Describe how to effectively use Find and Replace, tab stops, indents, and other formatting tools in Word 2021 to create well-structured and visually appealing documents.

    Glossary of Key Terms

    • Ribbon: The command bar located at the top of the Word window, containing tabs and groups of commands for various functions.
    • Template: A pre-designed document format that can be customized with your own content.
    • Quick Access Toolbar: A customizable toolbar located above or below the ribbon for quick access to frequently used commands.
    • ScreenTip: A small pop-up box that appears when you hover the cursor over a command, providing a description of the command and any associated keyboard shortcuts.
    • Contextual Ribbon: A ribbon that appears when a specific object is selected, providing relevant commands for that object.
    • Status Bar: The bar at the bottom of the Word window, displaying information such as page number, word count, and language.
    • Ruler: A horizontal and vertical guide used for aligning and measuring elements in a document.
    • Non-Printing Characters: Hidden formatting symbols (like paragraph marks, spaces, and tabs) that can be displayed to aid in document formatting.
    • Tab Stop: A specific point on the horizontal ruler that you can set to control the alignment of text when you press the Tab key.
    • Indent: The distance a paragraph is shifted to the right or left of the margin.
    • Immersive Reader: A tool in Word designed to improve reading accessibility by adjusting text spacing, column width, and providing read-aloud functionality.
    • Dark Mode: A display setting that inverts the color scheme, using dark backgrounds with light text to reduce eye strain in low-light environments.
    • WYSIWYG: Short for “What You See Is What You Get,” a principle of formatting that displays a document exactly as it will appear when printed.
    • Boilerplate Text: Standardized text that can be reused in multiple documents without modification.
    • Clipboard: A temporary storage area for items copied or cut from a document, allowing them to be pasted elsewhere.
    • File Extension: A suffix at the end of a file name (e.g., “.docx”) that indicates the file type.
    • Paragraph Spacing: The amount of vertical space between paragraphs.
    • Line Spacing: The amount of vertical space between lines within a paragraph.
    • Word Styles: Predefined sets of formatting attributes that can be applied to text for consistent formatting throughout a document.

    Microsoft Word 2021 Tutorial: A Comprehensive Guide

    Okay, here’s a detailed briefing document summarizing the key themes and ideas from the provided transcript:

    Briefing Document: Microsoft Word 2021 Tutorial

    Overview: This transcript is from a tutorial course on Microsoft Word 2021, led by Deborah Ashby, an experienced IT trainer. The course aims to guide users through the features and functionalities of Word 2021, focusing on practical exercises and real-world applications. The content covers everything from basic setup and interface navigation to more advanced formatting techniques. It also highlights new features specific to Word 2021.

    Main Themes and Important Ideas:

    1. Word 2021 vs. Microsoft 365: The course emphasizes that Word 2021 is a standalone version for users who prefer a one-time purchase over a Microsoft 365 subscription. Deborah highlights the key difference: “Word 2021 is the latest standalone release from microsoft and it’s really designed for people who still want to use word and have all of the latest functionality but don’t necessarily want to commit to a microsoft 365 subscription” The tutorial encourages viewers to check Microsoft’s website for a comparison between the two options.
    2. Getting Started and Setup: The initial exercises focus on ensuring users have a working, legitimate copy of Word 2021 downloaded and installed, along with the course exercise files. Deborah provides guidance on how to locate and launch Word within Windows 10 or 11. “The first exercise of this course is a very simple and straightforward one I’d like you to ensure that you have a working copy of word 2021 downloaded and installed onto your pc and I’d also like you to make sure that you’ve got the course and the exercise files downloaded and stored somewhere that’s easily accessible”
    3. Interface Familiarization: A significant portion of the tutorial is dedicated to familiarizing users with the Word 2021 interface. This includes the title bar, ribbons, status bar, and the “File” tab (backstage view). “That is the word interface make sure you’re familiar with it and comfortable as we move forward through this section” The tutorial explains the purpose and function of each element, such as the ribbon display options and the quick access toolbar.
    4. Navigation and Document Management: The course covers essential document management skills, such as creating new documents (blank or from templates), opening existing documents, saving, and closing files. Deborah explains different ways of opening documents, both from within Word and from external locations (File Explorer, OneDrive). “We’re pretty clear on the basics of creating a brand new document opening existing documents and also doing things like save and close let’s now talk about templates because templates are a great thing to use if you want to create a document quickly and you don’t want to start from a blank”
    5. Templates: The use of templates is promoted as an efficient way to create various documents, such as resumes or flyers. The tutorial demonstrates how to search for templates, customize them, and save modified templates for reuse.
    6. Navigation Pane: The tutorial introduces the Navigation Pane as a tool for navigating documents by headings, pages, or search results. “I’m not going to go too far off down this road in this particular lesson because then we kind of move into the arena of using find within word and we have a whole other lesson dedicated to that but just know that from here you can navigate your document using any headings by going to any of the pages or by searching for specific terms”
    7. Finding Tools (Search Bar): Deborah emphasizes using the search bar (activated with Alt+Q) to quickly locate commands within Word if users are unsure where they reside on the ribbon. “Add commands that you use frequently to the quick access toolbar for anything else if you’re not sure where that command lives remember to press alt q to jump to the search bar and then simply search for it”
    8. Views: The course explores different document views (Print Layout, Read Mode, Web Layout, Outline, Draft) and their specific purposes. “Web layout is going to show me how my document would look as a web page”
    9. Focus Mode and Immersive Reader: New features in Word 2021, such as Focus mode (for distraction-free writing) and Immersive Reader (for improved accessibility), are highlighted. Deborah explains how to customize these features, like changing background color or adjusting text spacing. “If you do have any kind of visual impairment you can turn on read aloud and word will read the document back to you”
    10. Dark Mode: The tutorial also touches on the dark mode feature in Word 2021, and how to customize the ribbon to easily switch in and out of it.
    11. Text Formatting: A significant portion is devoted to text formatting techniques, including font selection, size adjustment, case changes, bolding, italicizing, underlining, applying strikethrough, subscripts, superscripts and highlighting. “Another point to note here is that you can modify the case that you’re using”
    12. Format Painter: Format Painter for efficiently copying formatting from one piece of text to another, including the double-click method for applying formatting multiple times.
    13. Paste Options: The tutorial emphasizes the importance of using paste options when copying text from external sources (like websites) to control how the formatting is handled.
    14. Find and Replace: It covers how to use the Find and Replace utilities (Ctrl+F and Ctrl+H) to locate and modify specific words, phrases, or formatting within a document. The use of wildcards is also explained. “If i wanted to use a wild card maybe i want to look for everything that starts with the word united if i put an asterisk after it that’s our wild card character and hit enter it’s going to find united united states united kingdom united arab emirates it’s basically going to find everything that starts with united”
    15. Paragraph Formatting: The course details paragraph formatting options, including alignment (left, center, right, justify), line spacing, paragraph spacing, and indentation.
    16. Non-Printing Characters: It highlights the usefulness of displaying non-printing characters (paragraph marks, spaces, tabs) for troubleshooting formatting issues. “Those paragraph markers are a lot more important than simply just to mark where the end of a paragraph is the paragraph marker actually contains all of the formatting information for that line of text”
    17. Bulleted and Numbered Lists: The creation and customization of bulleted and numbered lists are explained, including multi-level lists and the use of custom bullet symbols (pictures).
    18. Tab Stops: The tutorial covers the use of tab stops for aligning text in columns, including different tab types (left, center, right, decimal, bar) and the concept of leaders.

    Target Audience:

    The course is suitable for both novice and experienced Word users, particularly those who are new to Word 2021 or who are transitioning from older versions.

    Overall Tone:

    The tone is friendly, encouraging, and practical, with Deborah providing clear instructions and helpful tips throughout the tutorial.

    Microsoft Word 2021: Features and Functionality

    Microsoft Word 2021 FAQ

    • What is Microsoft Word 2021, and who is it designed for?
    • Microsoft Word 2021 is the latest standalone version of Word from Microsoft. It is designed for users who want to use Word with the latest features but do not want a Microsoft 365 subscription. It is a one-time purchase, allowing you to own the software rather than rent it monthly.
    • How does Word 2021 differ from Word for Microsoft 365?
    • Word for Microsoft 365 is a subscription-based service, where you pay a monthly fee (typically between $5 and $8). It includes ongoing updates and features, allowing access on multiple devices (desktop, web, mobile) and often includes collaboration features where multiple people can share one account. Word 2021 is a one-time purchase for a specific version of the software, with no ongoing feature updates.
    • Where can I find training and exercise files for Word 2021?
    • Training and exercise files for Word 2021 are often available with training courses, which might be located under a “course resources” tab.
    • What are ribbons in Word 2021, and how can I customize them?
    • Ribbons are located under the title bar and house commands categorized into different tabs and groups (e.g., Home tab with Clipboard, Font, and Paragraph groups). You can customize the ribbon display options by clicking the “Ribbon Display Options” button in the top right corner, allowing you to show tabs and commands, show tabs only, or auto-hide the ribbon. You can add frequently used commands to the Quick Access Toolbar (QAT) for easier access. You can also customize which ribbons are visible by going to File > Options > Customize Ribbon.
    • How do I turn on and customize the ruler in Word 2021?
    • To turn on the ruler, go to the “View” tab and check the “Ruler” box in the “Show” group. To change the measurement units (inches, centimeters, etc.), go to “File” > “Options” > “Advanced,” scroll to the “Display” section, and select your preferred units in the “Show measurements in units of” dropdown.
    • How can I effectively use “Find and Replace” in Word 2021?
    • Access “Find” using Ctrl+F or “Replace” using Ctrl+H (or find both under the Editing group in the Home tab). “Find” opens the Navigation Pane, while “Replace” opens a dialog box. You can search for specific text, match case, find whole words only, use wildcard characters (like asterisk), or find text based on formatting (font, bold, etc.). The Replace function allows you to replace found instances with new text or specific formatting. Remember to start the search from the beginning of the document.
    • How can I create and customize bulleted or numbered lists in Word 2021?
    • Select the list items, then go to the “Home” tab, “Paragraph” group, and click either the “Bullets” or “Numbering” dropdown. Customize bullet styles using the “Bullet Library,” define new bullets (using symbols or pictures), and create multi-level lists. The Tab key indents items to a lower level, while Shift+Tab unindents.
    • What is the “Immersive Reader” in Word 2021, and what are its features?
    • The Immersive Reader is a new feature in Word 2021 that helps improve focus and accessibility. It offers features like column width adjustment (narrow, moderate, wide), page color modification, line focus (one, three, or no lines highlighted), text spacing adjustments, syllable display, and a “Read Aloud” feature that highlights and reads the text. You access it via the “View” tab, in the immersive group and exit it using the close button.

    Word 2021: Text Formatting Comprehensive Guide

    Text formatting in Word 2021 encompasses a wide range of options, from basic font adjustments to advanced character spacing and styling.

    Basic Formatting Options:

    • Font selection The default font in Word is Calibri, but it can be changed for the entire document or selected portions. A live preview helps to visualize the font before application.
    • Font size, bold, italics, and underline These can be applied via the font group on the Home tab or the mini toolbar that appears upon text selection. Underlines can be customized with different styles and colors.
    • Strikethrough: Applies a line through the selected text.
    • Subscript and superscript: Useful for chemical formulas or mathematical equations.
    • Text effects and highlighting: Enhancements such as shadows, reflections, and glows can be added. Highlighting emphasizes text, with various colors available.
    • Font color: The color of text can be modified using theme colors or standard colors, with more options available.
    • Clear Formatting: Removes all applied formatting, reverting to the default font (Calibri).

    Selection Techniques:

    • Selecting all text: Use Ctrl+A or the Select All command in the Editing group on the Home tab.
    • Selecting lines or paragraphs: Click in the left margin or drag the mouse.
    • Selecting non-contiguous paragraphs: Select the first paragraph, hold Ctrl, and select additional paragraphs.
    • Selecting individual words: Double-click the word.

    Advanced Formatting Options:

    • Access advanced font settings by clicking the diagonal arrow in the Font group or using the Ctrl+D shortcut. This opens a dialog box with additional options.
    • Character spacing: Adjust the spacing between characters using the Advanced tab in the Font dialog box. Options include expanded or condensed spacing.
    • Text Effects: The text effects button in the advanced options allows you to apply a text fill, a text outline, and other effects as well.

    Mini Toolbar:

    • A floating toolbar appears when text is selected, providing quick access to common formatting commands.
    • The mini toolbar can be disabled in Word options under the General tab.

    Styles:

    • Styles are pre-designed formatting sets that can be applied to text. They ensure consistency and can be customized.
    • The Styles gallery is located on the Home tab.

    Copying and Pasting Text:

    • Cut, copy, and paste: Standard commands with keyboard shortcuts (Ctrl+X, Ctrl+C, Ctrl+V).
    • Clipboard: The clipboard stores cut or copied text and can be accessed from the Home tab.
    • Format Painter: Copies formatting from one piece of text to another. Single-click applies formatting once; double-click allows multiple applications.
    • Paste Options: When pasting text from external sources, choose how to handle formatting. Options include keeping source formatting, merging formatting, or keeping text only.

    Find and Replace:

    • Find: Locates specific text or formatting. Advanced Find allows searching for specific formatting.
    • Replace: Replaces text or formatting. Use wildcards for more flexible searches.

    Word 2021: Paragraph Alignment Guide

    Paragraph alignment is a key aspect of formatting documents in Word 2021, influencing the visual structure and readability of the text. A paragraph in Word is defined as any text followed by a press of the Enter key.

    Word provides several alignment options, each serving a distinct purpose:

    • Left Alignment: The default setting, aligning text to the left margin with a ragged right edge.
    • Center Alignment: Positions text in the center of the page.
    • Right Alignment: Aligns text to the right margin, creating a ragged left edge.
    • Justify: Distributes text evenly between both margins, creating straight lines on both the left and right sides. Word achieves this by adjusting the character spacing within the paragraph. Newspapers often use this alignment.

    These alignment options are found on the Home tab, in the Paragraph group. Each alignment type also has a corresponding keyboard shortcut:

    • Left Alignment: Ctrl + L
    • Center Alignment: Ctrl + E
    • Right Alignment: Ctrl + R
    • Justify: Ctrl + J

    To change the alignment of a paragraph, it is sufficient to click anywhere within the paragraph and select the desired alignment option. It is not necessary to select the entire paragraph.

    Creating and Customizing Lists in Word

    Bulleted and numbered lists are used to make documents easier to read and highlight specific items.

    Creating Lists

    • Bulleted lists can be created by selecting the list items and clicking the “bullets” button in the paragraph group on the Home tab. Clicking the drop-down arrow next to the button will give you access to the bullet library, where you can select different bullet styles.
    • Numbered lists are created similarly, using the numbering button in the same paragraph group. You can select different numbering styles from the numbering library.
    • To remove bullets or numbering, select the list and choose ‘None’ from the respective library.

    Customization

    • Once a list is created, Word recognizes it as such, and changes to the bullet or numbering style will apply to the entire list.
    • You can create different levels within a list by using the tab key to indent. Shift + Tab will indent back out again.
    • It is possible to define a new bullet by using a picture or a symbol. To do so, select “Define New Bullet” and browse for a picture or select a symbol.

    Multilevel Lists

    • Word has a button for creating a multi-level list. This allows you to customize what the different levels look like. When you press the tab key, the next item will be 1.1, and if you press tab again, the next item will be 1.1.1.

    Word 2021: Indents and Tab Stops

    Indents and tab stops are important for structuring documents in Word 2021. Indents are used to move entire paragraphs, or the first line of a paragraph, further from the margin. Tab stops are custom positions along a line of text, useful for creating columns and aligning text.

    Indents

    • Basic indentation: Located on the home tab, the “Increase Indent” button will move a paragraph farther away from the margin. The “Decrease Indent” button will move the paragraph closer to the margin.
    • Advanced indentation: Opens the advanced paragraph options to allow granular control of indentation.
    • You can set the indentation by specifying a measurement.
    • First line indent will indent the first line of the paragraph and leave the rest at the margin.
    • Hanging indent will leave the first line of the paragraph at the margin, and indent every other line.
    • Ruler: Indents can also be adjusted using the ruler. The tab stops on the ruler indicate the indent settings.

    Tab Stops

    • Purpose: Tab stops are used to align text in columns.
    • Types of Tabs: In the top left corner of the screen, a symbol is visible that represents different types of tabs. Clicking the symbol will cycle through the different style options. The different types are:
    • Left tab
    • Center tab
    • Right tab
    • Decimal tab
    • Bar tab
    • First line indent
    • Hanging indent
    • Usage: After selecting the desired tab type, click on the ruler to insert the tab stop. Pressing the tab key will move the cursor to that tab stop.
    • Tab stop customization: Double-clicking a tab stop opens the “Tabs” dialog box, which shows tab stop positions for the current line, and allows you to make changes. You can also set new tab stops, clear existing ones, and add leaders.
    • Leaders: Dotted lines that fill the space preceding the tab stop.

    Word 2021: Document Views and Reading Options

    Document views in Word 2021 allow you to see your document in different ways, each suited for a particular purpose. You can typically find these options on the View tab.

    Available Views:

    • Print Layout: This is the default view, and is used 99% of the time. It shows you how the document will look when printed, including margins, headers, and footers.
    • Read Mode: This view is designed for reading, as opposed to writing. It presents the document like a book, with minimized ribbons to maximize screen space. You can navigate the document by clicking arrows on either side.
    • In Read Mode, you can use tools designed for reading. For example, you can search for specific text, translate selected text, and bring up the navigation pane.
    • In the View dropdown, you can customize the column width, change the page color, and choose between column and paper layout.
    • Web Layout: This view displays how the document would appear as a webpage. It is useful if you intend to upload the document to a web server.
    • Outline: This view shows the document in an outline form, with content displayed as bulleted points. It is useful for creating headings and reorganizing paragraphs. The Outline view has its own contextual ribbon that allows you to organize your document.
    • Draft: This view displays only the text of the document, which makes editing easier. Headers, footers, and certain objects are not visible in this view.

    Additional Viewing Options:

    • Focus: This mode eliminates distractions, allowing you to focus on the content. It minimizes all distractions so you only see your document.
    • In Focus mode, you can change the background color.
    • Immersive Reader: This mode is designed to improve reading skills and is helpful for those with visual impairments. It allows you to adjust text spacing, column width, and page color.
    • The Immersive Reader also has a Read Aloud option that reads the document aloud and highlights each word as it is read. It can turn on syllables, which adds tiny little dots within words whenever there are multiple syllables.

    Dark Mode:

    • Dark mode helps you view your document if you struggle to see black text on a white background. It changes the background of the document to black with white text but does not affect the overall theme of the application.
    • To use dark mode, you may need to add the “switch modes” command to the ribbon. This can be done by going to File > Options > Customize Ribbon and adding the command to a custom group on the View tab.

    You can also switch between different views by using the buttons in the status bar in the bottom right-hand corner.

    Microsoft Word for Beginners: 4-Hour Training Course in Word 2021/365
    MS Word Full Course in Hindi | Microsoft Word Tutorial for Beginners | #mswordcourse #mswordtutorial
    MS Word Basic to Advanced Full Course for FREE with Certificate | Hindi

    The Original Text

    [Music] simon says subscribe and click on the bell icon to receive notifications we’ve made the files the instructor uses in this tutorial available for free just click the link below in the video details to get these hello everyone and welcome to this course on microsoft word 2021 my name is deborah ashby and i’m a microsoft i.t trainer with over 25 years of experience not only using but also training all the different versions of word and i am super excited to be your host for this course now word 2021 is the latest standalone release from microsoft and it’s really designed for people who still want to use word and have all of the latest functionality but don’t necessarily want to commit to a microsoft 365 subscription now it might be that you’re coming to this course after having used a slightly older version of word or maybe a much older version of word if that is the case then i would definitely recommend jumping onto the microsoft website and having a quick look at the what’s new in word 2021 page you’re going to find so much information here which is going to take you through some of the main differences the main changes since the last version of word and fear not we will be going through a lot of these as we work through this course now if you’re still a little bit unsure as to what the difference is between word 2021 standalone and word for microsoft 365 then i would highly recommend you check out this webpage just here this basically goes through a comparison of office 2021 versus microsoft 365 and can really point you towards the main differences and the pros and cons of each so if we take a look down this web page you can see some of the differences between microsoft 365 and office 2021 if you want to use word for microsoft 365 you’re going to need to pay for a monthly subscription and that generally tends to be somewhere between five and eight dollars and whilst this is a low-cost fee each month it is a monthly commitment and what you essentially do is you rent the software from microsoft as opposed to actually owning the software yourself some of the advantages for word for microsoft 365 are that six people can share one account and you can access your applications on the go via the mobile app so on and so forth it also means that any upgrades that are made to word by microsoft are automatically deployed to your pc so you don’t have to keep buying the latest version of word now whilst that suits a lot of people it doesn’t suit everybody and you’ll find that a lot of larger companies it’s not so easy for them to just switch everybody across to a microsoft 365 subscription so if you’re somebody who prefers to buy a license for word 2021 own that copy and just make one payment and not sign up for a monthly commitment then the standalone version of word is going to be the best choice for you you’re still going to get things like all of the security updates but you’re only making one payment and remember that one payment is going to be higher than the monthly charge for word for microsoft 365 but you only make that payment once and it’s definitely worth shopping around different websites because you can get some really good deals if you do want to buy the standalone version of what so this training course is designed for users of word 2021 now there is a lot of crossover between word 2021 and word for microsoft 365. so if you have maybe been using the word 365 version and you’re coming across to word 2021 then it’s going to be a pretty seamless transition this is the latest version with all of the new stuff in it so with all that said let’s take a look at what we’re going to run through throughout the balance of this course so we’re going to start out with a brief introduction that is pretty much what we’re doing now and we’re then going to move on to running through some of the basics so this course is designed for people who have little to no knowledge of word even if you do have a bit more knowledge of word it’s definitely worth running through those basics to make sure that we’re all starting from the same base so we’re going to take a look at things like how to open how to close how to save documents in word i’m going to show you where you can go to get help and run through some of the keyboard shortcuts that you can access once we’ve been through those basics we’re going to move on to working with documents so this is where we’ll take a look at how to create documents based off of templates how we can find the tools that we need to truly work with our documents next we’re going to move on to talking about viewing documents i’m going to show you how you can switch between different document views and use some of the newer features in word 2021 like the immersive reader and also dark mode in the next section we’re going to start inputting text into a document we’re going to run through some of the basic and more advanced formatting options that we have i’m going to show you things like cut copy paste paste special and how you can make selections and also align different things within your document we’ll then move on to working with paragraphs and this is really where we’re going to talk about indenting changing the layout and working with tab stops we’ll then talk about themes in our document and i’ll show you all the different ways that you can change the look and feel of your document such as changing the colors that you’re using the font and also the effects the next section is a really important section and that is word styles we’re going to walk through what exactly word styles are and why they’re useful and i’ll show you how you can quickly apply styles throughout your document to organize it and also make it a lot easier for you to do things like create a table of contents we’ll then move on to talking about pictures tables and objects i’ll show you how you can liven up your document a little bit by adding in images icons 3d models characters things like that and also how you can organize data using tables we’ll then also take a look at some other types of objects that you can insert such as smartart diagrams charts and screenshots next we’ll take a look at formatting our pages we’ll dive into the page setup options such as how to change the margins the orientation the paper size and set up things like headers and footers in the references section we’ll walk through how you can create things like a table of contents or maybe even an index at the end of your document i’ll show you how cross references work citations and how we can create bibliographies tables of figures and also tables of authority in the next section we’ll run through a classic in microsoft word and that is mail merge i’ll show you how to use the step-by-step mail merge wizard to quickly create multiple letters and we’ll also take a look at how we can generate envelopes and labels as well next we’ll move on to talking about spelling and grammar in a little bit more detail i’ll run through some of the settings that we need to change in order to get that to work correctly and we’ll also take a look at how we can create our own auto text entries next we’ll move on to talking about track changes and comments i’ll walk you through exactly what track changes are and how they can be useful when multiple people are making changes to a document i’m also going to show you how you can compare two documents together and how you can add comments to your document and then the final working section of this course is finalizing a document for this we’ll run through how you can send your document to print how you can change all of your printer options i’ll also show you different ways that you can share your documents with other people and also co-author documents in word 2021 again that is a brand new feature now we are going to cover a lot more than the things that i’ve mentioned there throughout this course i’ll be throwing in little tips and tricks that i like to use as well as referencing keyboard shortcuts wherever possible throughout this course i’ll be using different course files to work through the examples so if you want to follow along with me then you’re going to find all of the course files that i use available to download from the course files folder and for each lesson there is a starting course file and a completed course file so when you start the video open up the starting file and if for some reason you get lost or you just want to skip to the next lesson there’s also a completed version of the course file as well so you should be able to pick up this course at any given point using the course files so make sure that you have those downloaded from the website before we begin you’ll also find at the end of each section an exercise file and this is going to help you practice some of the skills that you’ve learned throughout that section and you’ll find all of the exercise files in the exercise files folder so once again make sure you have those downloaded if you’d like to work along with me so with all that said it’s time to dive into word 2021 once again my name is deb and i hope you enjoyed this course the first exercise of this course is a very simple and straightforward one i’d like you to ensure that you have a working copy of word 2021 downloaded and installed onto your pc and i’d also like you to make sure that you’ve got the course and the exercise files downloaded and stored somewhere that’s easily accessible once you’ve done both of those two things then you’re pretty much ready to start the course now if you’d like to see my answer to this exercise then please keep watching the first thing i asked you to do for this exercise was make sure that you have a copy of word 2021 downloaded and installed and there are numerous different websites you can go to in order to download a copy of word 2021 just wherever you go to do this make sure that it is a legitimate copy once you’ve downloaded it and install it onto your pc depending on which operating system you’re using and i’m currently using windows 11 but it is very similar on windows 10 go down to your taskbar open up the start menu and you should be able to see word in your list of applications if you can’t see it there immediately then you’ll need to search for it simply by typing in word and you can launch it from there if you’d like to go a stage further and pin it to your taskbar then you can simply right click and choose pin to taskbar mine says unpin because i already have it pinned down there so that makes word super simple for you to access every time you want to open it once you’ve got a copy of word installed the next thing to do is download the course and exercise files that you’re going to need to run through each lesson with me now you’ll find the course files for this course underneath the course resources tab and you should find two links just here one for the exercise files and one for the instructor demo files now this example is for word 2019 but if you’ve bought the 2021 course you’ll see the exercise and demo files for that version listed just there that is pretty much it once you’ve done both of those things then you are ready to start the course for the next section you’ll want to download the course exercise files click the link below in the video description to get these you can also scroll through the details to find timestamps for each section in this course if you’re enjoying this training please leave us a comment so let’s start out in word 2021 by firing up the application and having a little explore of the interface now when you first open up word 2021 it’s going to take you directly to what we call the start screen and you only really ever see this screen in this format this layout when you first open word and it’s a very simple screen to navigate around on the left hand side we have a very small menu the three main buttons we’re interested in here are home new and open so if we start out with the home page which is what we’re looking at now this is where you can come to create a new blank document you can see i’ve got that highlighted at the top here or i can select a template to create a document from and there are hundreds of templates in word that you can use which really takes all of the hard work and the stress out of creating certain types of documents i’m going to talk a lot more about templates later on but just know that you can access them from here and if you want to see the full list we have a more templates link all the way over on the right hand side we’re just going to open up our template gallery and allow us to search for specific templates but as i said more about that a bit later on let’s jump back to home and take a look at what we have in the lower half of this screen well this is where you’re going to find all of the documents that you’ve recently accessed and the number of documents that you see in this list very much depends on what you have set in your word options and i’ll show you where to go to change this in a moment so this is just a super quick way of seeing the last documents that you access the last documents that you used and being able to get back to them quickly if i want to open one of these i can simply double click and it’s going to open that up in word so really nice and straightforward now that i’ve got a document open if i try and get back to that start screen you’ll find that you actually can’t if i jump up to file which takes us into the backstage area we get to a similar screen but it’s not exactly the same as the start screen so i just wanted to highlight that in case you were wondering well how do i get back to the start screen if i’ve opened a document you actually can’t you need to close down all of word and then re-open word again to get back to that page now what you’ll also notice with all of these recent documents is if you select one of them and right click notice that we get a right-click menu so again we can open we can open a copy we can delete the file we can even remove the file from this list so if there’s something in your recent list that you don’t really need you could choose simply to remove it it doesn’t delete the file it’s just going to remove it from your recent list but the one that i want to focus on here is pin to list because if you select this option what it’s going to do is it’s going to pin that particular document notice that we also have a pinned category just here so if i click on pinned you can see that any documents that i’ve pinned will appear in their own exclusive list you’ll also notice that if we go back to recent anything that you pin is going to appear at the top of your recent list it’s not going to move as we open more documents so this is super useful if you have a few documents that you find yourself accessing all the time you can simply pin them to the top of the list and they’re always going to be there notice that when you do pin a document you get the little drawing pin icon just here and of course if you want to do the reverse and unpin any documents you can simply just click on the drawing pin icon to unpin the item from the list or you can right click your mouse and unpin it from that right click menu so that is pretty much what you have on that home page let’s jump across to new and take a look at what we have in here well as you might expect this is where you would come if you want to create a new document and that might be a blank document you can see that’s the first one in the list or we might choose to create a document based off of a template for example if i am writing a cv or a resume i might want to start from a template as opposed to from a blank document and you can see here we have a template for a resume just below now as i mentioned word does contain hundreds of different templates all divided down into different categories which makes them a lot easier to find and we are going to cover templates how we use them how we save them in later lessons so at this stage the only thing you really need to remember is this is where you can come to create blank documents or documents based off of a template the next button we have in this left hand menu is open and this is where you can come to you guessed it open documents and you can pretty much access any location where you might have documents stored and yours might not look exactly the same as mine it depends what type of cloud storage you use and if you’ve connected that to word so you can see here right at the top i’m clicked on recent and on the right hand side it’s showing me a list of all of my recent documents and if i click across to folders i can see all of my most recent folders that i’ve saved into so this is just here to help me find the document that i want to open so if it’s something in the last week i’m more than likely going to find it somewhere in this list and i can simply double click to open it or i can right click my mouse and choose open now underneath recent i then have some connections set up to the cloud storage that i use so i generally tend to save all of my files not just word files all types of files into onedrive for safe storage i also have a sharepoint site that i sometimes save files into so i have both of those connected to word to make it really easy for me to access any of the folders that i have in my cloud storage you’ll notice if i click on onedrive it’s opening up my teams folder this is the only folder that i have in this particular onedrive account but i can navigate through the different folders and choose to open a file from there also notice i have onedrive personal storage here as well so this is for my more personal files but if you do want to open a file from your pc so maybe it’s in your my documents folder or save to your desktop you have a this pc option as well which is going to allow you to navigate through those folders and find the file you want to open if you don’t like this particular structure and you prefer to open your files through file explorer you can also click on browse which is going to open that file explorer window for you and you can then navigate to open the file that you need and then finally here we have an add a place button and this will really just help you set up a link to your onedrive cloud storage account so if you do have one drive and you want it to appear like mine do in word you can simply choose add a place and then select if you have a onedrive personal or onedrive for business and then just walk through the process of adding that in so that is pretty much everything you have underneath open super easy to find and open your files the last three menu options that we have at the bottom here account feedback and options let’s quickly click on account and take a quick look at what we have in here well as you might expect this is where you can come to take a look at your user information so for example if i want to change my photo i can do that from here if i want to sign out of this account or sign into a different account i can do that from here as well i can do things like change my office background so if you take a look all the way up in the right hand corner notice i kind of have this circle and stripes pattern i can change that from here to something completely different if i want to i can see my connected services again and again i get the opportunity to add onedrive or onedrive for business services on the right hand side we can see a little bit of information about the office product that we’re using so you can see here i’m using microsoft office professional plus 2021 this is also where you would come to update your version of word now updates are automatically downloaded and installed but if you want to manually check for an update you can do that from here now feedback at the bottom this is just if you want to send some feedback to microsoft about something you like something you don’t like or you might even want to suggest a new feature and then finally at the bottom we have options and this is where all of your settings for word live and making changes here really allows you to customize and set word up so that it works in the best way for you now again we’re going to be diving in and out of word options as we go throughout this course so we’re not going to go through each of these headings the only thing i want to show you is how you can modify how many documents you’re seeing in that recent documents list on the start screen so if we jump down to the advanced section and use our mouse to scroll down once we get to the display category here it is the first option just here show this number of recent documents i have mine set to 50 but you might find that that is a little bit excessive and you might want to set that to something else so let’s just say 25 and click on ok but that is basically a quick run through of the start screen in word 2021 so now that we’re a little bit more familiar with the start screen it’s time to load up a blank document and get ourselves comfortable with the word interface now there are a few different ways that you can create a new blank document we’re going to take the easiest route as we clicked on the home page up in this new section we’re simply going to double click on blank document now that’s going to load a blank document into the main word screen and this is the screen you’re going to be working in the majority of the time so let’s get ourselves comfortable with what we’re looking at just here now if you’re already a word user or you use other microsoft applications like excel or powerpoint then you’re probably already very familiar with the ribbon structure layout it’s been around for quite a few years now and most people are using versions of word which have this same layout now what you’ll find is right at the top of the screen where we have the blue bar this is what we call add title bar and you’re going to see a couple of pieces of information in this title bar if you cast your eyes all the way over to the left hand side notice i have a very tiny little drop down just here now this is actually the quick access toolbar and we have a whole lesson dedicated to what the quick access toolbar is and how we can customize it for now just be aware that currently our quick access toolbar is located in the top left hand corner we then move across and we have the title of this document now because i haven’t saved this document as yet i’m just getting the generic name of document one we’re going to save this in a couple of lessons time we then have a handy search bar and this search bar is really useful if you are struggling to find a particular command on one of the ribbons it’s also where you can come to read more about a specific command and access the help files and then finally all the way over on the right hand side we have these little buttons that are fairly consistent across all of the microsoft applications we can see our account information up here we have some ribbon display options as well which i’ll come back to in a moment after we’ve spoken a bit more about ribbons and then finally we have the minimize button so if we want to minimize word down into the taskbar we can do that and we can even snap the layout i can choose to snap my copy of word to the left hand side of my screen and then choose another application to open up in the right hand side of the screen and then finally we have a close button all the way in the top right hand corner now the thing you need to remember about this close button in the top right hand corner is that it will close down all of word so if you have a few different documents open it’s going to close all of the open documents if you simply want to close the document that you currently have open this is where you would go to file and down to close so it’s still going to leave word open it’s just going to close down that one particular file whereas if we click the cross it’s going to close down all of word now let’s just fire word up one more time and just create a new blank document now underneath that title bar this is where we have our ribbons and the ribbons are really there to house all of the commands that we use in word and all of the commands are categorized not only onto different ribbons but also into different groups for example on the home ribbon we have a clipboard group that contains things like cut copy paste we have a font group with all of our font formatting options paragraph group for alignment and then we have a group for different word styles and then an editing group at the end where we can do things like find specific pieces of text and replace them and all commands are categorized in similar ways and in general you’ll find your most commonly used commands on the home ribbon if we click across to insert and just take a quick look at some of the things we have on here this is where you would come to insert different things into your document that might be a table or a cover page or maybe a shape or an icon or maybe something like a comment or a link or a header and footer the draw tab is where we’re going to find all of our drawing tools particularly useful if you work with a touch screen device and a stylus we have a design tab to help us control the look and feel of our documents a layout tab where we can do things like change the orientation add margins add line breaks things like that a references ribbon for adding things like tables of contents footnotes and endnotes or even an index at the end of our document the mailings tab is where we come to do good old mail merge so if we need to create a lot of letters or envelopes or labels addressed to different clients or customers this is where we can come to do that we have a review tab which is a tab that you tend to access towards the end of completing your document so it houses things like spelling and grammar the thesaurus and we can do things like track changes and also compare documents the view tab is where we can come to adjust how we’re viewing our document and just note here that in the views group at the beginning currently i have print layout selected it’s worth noting that print layout is predominantly the view that you’re going to be using when you’re putting your document together and then finally we have a help tab and we’ll come back to this later on in this section when we discuss where you can go to get help in a bit more detail so just remember these are called ribbons we then have groups which contain all of our commands now one tab i haven’t really mentioned is the file tab and that is because it’s not really considered to be a ribbon this gives us access to what we call the backstage area and this kind of looks a little bit similar to the start screen but we have a lot more options so this is where you would come to do your more admin style tasks for your document it’s where you come to create new documents to find your templates to open new documents we can also do things like save from here print our document share it export it so on and so forth and we’ll be diving in and out of here as we go throughout the course now notice if you want to get back to your document all the way at the top on the left hand side we have a back arrow we can simply click that to take us back to that document a couple of final points before we end this lesson obviously in the main bulk of this screen we can see our blank document our cursor is flashing which means we are ready to type and then right at the bottom we have the status bar and the status bar is really there to show you different pieces of useful information for example currently i can see all the way over on the left hand side that i am on page one of one i’ve typed zero words i can see the a language that i’m using so in this case english united kingdom it’s checked my accessibility so how accessible is my document to people with disabilities well i haven’t put anything in the document yet so it’s telling me that it’s good to go and then all the way over on the right hand side we have a zoom slider to help us zoom in and out of our document and we can also switch the way that we’re viewing our document from down there as well now the final point to note here as i mentioned i would come back to it is related to these ribbons so currently i’m displaying my ribbons which is perfectly fine because i want to be able to see all of my commands but if we go all the way up to the right hand side remember we’ve got a little ribbon display options button just here and if i click it i have a few different options in relation to how i’m viewing these ribbons for example if i want a little bit more room on the screen a little bit more real estate to work with my document i can choose to auto hide the ribbon which is going to collapse up those ribbons and give me more space to see my document if i click on the three dots again it’s going to bring that back down if we click on ribbon display options again i might choose to just show the tabs so this time i can still see the tabs but i can’t see the actual commands underneath if i want to access them i can click on insert and it’s going to drop that ribbon down and if we click on ribbon options again i can choose to show tabs and commands which is the default and if i’m honest probably the option that i use the majority of the time so that is the word interface make sure you’re familiar with it and comfortable as we move forward through this section when we start working with word documents what we generally tend to find is that we spend quite a bit of time aligning and positioning different objects on our pages for example i might want to align different paragraphs or different words i might want to align pictures or shapes on my page and one thing that’s really going to help with this is the ruler now currently i don’t have my rulers turned on so i just wanted to take a quick moment to show you where this setting is so that you can make sure that you have your rulers turned on now when it comes to rulers we can choose to have a horizontal ruler or a vertical ruler or we can choose to have both and you’ll find the ruler option on the view tab at the top so let’s click on view in the show group in the middle here notice we have an option for ruler now look what happens when i hover over ruler i’m getting what we call a screen tip appear on the page and screen tips are so useful because they give you an idea as to what this command does and you’ll notice that these pop up whenever you hover over any of the commands on the ribbon so this tells me that this is going to show rulers next to the document we can see tab stops move table borders and line up objects in the document also you can measure stuff so pretty useful let’s click in the box to turn the rulers on now notice here we have a horizontal and also a vertical ruler now take a look at the measurements here currently my measurements are set to inches in the uk we tend to still use inches slightly more than we use centimeters but that might be different for you you might be somebody who much prefers to use centimeters well the good news is that we can change the measurements that we’re using for our rulers so where do we go to change our measurement units well if we go to file we’re going to find this in options because effectively we’re customizing how our copy of word works for us and we’ll find this underneath advanced again now if we use the scroll bar to scroll through some of these options because we do have quite a lot in here we’re going to find it underneath that display section again so this is where we were previously when we modified the number of recent documents that we could see now notice here it says show measurements in units of and then mine is set to inches but if we click the drop down we can choose centimeters millimeters points or peakers so if we select centimeters and click on ok notice that my ruler has now changed so make sure you get your rulers set up to display a measurement that’s meaningful to you now the other thing i just wanted to mention very quickly in this lesson so you’re familiar with it as we’re going to use it quite a bit as we move through this course is how to zoom and when we say zoom i mean zooming into the document or zooming out of the document now to demonstrate this i’m just going to add some text to this document and this is a quick little trainer trick in order to get a few paragraphs of dummy or test text into a document we can type in equals rand and then we can specify how many paragraphs and how many lines we want so i’m just going to say 5 comma 5 and that’s going to give me five paragraphs of five lines each of random text now if i want to zoom into this document there are a few different things i can do if we cast our eyes all the way down to the bottom right hand corner of the screen we have what we call the zoom slider and you can see that currently i’m zoomed in to 110 percent in this document but if i want to change that i can simply drag the slider to zoom in or drag it all the way out to zoom out and of course the one in the middle there is going to be 100 alternatively if you are using a mouse that has a scroll wheel you can hold down the ctrl key and use your scroll wheel to scroll in and back out again and then the final way that you can zoom is again up on the view ribbon so in the zoom group we have a zoom button and then we have a 100 button so if we click on zoom this is where we can define or choose the exact percentage that we want to zoom to so i have options for 200 percent 100 or 75 or i can be very granular about how much i want to zoom in or out and use this little percent box just here to select my zoom level i also have some other presets here i can zoom to exactly the page width i can zoom to the text width or the whole page so if i choose text width and click on ok it’s going to zoom in so that the text is exactly at the end of the page now if i quickly want to zoom back out to 100 instead of using the zoom slider or trying to get it right with the scroll wheel this is where we can use the 100 button to take the document back to that zoom level and again in this zoom group we can zoom into one page so it’s kind of going to zoom out and just show me one page of my document i can zoom to multiple pages which doesn’t work for me at the moment because i only have one page or i can zoom in to exactly the page width so a few different zoom options in there for you to play around with so the main takeaways from this lesson are to make sure that you have your rulers turned on and they’re displaying a unit of measurement that’s meaningful to you and also know the different options that you have for zooming in and out of your documents another important thing to make sure that you have turned on when working with word documents is check spelling as you type this is a super helpful option that really keeps a check on your spelling as you’re working through your documents if it finds that you’ve spelt a word wrong or even if you have a grammatical error it’s going to flag it to you immediately so that you can correct it so if we’re correcting all of our errors as we’re working through our document it really diminishes the need to do a blanket spell check at the end of the document now i would always recommend that you do do a final spell check before you send this document off to someone important but you’ll find that it’s a lot quicker if you’ve already been checking your spelling and your grammar as you’ve been typing the document now check spelling as you type is another one of those little options that we need to toggle on or toggle off depending on if we want to use it so let me first show you a little example of how spelling and grammar flags in word now the first thing i’m going to do here is i’m simply going to delete out all of this junk text that i added in the previous lesson so a couple of little shortcuts coming up here to delete all of this text i just need to make sure i’m clicked somewhere in this document i can press ctrl a which is going to select all of the text and then i can simply press the delete key so now i’m going to type a sentence but i’m going to make a grammatical error and also a spelling mistake now notice what happens now that i’ve typed that sentence i’ve typed in word we can use and tremplate to create and document so that’s not a particularly great sentence but it is an accurate representation of the types of words that we can type if we’re typing really fast now notice what’s going on here where we have the spelling mistakes those are underlined and automatically flank to me with a red squiggly underline now notice what word’s done here it’s flagged not only the spelling mistake but also the grammatical errors so spelling mistakes are going to appear with a red squiggly line underneath them and your grammatical errors are going to appear with a blue double underline and the cool thing about this is that we have the option to correct these on the fly as we’re working with the document so what i can do here is where we have an which is a grammatical error i can right click my mouse and it’s going to give me a choice at the top here of what this word should be and yes it should be a in word we can use a template so now i need to correct the spelling mistake we can right click i’m getting my choices at the top here and i’m going to select template and finally we have another spelling error just here let’s right click and yes this should be two and now that i’ve corrected those and word has this sentence in context in its brain it’s also picked up that the an is a grammatical error and again that is correct it should be a so let’s right click and choose a from the list now if you go through and check your spelling as you type when you get to the end of your document you can still run a blanket spell check and in fact you can run a spell check at any point so let’s just take a quick look at how we would do that there is a shortcut key to invoke spell check and that is f7 notice that it’s come up spelling and grammar check is complete now we’re going to do this a bit later on with another document so you can see how you can work with the internal dictionary but also remember that you can find your spelling options on the review tab as well in the proofing group so if we click spelling and grammar that’s basically the same as pressing the f7 key because i have no spelling mistakes because i’ve been checking as i’ve typed i’m just getting a message saying that the check is complete now if you find that when you’re working and typing text into your document it’s not flagging up any spelling errors or grammatical errors it might be that you don’t have check spelling as you type turned on your word options so let’s jump across to file down to options and this time we want to go to the proofing page and right at the bottom here this is the option you’re looking for check spelling as you type and also mark grammar errors as you type and i also like to have frequently confused words turned on and also check grammar with spelling as well so in general i’ll have these four turned on what you’ll probably find if it’s not picking it up that this option has been deselected so make sure you have a tick in that box click on ok and then you can correct your errors as you go at the start of this course when we were taking a quick whiz around the word interface i mentioned very briefly the quick access toolbar in this lesson that’s exactly what we’re going to focus on because it is such a great tool to help you with efficiency now if you recall all the way up in the top left hand corner i highlighted to you this little drop down arrow notice if i hover over it it says customize quick access toolbar now at the moment this isn’t particularly interesting we just have a drop down arrow so what exactly is this toolbar and how do we add things to it well the quick access toolbar is a way that we can create shortcuts to commands that we use most frequently so instead of hunting through the different ribbons looking for the commands that we want to use if it’s something we use all the time it’s much easier just to add it to the quick access toolbar and have it easily available and we can add any command that’s available in word to the quick access toolbar now if we click this little drop down notice what we have here we have a selection of 10 to 15 or so commands that we can automatically add to the qat and i guess these are commands that microsoft have deemed useful to everybody so most people will create new documents on a fairly frequent basis most people will save most people will print at some point and in particular a lot of people like to use the undo and redo buttons so we have a small selection here of commands that we can very quickly add to the qat or the quick access toolbar with one click so i’m going to add new and you can see as i do that the icon appears i’m also going to add let’s do undo and also redo and i’m also going to add automatically save to give myself this little slider i’m going to talk more about auto save when we get to the part about saving documents but hopefully you get the idea of what we’re doing here we’re simply just adding default commands to the quick access toolbar to make them easy to access now obviously when we click this drop down we only have 15 commands that we can add to the qat from here but what if i want to add something completely different maybe i am always inserting tables into my documents how can i add the table command to the quick access toolbar well what we can do is we can jump across to the insert tab here is the table command i can simply right click and choose add to quick access toolbar to put that up there so you can basically right-click on any of your commands on any of these ribbons and add them to the quick access toolbar if they have little drop-downs those will come with them as well now what about if i want to add a command to my quick access toolbar that doesn’t show on any of the ribbons you’ll see in a moment as we start to go through this course not every command is visible all the time in word so what about those hidden commands or commands that are on menus that aren’t currently active well we can click the drop down again and we can go down to more commands now this screen will probably look familiar because it’s basically just jumped us into our word options and it’s placed us into the quick access toolbar page and this is where we can add any command available in word to that qat now if we start on the right hand side notice that this is showing my quick access toolbar and all of the commands that i currently have on this toolbar also notice that next to this area we have up and down buttons so i can rearrange the order of my commands so maybe i want to move undo and redo up to the top because i use those most frequently now over on the left hand side this is where i can find all of my commands in word and they’re split down into different categories so currently i’m viewing all of the popular commands in word and notice that the commands are listed out in alphabetical order which does make it a little bit easier to find them if i want to see a list of the commands that are not in the ribbons i can choose that group or maybe i just want to see a big long list of all commands available in word i can choose all commands and now i can scroll through and find absolutely everything so the idea here is to find the command you want to add so i’m going to say let’s add some alignment tools so i’m going to select align center and then i’m going to click the add button in the middle to add that to my quick access toolbar let’s also do a line left and also a line right and obviously you can probably see how this works if you want to remove anything from the quick access toolbar you can do that from here you can just select it and click the remove button in the middle and now maybe i want to reorganize these so let’s move auto save up to the top and then i think i’m fairly happy with the order of the rest of these so now if i click on ok it’s going to update my quick access toolbar into the order that i’ve specified it’s also worth noting that if you want to delete commands from the quick access toolbar without having to go into options you can simply right click and choose remove from quick access toolbar now another thing you might want to do here is change the actual position of the quick access toolbar currently it’s kind of up there in the title bar it’s nice and tucked away so it’s not getting in the way of my document but if you find that you kind of forget that it’s there when it’s up in the title bar you can click the drop down and choose show below ribbon to place it underneath your ribbons and this is generally how i prefer to have my quick access toolbar the final thing you can do here is you can add or organize your commands by using separators this isn’t something you have to do but if you want to sort these into groups of commands that are related together then separators work quite well once again if we click the drop down and jump into more commands notice at the top of every one of these groups so it doesn’t matter which one we select we always have a separator option so i’m going to add a couple of separators let’s just select it and i’m going to add a couple of these and then i can move them into position so maybe i want to separate off save undo and redo from my other commands and maybe i want to separate off my alignment tools from my new file command now when i click on ok you can probably see very faint separator lines between these different groups of commands which just helps me keep my quick access toolbar a little bit more organized but that’s how you can add commands to your quick access toolbar or qat for short to improve your efficiency when you’re working inward keyboard shortcuts are another way to help yourself become a lot more efficient when you’re working with word keyboard shortcuts allow us to execute different word commands without touching the mouse and you might think well why would i want to do that we have to remember that when you’re working in a word document and you have your hands on the keyboard and you’re busy typing away sometimes it can be a bit of a pain to keep having to reach for your mouse to select your commands from the different ribbons what is sometimes a lot quicker is to be able to use the keyboard to execute a shortcut to perform a task and in word we have lots and lots of different shortcuts and the good news is that if you’re coming from an older version of word or even if you’re coming from another microsoft application like excel or powerpoint many of the keyboard shortcuts are exactly the same in word now as i mentioned there are hundreds of keyboard shortcuts in word and you’re definitely not going to be able to remember all of them in general what i tend to find is that most people have a selection of about 10 to 15 that they use all of the time and most of those are to execute really common tasks for example if i want to copy this line that i have in this document i can highlight the sentence and press the keyboard shortcut ctrl c which is going to copy it i can then move somewhere else in the document and use the keyboard shortcut ctrl v to paste it if i want to make a word in one of these sentences bold i can simply select it by double clicking and use the keyboard shortcut ctrl b to make it bold what about if i now want to make it italic well i have a keyboard shortcut for that as well of control i or maybe i want to align the entire sentence into the middle of my document ctrl e to do that and if i want to print ctrl p is going to take me to the print preview area so that’s a selection of a few common keyboard shortcuts there are a lot more but really what i want to focus on in this lesson is where you can find a list of the keyboard shortcuts and how you can really work efficiently using shortcuts and the ribbons now when it comes to finding shortcut keys for different commands there are a couple of different places you can go to a lot of the commands when you hover over them will show a screen tip and if it has a keyboard shortcut you’re going to be able to see that shortcut for example if i go to the home ribbon and the font group notice here we have the bold icon if i hover my mouse over it it tells me that it’s going to execute bold it’s going to make the font bold and it’s showing me that keyboard shortcut ctrl b if i hover over let’s say the new document icon on the quick access toolbar i’m also seeing the keyboard shortcut there of control n what about if i hover my mouse over the center alignment well we’re seeing that keyboard shortcut there as well control e and another keyboard shortcut we looked at if we jump to the review tab and hover over spelling and grammar we can see the keyboard shortcut there of f7 so if the command does have a keyboard shortcut you’re going to see in the screen tip in brackets unless you’ve turned screen tips off more about that in the next lesson now aside from looking at these screen tips where else can we go to find a list of keyboard shortcuts well we can use the help files now i’m going to use the search bar at the top of the screen and notice when i hover over the search bar this itself has a keyboard shortcut of alt q so if i’m clicked somewhere else down here in my document and i quickly want to jump up to that search bar i can press alt q and my cursor is going to move up to that area what i can do from here is i can simply type in keyboard shortcuts and what i’m going to choose here is get help on keyboard shortcuts this is going to open up the help files it’s going to open up this pane on the right hand side and we are going to explore help in a little bit more detail in a couple of lessons time so what we can do here is we can click on this top link and that’s going to take us directly to a very comprehensive list of all of the keyboard shortcuts in word now because there are so many of them they are divided down into different topics so let’s take a look in frequently used shortcuts so this is where you’ll find the most common shortcuts so ctrl o to open a document ctrl s to save a document ctrl w to close we’ve got our cut copy and paste control x control c and control v a shortcut you saw me use earlier when i deleted all the text from the document ctrl a to select all ctrl b to apply bold ctrl i to apply italics so on and so forth so my advice to you here is to write down a few keyboard shortcuts for commands that you find yourself using frequently and you’ll find that over time you’ll commit these to memory and it becomes very instinctive to use the keyboard shortcut as opposed to clicking on the icon on the ribbon so you can find keyboard shortcuts in the help files the final thing i want to show you here is a really cool way of basically completely working with keyboard shortcuts as opposed to using your mouse so if you are someone who likes to keep their hands on the keyboard at all times this might be a good option for you if we press the alt key notice what comes up on the ribbons pretty much everything that we have in this top part of the screen now has its own shortcut key assigned so if i want to go back to the home ribbon i can press the h i then get an entirely new set of keyboard shortcuts so if i now want to type in bold i could press number one and now when i type notice that it’s all in bold i can press alt again to bring that list back up maybe i want to go to the insert tab so i can press n and insert a table let’s press t it’s going to give me that drop down and then i can then hold down shift and define using my arrow keys what size table i want to insert hit enter to accept so you can pretty much work with keyboard shortcuts the entire time simply by pressing that alt key if you have your alt keys displayed and you want to come out of there you can simply press the escape key on your keyboard in this lesson i want to speak to you in a little bit more detail about screen tips text your menus and contextual ribbons now we’ve briefly spoken about screen tips in previous lessons if we hover our mouse over any command on the ribbon we get a screen tip pop-up which gives us an idea as to what that command actually does it will also show us in brackets if there is a keyboard shortcut assigned to this particular command now i find screen tips really useful sometimes if i’m just looking at a particular icon i don’t really know what it does but i can get an idea by reading the information in those screen tips now it might be over time as you become more familiar with word you don’t necessarily want to see these screen tips popping up all of the time because some of them are quite large and they can kind of get in the way now you do have control over not only the information that you can see in these screen tips but also if you have them turned on or turned off so again let’s take a quick look at that as you might have guessed we’re going to find this in our word options so let’s go to file let’s go back down to options and this time we want to click on general now the first group here is user interface options and you’ll see right at the bottom of this group it says screen tip style so i have my screen tips set to show the feature descriptions in my screen tips but we do have some other options in here i could say don’t show feature descriptions in screen tips let’s see what that looks like so we can click on ok and now if i hover my mouse over format painter for example notice it’s still telling me the keyboard shortcut but it’s not showing me any information as to what this command does let’s go back to file and into options the other option we have in here is to not show them at all so again if we click on ok when i hover over any command i’m not getting any type of screen tip showing there now as i said i find screen tips really useful so i always like to make sure that i show feature descriptions so that’s what screen tips are but what about contextual menus well those are pretty much what they say on the tin they’re menus that come up but they’re menus that are within the context of wherever it is that you’re clicked so for example my mouse is currently clicked in this line of text that we have at the top of the page now to access contextual menus you right click your mouse and when we’re talking about contextual menus it’s this menu we’re talking about here so all of the commands that i can see in this right click or contextual menu are related to wherever i’m clicked so because i’m just clicked in text i can change the font i can change the paragraph i can maybe create a link or add a new comment now this contextual menu is going to be different depending on what it is that i’m clicked on for example i inserted a table using shortcut keys in the last lesson now if i click inside this table and then right click my mouse i get a different type of contextual menu because this time it’s showing me things that are specifically related to tables such as inserting columns and inserting rows so contextual menus change depending on where you’re clicked now another thing you might have noticed there when i right clicked my mouse is that not only do we get this contextual menu we get what we call a mini toolbar and this mini toolbar will pop up whenever you right click and it just contains commands that people generally tend to use frequently in their documents and really this is just here to make it a little bit easier for you to access those commands you don’t have to stretch your mouse quite as far you’ll also notice that that mini toolbar will come up when we make a selection on the screen so if i select the word template notice that that toolbar pops up again so i can very simply make it bold maybe i want to add a highlight color or do something else now again this is one of those features that some people really like and find useful and other people just find simply annoying and i will say that i do find this a little bit annoying sometimes if i’m just making different selections this toolbar keeps popping up and covering some of the words that i’m trying to read now if you want to turn off the mini toolbar you can do that now be aware of what i’m saying here when we turn off the mini toolbar we’re simply turning it off for when we make selections in a sentence we’re not turning it off when we right click it’s always going to show when you right click but the setting toggles off if it shows or not when you select a word or a paragraph or something else so let me show you where that setting is once again you guessed it up to file and into options with staying on the general page in user interface options it’s this option just here show mini toolbar on selection so if we deselect that and click on ok notice that when i right click it still comes up but now if i select a specific word i’m not getting that toolbar so it really is a personal choice as to whether you want to display that or not now the final thing to speak about in this lesson is contextual ribbons and again these are ribbons that are only displayed when they’re needed so for example if we take a look at the ribbons that i currently have let’s just do a quick review of the current layout of my ribbons the last ribbon i have here is the help ribbon now take a look what happens to these ribbons when i click inside the table so i’m going to move my mouse down click inside notice i now have two additional ribbons table design and layout so if i click on table design i now have lots of different design options for formatting my table and if i click on layout this is where i can come to do things like delete the table or maybe insert new rows or columns or split the cells now these two ribbons are considered contextual ribbons because as soon as i click my mouse somewhere else in the document outside of the table they disappear so it’s a great way of making sure that your word isn’t cluttered with lots of different ribbons that you don’t necessarily always need it only shows them when they’re relevant and you’ll find this depending on what you’ve selected so if i’ve got maybe a picture or an icon inserted into my document i’m going to get contextual ribbons so let me show you that very quickly we haven’t covered inserting things yet but just to give you an idea i’m just very quickly going to insert an icon i’m just going to choose this plain icon from the icons library notice that when i have it selected i now have a new contextual ribbon called graphics format and this is going to allow me to change the color change the outline change the alignment grouping so on and so forth of this particular selected object also note that if you right click on this you’re then going to get a contextual menu related to graphics and again this is going to contain different options to when we simply right click on something like text so just start to be aware of this concept of contextual menus and contextual ribbons in the final lesson of this section i just want to revisit because this is a really important thing to know particularly if you’re new to word or you’re still learning word you’re probably going to find yourselves diving in and out of the help files all the time so it’s good to know the different options that you have and how you can best work with the very comprehensive library of help files now the first thing that’s most obvious when it comes to accessing help is that we have a help ribbon just here now if for some reason you can’t see this help ribbon it’s worth checking in your word options that you have the help ribbon selected i know sometimes help isn’t added as a default ribbon when you first open word so let’s quickly check where that option is so you can make sure that you can see this ribbon so once again we’re going to go back to file and into options and this time we’re going to choose the customize ribbon page now over on the right hand side this is where you can see all of the ribbons you have access to and the ones with ticks next to them are the ones that are currently displaying so if for some reason you can’t see help it might be that you have it deselected so make sure that you have a tick there click on ok and then you can see that help ribbon now the first button here is where we can access the help files notice the keyboard shortcut here of f1 and you can invoke f1 at any time when you’re working in your document so let’s click on help it’s going to open up a pane on the right hand side and it’s worth noting that this pane is what we call a pop-out pane so you don’t have to have it docked to the right-hand side the entire time if you would prefer to have it as its own separate window you can simply click somewhere in this header and drag it and it becomes this little pop-out window that you can resize make bigger or smaller and sometimes it’s a little bit easier to see than when it’s docked over on the right hand side if you want to re-dock it you can simply grab it by the title bar again and drag it all the way over to the right hand side and it will re-dock itself now when we first dive into the help files we’ll find that all of them are categorized to make it a bit easier for us to find things so for example i have some popular topics up here so things like getting started if we expand this we’re going to have a few topics here of how to create documents in word how to add and format text and pictures shapes smart arts so on and so forth if we want to go back a screen we can click the back arrow to take us back to that main help page so we can browse through these different sections and find help on a vast array of different topics you also might find that throughout these help files you have useful video demonstrations as well to show you how to use a particular command and if we scroll down to the bottom we’ll always find things that kind of related to what we’re looking at underneath so if i want to know how to show or hide the ruler which is something we did a bit earlier i can click on that link to jump to that specific help file now aside from clicking back we also have a home icon here which again is just going to take us back to this main page now if you’re looking for something very specific and you don’t necessarily want to have to browse through all of these different categories we can search through the help files so maybe i want to insert a table and i need some help to be able to do that i can simply type in whatever it is i’m trying to do and press return and it’s going to search through for that particular phrase and would you take a look at that the first item in the list is insert table i just need to click on the link i have a useful little video just here which is going to show me that process and then i have some instructional text underneath with helpful screenshots so really easy to find what you’re looking for in those help files remember shortcut key f1 once you’re done with help you can click on the cross which is going to close down that pane another way that we can get help is by using the search bar up there in that title bar and this is pretty much what we did earlier when we were searching for that comprehensive list of keyboard shortcuts so i’m going to use the shortcut alt queue to put my cursor up in that search area and from here i can search for what i’m looking for so let’s use the same example if i go insert a table now notice here in this search area it divides it down into different categories so if i was looking for the command to insert a table it’s going to show me that underneath actions so there it says add table and i can simply insert a new table directly from this search area which is super useful but in this instance i don’t necessarily want to insert a table i just want some more information and you’ll notice right at the bottom we have a group called get help so if i want to find help on inserting a table i can choose that from here and again it’s going to jump me into the correct section of the help files so that search bar is really useful if you’re looking for something specific now aside from those two locations we also have a few other icons on this help ribbon some of these more useful than others we have a contact support button now you’ll notice here that for me because i’m in the uk contact support doesn’t really work if you’re in the us you’re going to find that you’re going to see some kind of number a way to contact microsoft support so just be aware of that we also have a feedback button so this is if you want to provide microsoft with some feedback so if you really like something you can let them know if you don’t like something you can also let them know or maybe you have a suggestion for a new feature you can share that with them from here as well and then the final icon we have here which is actually a very useful icon is we have access to some training files and learning content so this is really a library of different types of video which will walk you through the process of doing different things in word so again let’s use the same example if i want to insert a table i have a little video just here and i can just follow through these links to get to the correct area within the help files and this is the video that we were looking at earlier of course aside from that you have multiple resources for getting help outside of word so youtube videos community forums word forums microsoft forums all of these things are super useful if you have a particular problem in word and you’re looking for help in exercise two we’re going to practice some of the skills that we’ve learned in this section of the course so the first thing i’d like you to do is i’d like you to open word and simply load up a brand new blank document i’d like you to make sure that you have your rulers turned on and change the unit of measurement if required to suit you so if you use centimeters then make sure that is how your ruler is displaying i’d like you also to ensure the help ribbon is visible and also make sure that you’re checking spelling and grammar as you type and then finally i’d like you to add the following commands to the quick access toolbar italics dark mode find and format painter and i’d like you to move the quick access toolbar so that it’s displayed below the ribbon so see how you get on with that if you’d like to see my answer then please keep watching so the first thing i asked you to do here was simply to open word and load up a brand new blank document so i’m going to go down to my start bar and we’re going to open up word and i’m going to choose a blank document from the home page the next thing i asked you to do was to make sure that you have rulers turned on and they’re displaying in the unit of measurement that’s appropriate for your location so all we need to do here is jump up to the view ribbon make sure that we have a tick in ruler and if for example i wanted to change this from centimeters to inches i would need to dive into my word options and in the advanced area underneath display this is where i can come to change my unit of measurement the next thing i asked you to do was to make sure that the help ribbon is visible in your copy of word so again we need to jump into file and options and this time we go across to customize ribbon and make sure that we have a tick next to help i also asked you to make sure that you are checking your spelling and your grammar as you type and if you recall that is also something that we’re going to find in our word options as i said we dive in and out of here all the time so for this we need to go across to the proofing page and at the bottom here in the section when correcting spelling and grammar in word we need to make sure we have check spelling as you type selected and also mark grammar errors as you type and then the final two parts of this exercise were really all centered around the quick access toolbar so i asked you to add four different commands to this quick access toolbar so the first one was italics now i’m going to find that on the home ribbon i’m going to right click and add to quick access toolbar the next thing i asked you to add was dark mode so you might have had to hunt around a little bit for this now i specifically chose this command because we haven’t talked about this at all so instead of hunting through the ribbons you might possibly have gone into more commands in order to find dark mode so if we switch to all commands remember these are then in alphabetical order it’s going to make it a lot easier for us to find and there it is just there dark mode let’s click on add and click on ok next i asked you to add find and we’re going to find that on the home ribbon all the way over at the end let’s right click and add to quick access toolbar and the final one was format painter right click add to quick access toolbar and then to finish off this exercise i simply asked you to make sure that the quick access toolbar is displayed below your ribbons so all you would need to do here is click the drop down and make sure that you choose show below the ribbon mine says show above because i’ve already moved mine below but that was pretty much it i hope you got on okay with that exercise you are now ready to move on to the next section so let’s start out in the first lesson of this section by talking about some of the basics and that is creating brand new blank documents and also saving them now the first thing i’d advise you to do before we get into the bones of this course is to create some kind of folder to store all of the documents that you’re going to be creating throughout this course in you might decide to create a folder in my documents or even on your desktop like i have here and i’ve just called mine word documents but you can call yours whatever you like because we are going to be creating a lot of documents in this course so you want to have a nice consistent place to save them now when it comes to creating brand new documents there are a few different methods that we can use and by far the quickest and easiest is simply to use the keyboard shortcut control n that’s going to open up a brand new blank document if you take a look at the title bar you can see it it currently has the very generic name of document 2 but we’re going to save this in a moment so that name is going to change now if you want to close a document again we don’t want to use the cross in the top right hand corner because that’s going to close down all of word if we just simply want to close the document that we currently have open we can go up to file and select close from here or alternatively we can use another keyboard shortcut control w that’s going to close down that document but leave word open now what other methods can we use to create brand new documents well we’ve seen some of these in previous lessons aside from the keyboard shortcut we could jump up to file and from the home page we can double click on blank document or alternatively we can go to new and create a blank document from here double click again notice the title bar we now have document 3 up there let’s control w to close down the final method you can use depends on if you’ve added new document to the quick access toolbar now i have it’s this icon just here so once again i can simply click on this to create a brand new document so really nice and straightforward and you’ve got four different methods there as i said by far the quickest is to use control n now once we’ve created a new blank document the first thing we’re going to want to do here is save this document because we don’t want to just leave the default names of document 1 2 3 and 4 because that’s going to make it a bit of a nightmare if we’re ever looking for a particular file and once again there are a few different methods when it comes to saving now if we jump up to the file tab notice here we have two options save and save as and save as is really the default or it’s what you use when you’re saving a document for the first time now that is the scenario that we have here i just have document 4 open i need to save it for the first time so it doesn’t matter if i select save or save as it’s going to basically do a save as so let’s click on save as i then get to select a location to store this file in yours mine looks slightly different to mine depending on if you have cloud storage set up or not now for the purpose of these examples i’m going to save into that word documents folder that i have on my desktop so the easiest thing for me to do here is simply click on browse which is going to pop open file explorer and i can then choose desktop from here and then open the folder i want to save this document to now notice underneath the save as type is docx and this is the default file type for all documents that you create in what if you click the drop down you’ll notice that we do have lots and lots of different file types that we can save at and we’re definitely going to explore some of these a bit later on in the course but for the time being let’s just choose the default of docx now we can give our document a name and i would advise that when you’re naming your documents try and make the name meaningful try make the name as meaningful and descriptive as possible because that’s just going to help you out a lot if you’re ever searching for a very specific file now i’m just going to call this my first document and then we can click on the save button now once this document has saved it’s going to take us into the document but there are a couple of changes here if you glance up to that title bar notice that it says my first document now instead of document two and also notice that the auto save button on my quick access toolbar has toggled itself on now if you can’t see this auto save button it might just be that you didn’t add it to the quick access toolbar so if you haven’t i would very quickly jump into here and make sure you have a tick next to automatically save and this button is amazing because it basically saves your document for you as you type and just a note the keyboard shortcut for saving is control s so i’m going to type a quick heading in here my first document notice in the title bar it says saving and then once it’s saved you’re going to see that indicated up there as well so i haven’t had to save myself it’s automatically saved and this is great because if something unexpected happens as it occasionally tends to for example maybe word suddenly crashes in the middle of a document if you have auto save on it means that you’re not really going to lose any work because it’s saving as you’re doing things now just a final note on saving there are some settings that you can review and customize and as you might expect we’re finding those underneath word options we have a save page just here where we can make some adjustments so for example i’ve got my default format as docx that’s absolutely fine and i definitely recommend not changing that i’ve got save auto recover information set to five minutes which is pretty much the maximum that i would have so if anything unexpected does happen i’m not going to lose any more than five minutes of work and i can also do things here like set my auto recover file location so occasionally if you’re in the middle of a file and maybe word crashes or maybe you accidentally close word down word will actually auto recover the last file you’re working on and place it into this folder here so if you want to change that location you definitely can we also have a default local file location here as well and this can be changed to whatever you like so if you always have a folder that you save files into you can set the default local file location to that so that when you go to save that’s the first folder it’s going to pop open so definitely worth coming in here reviewing your settings and making sure that everything is set up for you the final thing i’m going to do here is i’m just going to add some random text using my little trainers trick again so we’re going to say three paragraphs of three lines notice in the title bar it is saving and we should find that that switches to saved after a few seconds so now if we close this document down control w we should find that when we reopen this file in the next lesson all of the information that we’ve added is going to be there we finished up the previous lesson by adding some text to our first document and then closing that document down so in this lesson i just want to talk briefly about opening existing documents because there are a few different ways that you can do this some from within word and some from outside of word now once again there is a keyboard shortcut for opening documents and that is control o and this is going to jump you directly to that backstage area so this is within that file tab and to the open page and we can then simply jump in here and select a location from which to open an existing file now remember we have access here at the top to all of our most recent documents and folders so as you might expect right at the top of this list because we opened it a few minutes ago is my first document the document we created in the last lesson so this is super easy i can simply double click to open this document and take a look at that auto save has worked because it saved all of our changes let’s close this document down again control w i’m going to do ctrl o to jump back to that same page also if i jump across to folders notice that the top folder here is the folder that i saved that document into so i could double click to open the folder there’s the document double click to open it so really nice and straightforward to open from recent locations let’s control w again and ctrl o one more time the final point to note about this documents and folders list is that if we’re always using my first document we have the ability to pin this to the top of the list as well so if i click on the drawing pin icon it’s going to move that to this pinned area at the top so it’s always going to be there so i quite like to pin documents that i use frequently now aside from accessing existing documents from the recent list it might be that we’re trying to access a document that we haven’t used for a while so it’s not going to appear in this recent list of documents if that’s the case then we need to find it elsewhere now if you have files saved to onedrive or some other storage system as long as you have it added to word you can simply navigate through your folder structure from within here so i can click to open my onedrive i can see my folders i can double click on documents navigate through my folder structure and open something from here and then of course if i have it saved to the desktop like we do i can go into browse which is going to open up file explorer and this then opens up the ability to search for documents so if you are struggling to find something you can use the capabilities of file explorer to search for the specific document that you’re looking for so there is my file i can click on open and once again it’s going to load that into the main window so super easy to open existing files from within word now we can also have multiple word files open at the same time so let’s create another brand new document control n i’m going to call this my second document and let’s just add let’s add some different texts this time and i’m going to save it notice at this stage the auto save is toggled off because that doesn’t kick in until we save so let’s quickly save the file so we’re going to jump up to file save as i’m going to save it in the word documents folder which i have at the top of my recent list and let’s call this my second document now notice that it’s picked that up from the line of text that i have in the first line of the document and this is perfect because this is what i want to call this document so quickly i can click on save so now the document that i’m seeing is my second document but my first document is still open behind because i didn’t close it down and we can very quickly toggle between all documents that we have open by clicking on the view tab and utilizing the switch windows option just here this is going to show you all of the word documents that you have open and you can simply toggle between the two of them by using that little drop down so really nice and straightforward now i’m going to close down my second document ctrl w and underneath we have my first document let’s close this one down as well ctrl w now aside from opening files from directly within word we can also open them from external locations for example if you prefer to navigate or find files in file explorer you can open word files from there so here i’ve opened file explorer i’ve selected my desktop there’s the folder if i double click i’m going to find that in there i have both of the documents that i’ve created in word and because these files have docx file extensions windows knows to open the word application because that’s the application that’s associated with this file type so we can simply double click it’s going to know which application to open and there’s a document similarly if you are using onedrive to store a lot of your files if you log into onedrive online and that’s exactly what i’ve done here i can see there is my folder and there are both of my documents so i can open documents from online as well directly within word so if i click to open my second document it’s going to open it in a browser first of all and if i want to open it in the full copy of word i can click the drop down underneath editing and choose open in desktop app and there we go so a few different methods of opening files there let’s just finish off by closing down both of these so we’re going to say control w and ctrl w again so now we’re pretty clear on the basics of creating a brand new document opening existing documents and also doing things like save and close let’s now talk about templates because templates are a great thing to use if you want to create a document quickly and you don’t want to start from a blank sometimes it can be a little bit intimidating to just start from a blank document particularly if the document that we’re being asked to create is a little bit more complex for example maybe i need to put together some kind of flyer or maybe i want to create a really nice looking resume for potential employers well i could start with a blank and design it from scratch or i could choose a template where a lot of the work is already done for me so let’s take a look at that example let’s pretend that we need to create a resume so let’s jump up to file and we’re going to go into the new page because this is where we can find all of our templates and this is referred to as the template gallery now there are hundreds of free templates available in word and fortunately microsoft has categorized them so we can browse through the categories or if we’re looking for something specific we can simply use the search bar so take a look at the top i can see the different popular categories up here so things like resumes and cover letters or letter templates or templates for flyers or cards or businesses things like that so i could choose any of these categories click and take a look at the templates contained within that category let’s click on back because we’re searching for something quite specific now we have a category here called resumes and cover letters but let’s just use the search so i’m going to type in resume so let’s type that in click on the little magnifying glass or press enter to start the search and this is going to pull back everything it can find in the template library related to resumes you might also find you get some related templates in there as well so things like cover letters so you can have a little look through and choose whichever template you like so i’m going to go through and i think we will let’s choose this one this one looks kind of fun notice also here that when i hover over the template i get that little drawing pin icon so i can choose to pin this template to the top of the list as well so let’s do that let’s pin it and let’s open it so let’s click once i’m going to get a preview of what that template looks like so i can make sure that that is the one that i want to use i can see the title who the templates provided by so in this case microsoft and then i get a little bit of a description about this template so if you’re happy with everything there we can simply click on the create button to load that into the word window and all templates in the templates gallery are free templates and they’re also completely customizable so for every element of this template i can do things like change the color i can switch out the picture and of course i can edit the text and one of the advantages of using a template is that they can be reused so i’m going to make a couple of changes to this template off-camera join me back here in a couple of seconds and we’ll talk about reusing and saving templates so i’ve made a couple of changes to this template i’ve changed some of the colors i’ve added my photo and i’ve added my name at the top but notice that i haven’t added anything else all of this still has what we call the boilerplate or template text and fields now the reason why i haven’t updated this is because it might be that i want to reuse this template at another time and maybe the information will change the next time that i use it however i don’t want to have to create the template again replace the image and add my name and apply formatting so what i could do is in its current form where it just has the updated colors the updated picture and my name i could choose to save this as a template and then i can reuse it next time i want to create a resume now when you save documents as templates it’s a slightly different process so let’s jump up to the file tab and down to save as now i’m going to save this in the word documents folder again and because i’ve pinned that folder i can simply double click to select and the first thing i want to do here is i want to change the type of file i’m saving this as so instead of saving as just a docx file type i need to save this as a word template which has a dot x file type now notice what happens to the folder location when i switch to this file type can you see it’s completely changed it’s taken me directly to a folder called custom office templates and you can see that i have a few other templates stored in here now you don’t necessarily have to save this template in the default templates folder as suggested by word you could choose a completely different folder i could go back to desktop and save it in there but there is one major advantage of saving in the default templates folder so let’s give this template a name i’m going to call this debra ashby resume and click on save so let’s close this document down control w now if we want to reuse this template if we go to file and down to new in the templates section notice we have an office and a personal tab and if we click on personal we should find that our resume is listed just here so this makes it super quick and simple to find templates that you’ve created so that is the advantage of saving the file to the custom templates folder and of course if we want to we have the opportunity to pin this to the top of the list as well now when we reopen the template so let’s double click to load it into the word window notice that it basically loads up as a brand new document if we take a look at the title bar it says document 8 which means we can then make our changes resave this as the updated version of the resume and we’re not overwriting that original template so that is kind of how templates work you can load them up you can redesign the template and then you can reuse them as many times as you like in this lesson we’re going to talk about some of the different techniques that you can use to navigate efficiently around a document and this is particularly useful if you are somebody who works a lot with very long documents now what i’ve done here is i’ve just created a another document and you’ll find this file in the course files folder if you want to open that up and this is a slightly longer document than the documents we’ve looked at so far in fact if you take a look down in the status bar all the way over on the left hand side notice that this document is 19 pages long and currently we’re clicked on page one now what are some of the techniques that we can use to navigate effectively well let’s start out by talking about keyboard shortcuts because there are a few really useful ones which will help you jump between different points of your document for example if we click our mouse just up here in the title area if i want to very quickly jump to the end of my document i can press ctrl end and it’s going to take me all the way down to the end of page 19. if i want to jump back up to the beginning of the document control home if i want to jump to the end of the particular sentence that i’m currently clicked in i can simply press end without using control and home will take me back to the beginning if i want to scroll through my document page by page i can use my page up and page down keys so if i press page down we move down a page so on and so forth and the same works for page up if we click in the paragraph below to jump through a sentence by each word if you press ctrl and then the right arrow on your keyboard you can jump by word and if you want to jump down to the third paragraph for example control down arrow allows you to jump between the different paragraphs in your document so those are a few keyboard shortcuts that can come in really useful but what else do we have in word to help us navigate well we have the find button so up on the home tab all the way over in the editing group notice we have a little find button just here next to it we have a drop down arrow so when we click this we have a go to option notice here that there is a keyboard shortcut of control g to get directly to go to so let’s click on go to and this is going to help us jump to specific parts of our document now we haven’t spoken at all about sections lines bookmarks things like that so for the time being we’re just going to stick to page because i think everybody understands what a page is so what i can do here is enter in a specific page number that i want to jump to so maybe i want to go to page 8. i can type that in click on the go to button and it’s going to jump me exactly to that page if you’re ever not sure what page you’re on remember to always check down in the bottom left hand corner because that’s going to tell you so go to control g a great way of navigating to different pages in your document now the final utility that i’m going to show you in this lesson for navigating effectively is the navigation pane so if we jump up to the view tab in the show group notice we have an option here for navigation pane and if we take a look at the screen tip it says it’s like a tour guide for your document click a heading a page or a search result and it will take you right there so let’s select this box to open up that pane now notice here you can navigate using headings pages or results now currently this document just contains text it doesn’t have any actual headings in it which is why we’re not seeing any headings listed below now we are going to come back to this a bit later on once we’ve added headings into our document and talked about word styles for the time being let’s focus on the pages tab because this is going to show some thumbnails of all of the pages within your word document and if you want to jump to that page you can simply select it from here and it’s going to load it up in the main window and then finally we have a results tab over here so i can search through my document to find a particular piece of text or maybe even a particular graphic now i don’t want to go too far off down this road in this particular lesson because then we kind of move into the arena of using find within word and we have a whole other lesson dedicated to that but just know that from here you can navigate your document using any headings by going to any of the pages or by searching for specific terms once again this navigation pane is one of those pop-out windows so i could click to pull it out and have it more as a floating panel as opposed to docked over to the side now i prefer mine to be over here and if we close this down we don’t necessarily always have to go back to toggle the navigation pane on we can simply click in the bottom left hand corner where we have our pages listed and that’s going to open up that navigation pane as well so a few different ways there to navigate effectively around your document you’re going to see these in action a lot throughout this course as we build up our documents in this very short lesson i just want to reiterate the point as to how you can find your tools in word and when i say tools i’m basically referring to commands now we’ve already seen in previous lessons how we can make this a little bit easier by adding commands we use frequently to the quick access toolbar and that is a great way to manage your frequently used commands but what if i very quickly wanted to insert a table into this document and maybe i’m not particularly sure where the insert table option is amongst all of these ribbons what i could do instead is use the search bar to do all the hard work for me now remember the search bar is located at the top in the title bar and if we press the keyboard shortcut alt q it’s going to put our cursor in that box so what i can do here is i can type insert table and underneath the action section i can choose what i want to do so i could add a table of contents from here i could insert a table of figures i could add a table or insert a table of authorities so it’s taken my search terms and pulled back all of the different features or utilities within word that match so i want to insert a basic table so if i hover over add table i can then go and choose the number of rows and the number of columns so let’s just say i want a four column three row table when i let go it automatically inserts that into the document for me so that search bar can be really useful what about if i want to insert a shape well again i could use the search bar i could maybe type in insert shape if i’m not sure where that’s located on the ribbons i can take a look through my different actions and i can say yes i want to draw a shape and it basically gives you access to the command and all of the options without actually having to find it on the ribbon so i’m going to choose a rectangle shape and i’m just going to draw that in here now that obviously doesn’t look too great so i’m going to immediately delete that but the whole point of that demonstration was just to show you how simple it is to find your different tools within word so my two efficiency tips here add commands that you use frequently to the quick access toolbar for anything else if you’re not sure where that command lives remember to press alt q to jump to the search bar and then simply search for it in this exercise we’re going to practice some of the skills that we’ve learned in this section of the course so i’d like you to complete the following tasks first i’d like you to create a new blank document and save it to a folder of your choice as training underscore document 1 dot dot x i’d then like you to create another new blank document and save it to a folder of your choice as trainingunderscoredocument2.docx i’d then like you to use the technique that i showed you to practice quickly switching between those two open documents once you’ve done that i’d like you to close down both documents but leave word open next i’d like you to open the file blog how to create a healthy workplace environment.docx from the exercise files folder and i’d like you to use your preferred method to quickly jump to page five and the final task to complete in this exercise is i’d like you to create a new document for an event based off of a template so i’d like you to take a look in the templates gallery and find the template called circle flyer i’d like you to open the template and then save the template to the default templates folder as charity underscore event dot dot x once you’ve done that i’d like you to close all open documents so that should give you a good opportunity to practice a lot of the skills that we’ve learned in this section if you’d like to see my answer then please keep watching so the first thing i asked you to do here was to create a brand new blank document so ctrl n and i’m just gonna call this let’s just put in here training document one and i asked you to save this so we’re gonna select file and save as and i didn’t really mind which folder you saved it to so i’m just going to save mine to my word documents folder and i asked you to save this as training underscore document one let’s click on save i then asked you to create another new blank document so ctrl n and this time we’re going to save this as training document 2. so let’s just give it a little heading so we know where we’re at let’s click file save as i’m going to choose my word documents folder from my recent list and this time it’s picked up the title let’s just make a couple of modifications let’s add an underscore remove that space and click on save so now we’ve created those two documents i then asked you just to practice switching between them so for this we can jump up to view and go across to switch windows i can see all of my open documents and it makes it very simple for me to switch between those documents i then asked you to simply just close down both of these documents so you could go up to file and choose close or you could have used the keyboard shortcut ctrl w and ctrl w again the next task was to open an existing file and the file i asked you to open was a file that’s available in the exercise files folder so wherever you’ve downloaded it to will be the location that you open it from so let’s jump up to file and go to open i’m going to click on browse to open up file explorer and now i just need to navigate to the folder i have this file saved click on it and choose open i then asked you to use your preferred method to quickly jump to page 5 of this document and there are a couple of different ways that you could do this so maybe you went up to find and go to and selected page and entered in page five to jump to that page if you use that method that is totally fine alternatively you could have used the navigation pane if we jump up to view turn on the navigation pane we can then go to the pages section find page five and jump to it that way so either method is completely valid the final thing i asked you to do in this exercise was to create a flyer for an event based off of a template so for this we’re going to jump up to file we’re going to go into new and you could have chosen to browse through the flyers category or you could have searched for the template using the specific name so this flyer that i asked you to use was called circle flyer let’s click on the magnifying glass there’s the template we can click once to load it up and then choose create finally i asked you to save this template as a template file type into the default templates folder so once again we’re going up to file we’re going down to save as and we’re going to choose browse now remember as soon as we select the template file type the dot x file type it’s going to switch us into our custom office templates folder i asked you to save this flyer as charity underscore event and click on save the final thing to do here is close down all open documents so that’s simply a case of using the keyboard shortcut ctrl w that is it i hope you got on okay with that i will see you in the next section in this section of the course we’re going to shift our focus to viewing our document or document views as they’re more commonly known now as i mentioned previously when you’re working in a word document as we are here we generally tend to work in the print layout view how do i know i’m in print layout view well if we jump up to the view ribbon notice we have a views group and the print layout button is toggled on because it’s showing in that dark gray color and print layout view just gives you a really nice way of viewing your document you can see everything that you’re adding to the document and you can see how that document is going to print so i can see how much space i have for my margins how much space i have in my header and my footer so it’s the best view for really getting a comprehensive overview as to what your final document is going to look like and in general this is the view that i use 99 of the time when i’m working in word but we do have some other views that we can use so let’s take a look at some of those now sticking in this views group the first view that we have here is read mode and this is one of those newer views that was added to word a couple of years ago now if we take a look at the screen tip it says that this is the best way to read a document including some tools designed for reading instead of writing so if you’ve been sent a document to read you might want to switch across to read mode and this view is more like you’re reading a book we scroll through it horizontally as opposed to vertically so it’s a bit like turning the pages of a book also notice that the ribbons are completely minimized so we have a lot more space on the screen and we can see more of our document so all of these types of things really aid reading as opposed to writing when we want to move to the next page notice we have these arrows on either side so i can simply click the arrow to move it along and it’s just a really nice consistent way of flowing through this document now we do have some additional tools if we cast our eyes up towards the title bar we have a file drop down which is going to take us into that backstage area we have some tools in here as well and these are much more consistent with reading as opposed to typing so i might want to find something specific in this document a piece of text for example so maybe i want to find the word document i’m probably going to get loads of matches here it’s going to highlight throughout that view wherever that word comes up i can also search and translate any text that i select into a different language we then have a view drop-down as well and this is where you can really go to town and customize this reading view now i could choose to edit the document if i click on edit notice it’s going to switch me back to print layout view let’s jump back into read mode go back into view we’re going to talk about focus in a moment but i can bring up the navigation pane if i want to so this is good again if i want to navigate by heading by page or by specific search words i can choose to show any comments now we haven’t spoken about comments yet so we’re going to skip over that for the time being but what i could also do here is i could choose the column width so currently i’m looking at the default but i could choose to switch this to a narrow column width so i can see a little bit more on the page alternatively i could choose wide where i’m basically getting one page on the screen i can even change the page color this is quite helpful for people with visual difficulties or just people who find it easier to read text when it’s on a darker background now i’m not one of those people so i’m going to switch it back to none and we can also choose the layout so currently we’re in column layout but i can choose to have paper layout as well so this looks a little bit more like print layout view but again it’s minimized all of the ribbon so that we have the maximum amount of space on the page so reading view is really great if you just need to read a document and you want the best mode for doing that now i’m going to switch back to print preview so i’m going to go to view and edit document and i’m now back in print layout view the next view we have is web layout so this is going to show me how my document would look as a web page so if my intention is to eventually display this information as some kind of web page maybe i’m going to upload it to my company server web layout view is going to show me how this document is going to look if it’s uploaded to the web now another view that we have is outline view and this allows us to see our document in an outline form where the content is shown as bulleted points and you can see here it says this view is useful for creating headings and moving whole paragraphs within the document so in general i’ll go into outline view if i have a very long document and i need to start reorganizing paragraphs notice here that that every paragraph is a bullet point effectively and we get our own new contextual ribbon when we’re working in outline view and this ribbon really lets us organize our document for example if i go to this paragraph just here i can use some of these outline tools to do things like promote the paragraph to make it bigger or demote it to make it smaller and indent it a little bit more now in order to really understand how outline view works it’s a good idea to know about word styles before doing this so i’m not going to linger too long on this at the moment we will come back to this later after we’ve discussed word styles so for the time being let’s close outline view the final view that we have here is draft view and this is just going to show you the text in your document so you can see here it says that this is useful for quick editing because things like headers footers and certain objects won’t show up just allowing you to focus on the text so if we switch to draft if i had lots of images and various other things in here i’m just really getting to see the text which makes editing a little bit easier so those are the main views or the main ways that you can view documents in word 2021 another way that you can switch between different views is by using the buttons in the status bar in the bottom right hand corner notice currently that i’m clicked on print layout view but from here i can switch to read mode and also web layout view as well in the previous lesson we saw how we can view our document in different ways and in word 2021 and these are new for word 2021 we have two additional ways that we can work with our document focus and immersive reader so let’s take a look at focus first of all again on the view tab if we take a look in the immersive group we have a button here called focus if we hover our mouse over it it says that it eliminates distractions so you can really focus on your document so if we click this it’s a very simple tool it’s basically going to minimize all distractions so we can’t see anything around the outside and we just get to see our document with no ribbons or anything distracting us from the content and we can scroll through this document we can read and our attention is always focused in the right place now what you might notice is that if you are working in this mode right at the top of the screen we have three tiny dots in the middle and if we hover our mouse over these it’s just going to drop down that ribbon and what you’ll notice is that when you’re actually in focus mode and you pull the ribbons back down again we get an additional option here of background so if we don’t particularly like the default black background we can change this to something completely different so maybe a pale rust gradient and the whole idea of this view is really just to allow you to focus on the content itself so that might be a view that you find useful now to come out of focus mode it’s a very simple case of just clicking on focus again and it’s going to take you back to print layout view now the second option we have in this immersive group is to utilize the immersive reader and if we hover our mouse over immersive reader and take a look at the screen tip it says switch to an immersive editing experience that helps improve your reading skills adjust how text is displayed and have text read aloud to you so this particular option is really useful if you struggle to see words when they’re a little bit closer together or if you have any kind of visual impairment you can choose to have the document read aloud to you as opposed to you actually trying to read it now notice when we click on immersive reader we get we get a new contextual ribbon and all of these options are really here to allow you to customize exactly how you’re viewing your document within the immersive reader so currently you can see all of my text looks a little bit different the words and even the letters are spaced a little bit further apart to assist with reading and also notice that my text is kind of in the middle of the page which means i’m not really having to move my head around a great deal to get to the end of a line now we do have some things that we can customize here for example we can customize the column width so mine is set to narrow i could choose very narrow to make it even thinner i can choose moderate or we have a wide option as well i can even change the page color so if i prefer something that’s a little bit more contrasty if i find that easier to read i can choose anything from these palettes so let’s just go with light green i can even turn on line focus so if i really just want to focus on my document line by line i could choose one line and it’s going to highlight just that line and i can use my up and down arrows to move line by line through this document we have other options in here so i could choose three lines if i find that a bit better and again i can use my down arrows just to focus on those three lines now i’m going to set this back to none we can also adjust the text spacing so i can increase the spacing between words characters and lines so if i click this button it’s going to put it back to how it was originally or i can choose text spacing to make those words and characters appear further apart now another thing that we can do is we can turn on syllables and this is going to add tiny little dots within our words whenever we have multiple syllables for example the word provides has two syllables pro and then vites so this is really great if maybe english isn’t your first language and you want to know where the emphasis of a word is or you require some assistance with how to pronounce particular words and then of course we have the read aloud option so if you do have any kind of visual impairment you can turn on read aloud and word will read the document back to you also notice there is a keyboard shortcut for this of alt control space the other thing it’s going to do when we turn this option on is not only read aloud the text it’s also going to highlight each word as it’s read so let’s take a quick look at that video provides a powerful way to help you prove your point when you click online video you can paste in the embed code for the video you want to add so that’s a really nice little option that aids accessibility if you want to come out the immersive reader we have a close button just here and then it’s just going to take us back to our print layout view so those are two brand new options that we have in word 2021 to really help you read through and focus on the content of your word documents in the previous lesson we got to see a couple of the newer features in word focus and immersive reader but there is one other newer feature that’s really useful to know about and that is called dark mode so what exactly is dark mode well dark mode is there to help you view your document if you struggle to see black text on a white background a lot of people find the contrast of a black background with white text a lot easier to read and many people report that they feel like they have less eye strain and less fatigue when reading long documents it’s worth noting that when it comes to working in word we can change the overall theme of word to a darker theme but changing the theme to dark is different to changing to dark mode so let me show you what i mean by that if i wanted to change the overall theme of word to a dark theme i would simply go up to the file tab go into account and notice here underneath office theme i currently have this set colorful but i could click the drop down and choose black or dark gray now if i choose dark gray you’re going to notice immediately what that does it changes the entire application to a dark gray color which again some people prefer but it doesn’t actually change the document the document is still black text on a white background so dark mode has been introduced to combat that with dark mode we can change the background of our document to black and have white text but it doesn’t affect the overall theme that we’ve applied to the application so to demonstrate this i’m just very quickly going to switch back to the colorful setting and let’s take a look at how dark mode works now the first thing you need to know about dark mode is that you might not be able to see it by default on any of your ribbons dark mode is available in word but it’s not a command on a ribbon by default so if this is something that you want to use and toggle between you’re going to need to add it to the ribbon and this is where we move into customizing ribbons in word now normally i would say that this is a bit early on in our journey through learning word to start talking about how to create our own ribbons and ribbon groups but it is really straightforward i think you can handle it and it’s a good opportunity to practice how to do this so what we’re going to do is we’re going to add the switch modes command which will allow us to switch to dark mode to the view ribbon in its own little custom group so let’s jump up to file and we’re going to go into options now to do this we need to jump across to the customize ribbon page and this is very similar to when we modified the quick access toolbar now the first thing i’m going to do here is i’m just going to bring up a list of all commands that are available in word so now i can see every single command ordered alphabetically and because i’m looking for a command called switch modes i know that it’s going to be somewhere towards the bottom of this list underneath s so let’s scroll through to s w and there it is just there switch modes if i hover over it says view with a dark page color that’s exactly what we’re looking for now on the right hand side this is going to show all of the tabs that i currently have in word so i want to add this to the view tabs so let’s expand view i can then see underneath all of the different groups so the first group is views which it is the second group is immersive so on and so forth now i can’t just select one of these groups and then add the new command to an existing group if i try and do that it’s going to tell me that commands need to be added to custom groups so effectively i need to create my own little group here so underneath i’m going to say i want a new group and i’m going to rename this group so let’s select it click on rename and i’m going to give it a display name of switch modes you could call it dark mode or whatever you like i can then choose an icon that i want to represent this group now i’m not going to bother with that at this stage let’s click on ok so now i have my custom group i can add the switch modes command to this group simply by clicking on add there it is let’s click on ok and now take a look at my view ribbon i have a new little group here with the switch modes command and if i hover over we can see that it says see how this document will look in dark mode so if i click this button it’s going to do exactly that you can see the page of the document has turned to black and we have white text but the actual application itself hasn’t changed theme at all and this button is simply a toggle so if i want to toggle back to how it was originally i can just click it again in exercise 4 we’re going to practice some of the skills that we’ve learned in this section so the first thing i’d like you to do is to open the document blog how to create a healthy workplace environment dot dot x and you’re going to find that file in the exercise files folder once you’ve got that file open i’d just like you to practice switching between different views so maybe switch across from page layout view to draft view to outline view and then back to page layout view and make sure you understand what each view represents once you’ve done that i’d like you to switch into focus mode and change the background color of the page to overcast i’d then like you to switch to the immersive reader and change the column width of the document to narrow i’d also like you to turn on syllables and then just practice reading the document aloud once you’ve had a good play around with some of these features i’d then like you to switch back to print layout view so give that a go if you’d like to see my answer then please keep watching so i’ve opened up the document titled blog how to create a healthy workplace environment from the exercise files folder and the first thing i asked you to do with this document open is just practice switching between different views now of course there are a couple of different ways that we can do this we can jump up to the view ribbon and in the first group just here notice we’re in print layout view but we can switch into read mode we can switch to web layout view and remember this view is going to show us what our document will look like once it’s uploaded to a website we can switch into outline view and this is where we can see the outline of our document and we can also switch into draft view from here as well and draft view is going to show us any styles that we’ve got applied to our document so make sure you know how to switch between these different views now there is an alternative way to do this and that is to use the icons that you have down in the bottom right hand corner of the status bar notice down here we can switch to read mode focus mode print layout and also web layout from down here so whichever way you did this is absolutely fine now i’m going to switch back to print layout view the next thing i asked you to do was to jump into focus mode and change the background color to overcast so if we jump back up to the view ribbon in the immersive group we have focus mode just here so let’s click this and if you recall focus mode really eliminates any noise around our documents so that we can just focus on whatever it is that we’re reading now notice i have a teal background color just here but i want to change this to overcast so how do we do this when we’re in focus mode well we need to push our mouse all the way up to the top of the screen where we have those three tiny dots notice that the ribbons will now drop down and from here we can change the background color to this one just here which is overcast and the final thing i asked you to practice in this exercise is some of the things that you can do with the immersive reader so let’s switch into immersive reader mode notice we now get an immersive reader ribbon and i asked you to change the column width of the page to narrow so let’s select that from the drop down i also asked you to turn on syllables so we just need to toggle on this button just here which is going to show us the syllable breaks within each word and then finally i asked you to read the document aloud and what i meant by that is to use this read aloud button just here to help you prove your point remember this will read out the text you have on your screen and it will highlight each word as it’s read in this section we’re going to take a look at some of the options that we have when it comes to working with and formatting text so i’m starting out with a new blank document and if you want to download this document you’ll find it in the course files folder alternatively you can just fire up a new blank document and work along with me now when it comes to entering text into a document it is as straightforward as you might think if we click on the page we can see our cursor is right at the top there remember we have margins down either side we’re going to see how we can modify how wide those margins are a little bit later on and we also have some space at the top and the bottom of the page for a header and footer again we will take a look at those a bit later on so let’s type in some text into this document so i’ve just typed in a very basic line of text there if we press enter it’s going to move us down to the next line now notice that when we press enter we do have a certain amount of default space between the first line and the second line if i was to type something else in here you can really see that default space now we can adjust what we call line spacing so if we don’t want quite as much space in between these two lines or we want a little bit more we can modify that again we’ll take a look at that when we talk more about working with paragraphs for the time being we’re just going to focus on entering and formatting text now i’m going to move to the next line let’s press enter and i’m going to use my little trainers trick again just so i can get a lot of information into this document quickly so let’s type in equals i’m going to say lorem this time and let’s say that we want let’s go for five paragraphs of four lines each close the bracket and hit enter and there we go once we have text in a document we’re probably going to want to apply some formatting and the first thing you’ll notice is the font style that i’m using and if you glance up in the font group notice that i’m using calibri body font and this is the default font when i open word now of course if you don’t particularly like this font or you want to use something completely different there are a few different ways that you could go about this for example if you just want to change the font style for the text that we have on this page we could select all of the text and then just choose a different font so here’s another little shortcut key that i find very useful and we did look at this a bit earlier on if we click somewhere on our page and press ctrl a that’s going to select all now if we go up to the font group we can click the drop-down and we can choose something else and all of the fonts in here are free to use and if you have your own fonts that you want to use of course you can download fonts from whichever font website you use make sure they’re in the correct folder and then you’ll be able to access them through word now also notice as i start to hover my mouse over these different types of font i’m getting what we call a live preview as to what that font is going to look like so this can be really helpful because it means that you get an idea as to what that font’s going to look like before you actually click on it now when it comes to live preview if you decide that you don’t actually like that and you want to turn it off you can do that through word options so let’s quickly look at that let’s go to file down to options and on the general page it’s this option here enable live preview now i always like to have live preview on because i find it quite helpful to be able to get a preview before i actually select but if you find that annoying or you just don’t like it then you can just deselect this option just here so let’s select everything again and i’m going to change my font to cigo ui now that’s going to change the font just for the text that i have selected if i wanted to use cigo you iphone every time i load up a new document or every time i create a new document i would need to set cigo ui as my default font and i’m going to show you how to do that when we talk about advanced font editing for the time being we’re just going to leave it as it is i’m going to keep this text highlighted because i can then also go in and i can change the size of the text as well so if i want to make it a bit bigger i can and again we’ve got that live preview kicking in and with this font size you can also type in exactly what you want into this box you’ll notice that these font sizes kind of go up by two so 14 to 16 16 to 18. if i wanted font size 17 i can simply click up here and just change it and hit enter we also have next to the font size drop down two little buttons which allow us to increase and decrease the font size incrementally and you’ll notice that there are keyboard shortcuts for these of control shift right arrow and ctrl shift left arrow so if i decrease the font size if i click this button it’s going to take it down one and it’s going to carry on going i can also choose from here if i want to use sentence case which is basically what i have now where the first letter is capitalized after a full stop i could change everything to lowercase if i wanted to everything to uppercase i can capitalize each word or i can toggle case so a really nice quick way of being able to change the type of case that you’re using some other font formatting options that we have in this little group of commands are things like bold italic and underline so we can select an entire line of text simply by clicking in the margin or we can select an entire word and you can double click on the word to select it we can then click on bold keyboard shortcut ctrl b to bold that word i can make words italics so if we double click on another word we have our italics button just here keyboard shortcut ctrl i or we could choose to maybe underline an entire paragraph keyboard shortcut control plus u so when i click this it’s going to put one underline underneath that paragraph but if i wanted to change that or maybe have a double underline or even a dotted underline i have those options in this drop down as well we can even change the underlying color so maybe i want to underline in red i can just select it from the palette maybe i want to apply a strikethrough to certain paragraphs so again we can select and then we have a strikethrough button just here so let’s click and there we go the next two buttons relate to subscript and superscript so for example if i was typing something like let’s type in h2o normally the two in this word is slightly below the line so we could select the number two and then we can click on subscript to make that a lot smaller the next three buttons are already related to applying color and effects so for example if i select the first line in this document and click the drop down next to text effects and typography i can choose some of these inbuilt styles to apply to that particular text and if i don’t want to use one of these presets i can be a bit more granular about what i’m applying so maybe i just want to apply a shadow to the text maybe i want a reflection to my text maybe i want to add a glow around the outside so on and so forth what about if i want to highlight this text so maybe i want this text to look like i’ve got a big old highlighter pen to emphasize something in the document well that’s what this little drop down is for and you can see we have a few common highlighter pen colors in here so let’s highlight this in yellow and then of course finally we have our font color and this is going to change the color of the text in the document so if i select this third paragraph click the drop down i have access to two different palettes i have theme colors and standard colors now i’m going to talk more about the difference between these two when we talk about themes but just know that whenever you’re working in a word document you’ll be using a theme and if you haven’t selected to change your theme you’re going to be using the default office theme and these are the colors that are part of that particular theme we then have some standard colors which are your standard red green blue so on and so forth and if you don’t like any of those you can click on more colors and you have access to a wider palette of colors or you can really customize the colors that you’re using by moving this around and choosing a color in this way so if i go for this little purple color i can adjust it whether it’s lighter or darker by moving this up and down and click on okay now what about if i decide that i actually don’t really like that purple how do i get rid of the formatting that i’ve applied well again we can select the paragraph that contains the formatting that we want to remove and in the font group we have a clear all formatting button so if i click this it’s going to clear the formatting it’s also going to clear the font style that i applied and take me back to my default font of calibri so just be aware of that when you’re using that clear formatting button before we move on any further let’s quickly take a look at the different ways that we can select text in word now we’re working in this practice document and in the previous lesson we did apply some different pieces of formatting now the first thing i’m going to do here is i’m going to remove all of the formatting and this gives me a chance to showcase once again how you can select all text in your document very simple control a alternatively if you would prefer to use a command on the ribbon on the home tab all the way over at the end here in the editing group we have a select drop down and this is where we can select different types of object within our word document but if we choose the first one select all that’s basically the same as doing a control a so you can use either of those methods so with my text selected i’m going to just clear all of the formatting that we applied in the last lesson so let’s go up to the font group and click the clear or formatting button to take that back now a couple of things have happened here it has removed the majority of the formatting and taken that font back to calibri it hasn’t removed the highlighted text though so if we want to remove this highlighted text we need to basically select this entire line so how do we select lines in a word document well it’s very simple we can just click and drag our mouse over the piece of text or alternatively if we want to make sure that we have the entire sentence or the entire line if we hover our mouse over in the left hand margin until our cursor points diagonally right if we click in the margin next to where the line is it’s going to highlight that entire line so now i have that highlighted or selected i’m going to jump up to the highlighter tool and i’m going to say that i don’t want any color just to remove that the other thing you’ll also notice is that because we’ve just got some junk text in here words spell check is picking up these words so it’s not recognizing many of these words which would be correct now we’ve seen how to spell check a document and there are quite a few words in here but if we press the f7 key we can then go through and i’m just going to say ignore all to all of these just so we can remove those red lines from the screen and there we go so we’ve seen how to select all text we’ve seen how we can click in the margin to select a line and this also applies if you want to select more than one line for example i can click in the margin drag down and that’s going to select that entire paragraph alternatively i can just drag my mouse down for as far as i like to select consecutive lines now what about if i want to select non-contiguous paragraphs so paragraphs that aren’t together well that’s fairly straightforward we can select the first one hold down the control key and then i can simply click in the margin and that’s going to allow me to make selections that aren’t necessarily next to each other so now i have these three paragraphs selected i might want to apply some bold formatting control b keyboard shortcut maybe i now want to make those a different color so let’s click the font color drop down and i’m going to say that i want these to be blue and then just click anywhere else on the document to deselect making selections of individual words is also really simple you can double click your mouse and it will select the entire word i can also easily make selections of paragraphs using keyboard shortcuts so if i click my mouse at the beginning of the first sentence and press ctrl shift down arrow i can just carry on pressing the down arrow to select all of the paragraphs that i need control up arrow is going to do the reverse so those are some of the techniques that you can use when you’re making text selections in a word document aside from the text formatting options that we have available on the home ribbon in the font group we do have some advanced text formatting options as well now before we get on to that i just want to go off on a tangent very slightly related to the mini toolbar if you remember in one of the earlier lessons i showed you how to disable the mini toolbar when you have text selected so what that means is that if i select something so let’s say we select the word lazy i don’t see the mini toolbar pop up because i disabled it so let’s go back in and just turn that on so you can see the options that you have on this mini toolbar in a little bit more detail so let’s jump up to file go back into options and on the general tab i’m going to reselect show mini toolbar on selection so let’s click on ok now when i select anything in this document a piece of text for example i’m going to see that little floating toolbar and as we mentioned this is just a quick way to apply formatting to pieces of text so you don’t have to keep going back up to that home ribbon so from here i can change the font style that i’m using i can change the font size i could do things like bold underline italic so on and so forth so let’s leave that on for the time being now when it comes to your advanced font formatting options you’re going to find these in a dialog box that’s kind of really hidden from view when you look at the ribbons now if you take a close look at the home ribbon notice that in the corner of some of these groups of commands we have this little diagonal arrow and if we hover over this diagonal arrow we get a screen tip that tells us that clicking this is going to allow us to customize our text using advanced font and character options notice there is also a shortcut key for this of control d so if we click the diagonal arrow in the corner of the font group it’s going to take us into our advanced font formatting options notice at the top we have two tabs font and advanced now on the font tab you’re going to find a lot of the things that you already have in the font group on the ribbon for example i can come in here and change the font that i’m using i can change the font style so if i want italics bold or even bold italic that isn’t an option that we have on the ribbon i can modify the size i can choose my font color from my palettes from here and if i want an underline style and i can even choose an underline color from here as well i can then apply effects so things like strikethrough double strike through that’s superscript subscript small caps so on and so forth so many of these options we already have in the font group on the home ribbon but one thing that’s useful in here and i did mention this in a previous lesson is that we can choose to set default options in here so if i decide that i want to use a specific font throughout my entire document i could set it as the default even if i wanted to use maybe let’s say century font bold size 12 i can select all of these options and then i can choose to set that as my default and i’m just going to turn off the underline style so if i choose set as default i then get a choice if i want to apply this default to this document only or all documents based on the normal.m template now the normal.m template is basically the default template that you get when you create a new blank document in word so effectively for all new documents so i’m going to say for this document only let’s click on ok and you can see that that’s updated now let’s reopen up that pane and this time i’m going to use the shortcut key of control d i also have a text effects button down here so this is going to allow me to apply a text fill a text outline and other types of effects as well and we saw those earlier those are available in the font group on the home ribbon now what about if we jump across to the advanced tab what do we have in here well this is where we can do things like adjust the character spacing so if i click the drop down next to spacing i can choose to set expanded spacing for my text and if you take a look at the preview at the bottom can you see that we now have a little bit more space in between each of these letters and i can choose by how many points i want to expand this by so if i increase this it’s going to make the characters further and further apart and of course we can do the reverse as well i can choose to have condensed characters so that makes those characters extremely close together and i can modify this so they’re slightly further apart now i will say that most of the time you’ll probably be using normal but sometimes when you’re working in the document it can be quite a nice effect to have a little bit more space in between characters or a little bit less space in between now i’m going to set mine back to normal and simply click on ok the final thing that’s worth noting here is that when we went into the advanced options for font by clicking this diagonal drop down arrow the diagonal drop down arrows in these other groups won’t bring up that same window because these will be the advanced formatting options for whichever group they’re part of so if i click this one we’re going to get the advanced formatting for paragraphs as opposed to font now there are other ways that you can change the look and feel of text in your document for example using word styles now we’re not going to get into styles in this particular lesson but just to kind of give you a little bit of an introduction if you cast your eyes up onto the home ribbon notice that we have a very large styles group just here if we click the drop down it’s going to open up the styles gallery now from here we can apply different types of style depending on what text we have highlighted all of these styles are completely customizable so you can get them to really look and feel the way that you want i’m going to spend quite a bit of time later on talking about word styles because they are so important to use in a document not only do they change the look and feel of your document and allow you to update font styles quickly they’re also super useful when you’re trying to put together things like tables of contents so just keep that in the back of your head that we can apply formatting to fon using styles as well it’s time now to talk about organizing text in our document by moving it or copying it and you may already be familiar with some of these commands if you’ve used other microsoft applications because cutting text copying text and pasting text pretty much works exactly the same way in word as it does in other applications so if you know what the keyboard shortcuts are for these commands then they’re the same in word now in this example again i’ve just created a practice document and this is a very straightforward document it’s just one page long we have a heading at the top and then we have various different subheadings throughout this document now currently this document is completely unformatted i’ve simply just typed in the text and i haven’t really styled it up yet so currently when we’re trying to read this document things like headings don’t really stand out from the paragraph text now when it comes to applying headings in a document the best way to do this is using styles and we’re going to get onto styles in a later lesson but just for argument’s sake in this particular lesson i’m going to apply to some basic formatting so that these headings and subheadings stand out so this is where we get to practice some of our selection methods now the title is going to be the biggest so let’s select it by clicking in the margin and i’m going to make this a bit bigger so let’s take this up to 20 and i’m also going to make it bold i’m then going to select the subheading video by clicking in the margin i’m going to hold down my control key and select all of the other subheadings that we have in this document so now that i have them all selected maybe i want to make these slightly bigger so let’s take those up to 12 maybe i want those to be bold but maybe this time i want these to be red so now at least i have a little bit of differentiation between my main heading my subheadings and my paragraphs of text so already this document looks a bit more organized and it is definitely easier to read now that we have headings and subheadings in our document you might think that this means that you can now use those headings to navigate around this document what you’ll notice is that if we open up the navigation pane and take a look at the headings group it’s not listing out those headings or subheadings and that’s because word currently doesn’t recognize these as headings and subheadings because to do that we need to apply styles to our headings as opposed to just applying what we call direct formatting which is what i did just here so keep that in the back of your mind for a little bit later on so now that we have this document organized a bit better we might review it and think to ourselves well actually i want to start moving some of these paragraphs around maybe the video section needs to go before when we have online video so i can move this text into the correct location and of course as with everything microsoft there are a couple of different methods that we can use so with the text highlighted what i could do is i could jump up to the home ribbon and in the clipboard group i could choose to cut this text and notice there is a keyboard shortcut for this which you might already be familiar with of control x so if we click on cut it’s going to remove that text that we selected and that context is held on what we call the clipboard until we choose to paste it somewhere and if you want to see the clipboard you can simply open it by clicking on the diagonal arrow in the corner of the clipboard group notice that the text that we just cut out is now sitting there waiting for us to do something with it now you can work with this clipboard open if you like some people really like this and it is useful if you’re cutting lots of things you can store them all on the clipboard and then choose which ones you want to paste so i’m going to go down to just before online video so about there and what i could do here is i could choose to paste it from the clipboard or i can choose the paste button up here now in this example we’re going to paste it from the clipboard so let’s click the drop down and choose paste and that’s now inserted that paragraph in that new location what about if i now decide that actually i want this video section to go after online video well i could move it again by using the method that we just used or alternatively i can simply drag and drop it so this is a second way that you can move things around in your document i can highlight the text and then i can simply click on it and drag it and place it wherever i want it to be so if i place it at the beginning of themes it’s going to insert that paragraph so another really simple way to move things around in your document so that’s moving text but what about if i want to copy text maybe i decide that i want to copy this first paragraph down to the bottom of the document well again on the home ribbon we have a copy button shortcut key control c so let’s select this first paragraph this time i’m going to use the keyboard shortcut ctrl c notice that it leaves it there i can then use my shortcut key ctrl end to jump to the bottom of the document and i can simply paste that copied text in remember whenever you cut or copy something it’s going to be held on the clipboard and there you can see the last thing i copied so i could choose to paste again from the clipboard or alternatively i have a paste button just here and i can click the top half just to paste that in with the original formatting now what about if i want to move multiple items that aren’t together so maybe i want to move this styles paragraph so let’s select it the online video paragraph let’s hold down control and select that and also the themes paragraph again hold down control when you’re making your selection now i’m going to move these so i’m going to use the keyboard shortcut control x again notice it’s held them on the clipboard i can then move to whichever point in the document i want to paste them so let’s just do it at the end i can paste directly from the clipboard or simply use the keyboard shortcut key control v and the clipboard really does come into its own when you’re gathering lots of different items together so if i select the cover page paragraph let’s press control x to grab that onto the clipboard and let’s choose the views paragraph ctrl x to copy that to the clipboard and then finally let’s choose these styles paragraph control x to copy that to the clipboard i can then choose where i want to paste these so if i want one of them just in here i can simply move my cursor there select the item from the clipboard and choose paste i can then move down go to the next location and choose something else that i want to paste from the clipboard like so so the point i’m really trying to make here is that clipboard is so useful if you’re trying to manage and organize items that you’ve cut and copied from the document format painter is a really useful facility in word 2021 that allows you to quickly copy formatting from one piece of text to another so the best way to understand this is really to see a demonstration so what i’m going to do here is i’m going to apply some formatting to just a sentence in this document so let’s just select any sentence i’m going to go for this one so we’re going to highlight it and let’s apply some formatting now i’m going to make this a little bit crazy just so we can demonstrate this let’s change the font to let’s go for arial black let’s give it a bit of a highlight and also let’s underline it now what about if i want to apply this exact same formatting to another sentence further down this document well i could move down to the sentence i could select it and i could go through those steps again i could select the highlighter i could change the font i could apply the underline but that’s a lot more work than we need to be doing instead we can use the format painter to copy all of the formatting that we have applied and effectively paint it over another piece of text and this is really straightforward all we need to do is select the text that we’ve applied the formatting to and i will say you don’t necessarily have to highlight the entire line i could simply select a word and then up on the home ribbon in the clipboard group we have the format painter notice the keyboard shortcuts here of control shift c and ctrl shift v now if we click on format painter notice that when we hover our cursor over the document again it’s changed this small paintbrush icon so we’re now in format painter mode and all we need to do is effectively swipe this paint brush over the piece of text that we want to apply the formatting to so let’s just say we want to apply this formatting to the first line of the video paragraph i can simply click at the beginning drag all the way across let go and it’s going to paint that formatting how much easier and quicker was that if you want to use the keyboard shortcut it’s very similar to copy and paste we’re just adding in the shift key so what i can do here is ctrl shift c select the line that i want to apply it to and ctrl shift v now notice that it only lets me apply that formatting once as soon as i’ve applied it my cursor goes back to normal i’m no longer in format painter mode but what if i want to apply this formatting to multiple lines or multiple words in this document well we can also do that but we need to make sure that we double click on the format painter first so once again i’m just going to select the word save we’re going to double click on the format painter icon in the clipboard group so now i can go in and i can paint across whatever text i want to apply notice that the format painter doesn’t deactivate once i’ve painted the formatting once so i can carry on going once i finish my painting i can either click on the format painter button again to deactivate it or i can press the escape key on my keyboard paste options effectively allow you to choose exactly how you’re pasting text and other pieces of information in your document and this is particularly useful if you are copying and pasting information into a document from an external source for example i might find something on the web and i want to grab it and paste it into my word document so what we’re going to do here is we’re going to jump onto wikipedia i’m just going to pull up the wikipedia page for the united states of america and we’re going to copy some of the text and paste it into this document because you’ll see that it looks very different than you might expect now the first thing i’m going to do is make sure that i have my cursor in the correct place and now i’m going to switch across to wikipedia so i’ve just pulled up the wikipedia page for the united states and i am simply going to copy some of this information so let’s select let’s select a good chunk let’s select all the way down to here and all we need to do is use the keyboard shortcut control c let’s jump back to our word document so now if i want to paste this in i can simply click the top half of the paste button or alternatively i can press ctrl v now notice what’s happened here it’s brought across all of the information it looks pretty good but it’s also brought across all of the formatting from that wikipedia page so if i now click in this text notice that the font that wikipedia uses is arial in size 10.5 now this might be absolutely fine for you but it might be that you want this text to kind of match the style of your document so as i mentioned normally in my documents i like to use calibri font and in general i’ll have that font at size 11. so now effectively what i need to do is reformat this information so that it matches what i want now there are various different ways i could do this i could select all of the information maybe press ctrl a and then go through and manually change the font and the size but take a look at what you get when you paste something in from an external source we get this little drop down menu in the corner and if we click it it’s going to open up our paste options and this is basically where we can choose how we want to paste this information so the default which is currently selected is to keep the source formatting which is why i’m seeing all of the formatting from the wikipedia page the second option we have is to merge the formatting so that’s going to merge it into this document and use whatever formatting i have applied so that would work quite well in this instance because it’s just going to change it to my default font alternatively the third option we have here is just to keep the text only and that will remove practically anything it’s going to set it back to the default font it’s going to set it to your default font size but it’s also going to remove things like any pictures that have accidentally come across or possibly any hyperlinks that you have in that text so in general i tend to use keep text only if i want the information to be in the word document but i want to completely reformat it and apply my own formatting so let’s choose keep text only so now i can go through and tidy up this document maybe i want to remove some of these erroneous spaces again these have been brought across from the wikipedia page what i also might want to do is a quick spell check so let’s do an f7 so let’s change the spelling of kilometers i’m gonna take this suggestion for islands and also for others and again we’ve just got a difference here between american and uk spelling so let’s change it and now my spell check is complete so don’t forget about those paste options now that little tag which came up at the bottom when i pasted this text into the document that disappears if you don’t use it immediately so if i start clicking around and doing other things and then try to go back to the bottom of the document you can see that it’s nowhere to be seen fortunately we can also access paste options by clicking on the home ribbon the lower half of the paste button we have those paste options in here now we haven’t really discussed images pictures graphics things like that so far in this course but i just want to briefly show you how you can copy and paste an image from an external website so let’s go back to our wikipedia page so maybe i decide that i want to grab this image of the united states and paste that into my document well i can simply select it by dragging my mouse over it we can then ctrl c and jump back to our word document i’m going to find a space to paste this in so i think just about there ctrl v to paste again notice we get that little tag pop up so we can choose exactly how we want to paste this in so once again we can choose to keep source formatting we can merge it with the current formatting or we can keep text only now notice if you choose keep text only when you’re trying to paste in an image you’re just simply not going to see that image you’re only going to see whatever alt text or caption text has been added for this image so in this scenario i would probably choose merge formatting because it’s going to take on the formatting of the document that i’m in but it’s going to allow me to see that image and any of the captions so just be aware of that difference when you’re using paste options find and replace are two separate utilities in their own right but you’ll often hear people speak about them together and that’s because they kind of really work together the first one will find text in your document and the second one allows you to replace it quickly so let’s deal with both of them separately let’s talk about find first of all now quite often particularly if you’re working with a longer document you’ll want to find something in that document so maybe that is a very specific phrase or maybe it’s a specific word it could even be a specific piece of formatting well if we want to do anything like that then we have an option called find which will help us out now there are a couple of different ways that we can use find the first one we already briefly saw when we were taking a look at the navigation pane so if we jump up to view and turn on the navigation pane if you remember we can basically search our document from here so if i click in the search document bar at the top i can type in a phrase or a specific word so let’s say capital it’s going to go through that document and highlight wherever it finds the word and i can see here that i’ve got two results and if i click on the results heading it’s going to show me exactly where that word occurs in my document and this will allow me to very quickly jump to that point in the document so if i click on the second one you can see it jumps me all the way down and the word capital is highlighted in yellow making it super easy for me to see now what about if i want to find a phrase that has more than one word well let’s clear the search by clicking on the cross and maybe i want to find the words united states does it work let’s try we’ve got two words here yes it does so 16 results if i click on the results tab i can see every time i mention that phrase and i can jump to that specific point in the document so you can utilize the navigation pane to simply find words and phrases now the other way that we can utilize find is we can jump across to the home ribbon and all the way over in the editing group at the end notice we have a find button and if we click the drop down next to it we have find advanced find and go to now we already saw what go to allows us to do we can quickly jump to pages sections lines so on and so forth and we also have find and advanced find now if we hover over find notice that it has a keyboard shortcut of control f and if we click on find it is simply going to reopen that navigation pane now if we go into advanced find this is going to open up the find and replace dialog box we’re currently clicked on the find tab and in the find what field notice that it holds in it the last term that you searched for so for me that was united states now i’m going to backspace to get rid of that and i’m going to try and find something else so this time i’m looking for the word coast now notice the options that i have underneath i can choose where i want to find it and in this case i don’t have too many options i’m finding it in the main document now if i just hit enter here it’s going to highlight in the document everywhere i have the word coast but if i just want to step through each occurrence of the word coast i could say find next and that’s going to leave this dialog box open but it’s going to highlight in the document where we have the word coast if i click find next again it’s going to carry on searching and jump to the next one now in this case i only have one occurrence of the word coast so it’s finished searching the document i also have other advanced options down here so i can choose to match the case so if i wanted to look for the word let’s say usa and specifically usa all in uppercase i could say that i want to match the case so that’s only going to find instances of usa where it’s in capitals as opposed to if it’s in lower case let’s do find next there it is there’s the first one highlighted and i only have that mentioned once as well i can choose to find whole words only or even use wild card characters so if i wanted to use a wild card maybe i want to look for everything that starts with the word united if i put an asterisk after it that’s our wild card character and hit enter it’s going to find united united states united kingdom united arab emirates it’s basically going to find everything that starts with united i could even do a find for something that sounds like something else so if we say let’s pick a word that we can rhyme another word with so here we have the word five so i’m going to say let’s type in sounds like live let’s select our option click on find next and it’s picked up the word life and in fact it hasn’t picked up five but it is picking up life so don’t forget about these advanced options that you have at the bottom now something else you can do is you can find not only words and phrases but you can find specific pieces of formatting so i’m going to cancel out here for one second and i’m just going to apply some formatting to some text in this document so let’s just choose a few random words and make them bold so now what we can do if we jump back into advanced find we can remove all of our current search terms go down to format and because i’m looking for all bold words in the document i can choose font and i can say find everything with bold formatting click on ok simon says subscribe and click on the bell icon to receive notifications find next and there we go it’s found that first bold word if we move across it’s found the second one so on and so forth and we have lots of different options in here so we don’t have to stop at just bold formatting if i’m looking for a piece of text that’s maybe in a specific font or maybe it’s a specific size or has other specific formatting i can choose my options in here and find it that way we can also find certain special characters in our document as well now i’m not going to linger too long on this we’re going to talk about this a bit more when we move into the paragraph section but i can do things like find all of the line breaks in a document or wherever we have a paragraph character so on and so forth so those are the options that you have for find now because this box will always retain the search that you’ve just done i’m going to choose no formatting just to remove all of the search terms now whilst find might be useful a lot of the time you might be looking through your document for a specific word in order to replace it with another word so maybe i want to replace the words united states of america with usa throughout this document well this is where we can do a replace now notice because we have this dialog box already open we have a replace tab up here if we don’t have this dialog box open we can simply go back to the editing group and there is the replace command keyboard shortcut control h let’s click on replace i already have some search terms in here so i’m going to choose no formatting to remove them and this time i’m going to say i want to find the words [Music] united states of america and i want to replace with usa i can choose to replace just one occurrence or replace all occurrences of this phrase in the document so let’s say replace all now notice here i have united states of america quite often throughout this document so if we say replace all it’s telling me it’s made zero replacements now why is that well it’s because my cursor is currently clicked right at the end of this document and it’s always going to search down from the top if you take a look underneath where i have my search term it says options search down so do i want to continue searching from the beginning yes i do let’s go for it again it’s made two replacements and if i take a look at that i can see it’s changed it in the title and also in this first line a lot of the time in this document it just says united states as opposed to united states of america so what probably would have been a bit quicker for me to do here is to use a wildcard instead so if i change this to search for everything that starts with united states it’s going to replace united states and united states of america effectively so i’m going to say use wild cards let’s replace all and it’s made five replacements yes i want to search from the beginning the final tally is 14 replacements let’s click on ok and i can see that now i don’t have united states or united states of america anywhere in this document in this exercise we’re going to practice some of the skills that we’ve learned throughout this section so the first thing i’d like you to do is to open the file the solarsystemexplained.docx from the exercise files folder once you have that file open i’d like you to select the document title only and apply the following formatting properties i’d like you to make the font size of the title 28 points i’d like you to make it bold and i’d like you to center align it on the page i’d also like you to change the font color to red once you’ve done that i’d like you to find all instances of the word sun in the document and change them to bold next i’d like you to scroll down in the document and find the section titled in a solar system i’d like you to select the entire section cut it and then paste it after the section titled outer solar system and when you paste i’d like to make sure you choose keep source formatting so a little bit of work to do there see how you go and if you’d like to see my answer then please keep watching so i’ve opened up the file the solarsystemexplained.docx from the exercise files folder and the first thing i asked you to do was to select the title and apply some formatting so i’m going to hover my mouse over in that left hand margin click once to select that entire title i then asked you to change the font size to 28 points and you could use the mini toolbar just here alternatively you can go up to the home ribbon click the drop down and choose 28 points from there i asked you to also make the title bold so you could go to the font group and click on the b or alternatively you could use the keyboard shortcut ctrl b to apply that i asked you to center align the title so for this we need to go to the paragraph group and it’s this option here that we want again if you use the keyboard shortcut ctrl e that is absolutely fine and i also asked you to change the font color to red so let’s go up to our font color drop down and we’re going to go with one of the standard colors here i’m going to go for the darker red now i didn’t mind which shade of red you selected that’s not particularly important just as long as you know where you need to go to access your color palettes the next task to complete this exercise was to use find and replace to find all instances of the word sun and make them bold so from the home ribbon all the way over in the editing group let’s click on replace and again if you use the keyboard shortcut ctrl h that is absolutely fine so this time we want to find the word sun and we want to replace it with the word sun but we want to replace it with sun in bold so for this we need to expand more go down to format and font and choose bold from here let’s click on ok and then we can choose replace all you can see it’s made 89 replacements let’s click on ok and if we go back to the beginning of the document control home we should find that every instance of the word sun is now showing in bold the last task to complete in this document is to practice cut and paste so i asked you to scroll down until you find the section titled inner solar system and it is a little way down this document so let’s find what we need here it is just here on page number five so i’m going to select everything all the way down to outer solar system which is all of this text just here i then asked you to cut this text out now again you could use the cut option in the clipboard group on the home ribbon or alternatively you can use the keyboard shortcut control x now that you’ve cut that out i asked you to paste it after the outer solar system section so let’s scroll all the way down to the end of the document and i asked you to paste this and keep the source formatting now again there are a couple of different ways you could do this you could jump up to the home ribbon click the lower half of the paste button and choose keep source formatting alternatively if you want to use the keyboard shortcut ctrl v you can then click on the little smart tag at the bottom and choose keep source formatting from there it’s time now to shift our focus away from text very slightly and start talking about paragraphs because there are a whole heap of different options that we can use in word 2021 to format entire paragraphs now the first thing we need to establish if you’re not sure what exactly is a paragraph well in the context of word a paragraph is basically wherever the writer the typer has hit the enter key so this information that we have in this particular document if you remember we just copied and pasted it in from wikipedia it doesn’t necessarily have paragraphs in the correct places so if i have a quick read through and maybe i decide that there needs to be a new paragraph after the word area i can click my cursor hit the enter key and now word considers this block of text to be a brand new paragraph incidentally even the title in this document is considered to be a paragraph and i think in general we wouldn’t normally think of that but because we’ve hit the enter key after the title this first line is a paragraph in itself the first paragraph in this document now there are different ways that we can format entire paragraphs in our word document and i guess some of the more common things you might want to do with paragraphs is change the alignment so if you notice by default if we take this first paragraph as an example the text is aligned to the left hand side and we have what we call a raggedy edge over on the right hand side so everything is always going to be nicely lined up to the left because the default is left alignment and if we take a look up on the home ribbon in the paragraph group you can see that i have left alignment selected by default notice the keyboard shortcut there of control plus l but what if i wanted to align this text to the middle well if we move across to the next icon we can change this to center alignment keyboard shortcut control plus e and that’s just going to place that text in the center of the page and as you might have guessed we do have a right alignment as well control plus r which will give us a nice straight line on the right hand side and the raggedy edge on the left now if you’re wondering what the other alignment tool up here is this is justify keyboard shortcut control plus j and justify will basically distribute your text evenly between the margins so if we click this option we’re basically going to get a nice straight line on both edges we don’t get that raggedy edge as we call it and what you might notice is that in order to achieve this word will kind of extend the character spacing in the paragraph and if you’ve ever read a newspaper which i think most of us have justified is the alignment that newspapers use so you get a nice clean crisp look in columns now for this particular document i want this to be aligned to the left but interestingly although i have been selecting the entire paragraph each time i don’t actually have to do that if i want to change the alignment all i need to do is click somewhere in the paragraph and either use the keyboard shortcut or click on align left in order to change that entire paragraph now there’s lots of other things that you can do with paragraphs which we’re going to take a look at throughout this section but let’s just finish by taking a look at a couple of other little options that we have in here with regards to formatting paragraphs so once again i’m clicked in this first paragraph if we jump up to the paragraph group notice here that i can click the drop down and i can apply a background fill color to my paragraphs so maybe i want to change this to a blue color i could even put a border around particular paragraphs so i’m going to say all borders and that really makes this first paragraph stand out from the rest of the text so your alignment tools and your paragraph formatting tools can really make a huge difference when you’re putting together a word document aside from aligning and changing the formatting of our paragraphs we can also adjust line spacing and paragraph spacing and these two have a distinct difference for example if i click my mouse somewhere in this second paragraph in the paragraph group on the home ribbon notice we have some options here for line and paragraph spacing so if i click the drop down i can choose how much space i want between the lights and because we have live preview turned on it means that when i hover over a specific item in this list it’s going to give me a preview of what that’s going to look like and you can see it’s only applying line spacing to the paragraph that i was clicked in it’s not applying it to all of the paragraphs in the document so i can choose to have less space between the lines in a paragraph or more space between the lines and if i want to further customize how much space i have between the lines i can jump into line spacing options now we have quite a bit of information on this page but if we take a look at this last group for spacing this is where we can get very granular about how much space we have between our lines for example i could say that i want 12 point spacing before this paragraph and if you take a look at the preview at the bottom when i start to adjust this you can see it’s going to move that paragraph further away from the paragraph above so this is line spacing before the paragraph begins i can do the same and adjust the spacing after so if i want less of a space i can pull that down or i can add more of a space in there i can then make further customizations in this line spacing drop down currently i have this set to single but i could go for 1.5 lines and again you can see how that changes the paragraph spacing in the preview below or i could say i want the spacing exactly and then specify a number of points so maybe i want this to be let’s just put it up to something rather large so let’s go for 21 points and you can see how that’s going to affect my paragraph so just be aware of the options that you have in this paragraph dialog box when it comes to spacing also note that if you want to apply a space before or a space after the paragraph you don’t necessarily have to jump into that dialog box you can click the drop down and we can say add space before paragraph or remove space after paragraph and you can see as i’m hovered over that the map of the united states is a lot closer to the paragraph above now that’s dealing with the spacing of lines within a specific paragraph whichever paragraph i’m clicked in but what about if i want to adjust the space between paragraphs as opposed to lines for the entire document or for that we need to go into a slightly different area i’m going to click on a ribbon that we haven’t really taken a look at yet so this is going to give you a bit of a preview now if we jump across to the design ribbon notice in the document formatting group we have some paragraph spacing options and currently i’m using the default style set but we do have some other built-in style sets that we can use to change the spacing between paragraphs as opposed to lines so if i hover over no paragraph space i’m not going to get any spaces in there and you can see the properties of that particular style set so no spacing before no spacing after and line spacing is set to one i could go for compact which adjusts that spacing after to four points i could go for tight or maybe even open or relaxed i even have custom paragraph spacing options just here so what i could do is make some amendments just here so maybe i want to have more space before and i could choose to apply this to only this document or all new documents based on this template now remember new documents based on this template means it’s going to apply these changes to the normal.x template which is basically the template that’s in use when you create a new blank document so if you need to be very specific about the amount of space you have in between your paragraphs and you want that to apply to all new documents that you create you can come in here you can make your adjustments and then you can select new documents based on this template now i’m not going to do that i’m just going to leave everything on the default so i’m going to cancel out of here but just be aware of that difference between line spacing and paragraph spacing something that can be really useful when you’re working with word documents is to turn on non-printing characters so what exactly are non-printing characters well as you might expect they are characters that exist in your document but are effectively invisible to the reader for example if i said to you take a look at this document and tell me where the non-printing characters are you’re not really going to have too much of an idea and that’s because we haven’t got non-printing characters turned on so let’s turn them on first of all and then i’ll explain to you why they can be so useful now turning on non-printing characters is a really simple thing to do we need to go up to the home ribbon in the paragraph group it’s this little icon that you’re looking for this paragraph mark and it’s actually called show hide notice the keyboard shortcut of control plus asterix to toggle it on and if we take a quick look at the screen tip it says it’s going to show paragraph marks and other hidden formatting symbols this is especially useful for advanced layout tasks so if we click to turn on and non-printing characters a couple of things have changed on this page notice that we now have these paragraph marks symbols at various different points throughout this document now what this paragraph symbol means is basically it’s the end of that paragraph so every time we’ve pressed the return key word will automatically think that we’re starting a new paragraph and it places a paragraph marker there and these paragraph markers are a lot more important than simply just to mark where the end of a paragraph is the paragraph marker actually contains all of the formatting information for that line of text now i find these particularly useful if i’m trying to format a document because they really do let me know where the beginning of the paragraph is and where the end of the paragraph is so if i just want to apply formatting to one specific paragraph it makes it a lot easier for me to see for example i can see in this paragraph here we have a paragraph marker at the end of this paragraph and then another one at the end of this paragraph so if i’m clicked in this paragraph just here i know that any formatting i apply and for argument’s sake i’m just going to increase the indent is just going to apply to the text that falls between those two paragraph markers another thing that we can see when we toggle on show hide is we can see these little dots in between each word and as you might expect these are there to represent every time we have a space now why is that useful well let’s turn off show hide for one moment to hide those non-printing characters if i scroll down a bit further in this document you can see here i haven’t really applied any formatting at all there’s no paragraphs in there there’s no formatting but take a look at something that we can see there’s a few words here that have a double blue underline and as we saw in a previous lesson this means that there’s a grammatical error in this particular point of the document if i just take a look at these i think well actually you know what this sentence sounds like it makes sense as does this one down here so why is word flagging these as a grammatical error well this is where turning on show hide is going to help because take a look at this i can see very clearly that i actually have two spaces in between the words united and nations and that’s why word is picking this up as an error so all i need to do here is just delete out one of the spaces and the same thing down here so toggling on show hide can be really useful when you’re formatting your documents now we’ve just seen a couple of examples there of paragraph marks and spaces but non-printing characters consist of a lot more things than that and we’ll be taking a look at these as we work through the course now the final thing to mention here is that if you find these really useful and you want to have them turned on permanently you can choose in word options to permanently display paragraph marks so let me just very quickly show you where that setting is so if we go up to file down to options we’re going to find this underneath the display page and it’s this second section here always show these formatting marks on the screen so if you want to permanently see your paragraph marks your spaces your tab characters your hidden text optional hyphens you could turn all of these on so when we click on ok even if we toggle off as show hide markers we’re still going to see those marks on the screen because we’ve chosen to permanently display them in this lesson we’re going to take a look at how you can quickly and easily create a bulleted or numbered list and these are really useful if you have certain list items that you want to stand out in your document and it makes your document a lot easier to read now i’m working in a completely different document and you’ll find this document ready to go in the course files folder so make sure that you have this downloaded now all of the information in this document i’ve just grabbed off of wikipedia and paste it in and i haven’t applied any formatting to this document as yet now i can see in the bottom left-hand corner that this document is 15 pages long and the page that i want to work on is actually page 13. so let’s use go to to jump directly to that page control g is the shortcut key to bring that up let’s type in 13 go to and now i’m in the spot that i want now here i have a list of countries and this basically shows the top 10 coffee consuming countries measured per capita and per annum and this looks kind of fine but i want to make this a bulleted list so that it really stands out and makes it easier to read now if i click in the first line item here finland jump up to the home tab notice in the paragraph group we have a row up here which relates to bullets and numbering so let’s take a look at this first one just here this is where we can create a bulleted list now if i click the drop down i gain access to the bullet library so this really allows you to customize the style of bullet that you’re using now the most common one is the first one just here a plain old bullet so let’s select it and now it’s bulleted just that first line item now i really want to have bullets applied to this entire list so do i have to go through selecting each one and applying bullets no i don’t i can make my selection first of all and then apply bullets in all one go so let’s undo i’m going to do control zed to undo that let’s select the entire list of countries and then i can just click the bullets button and if i just click the button as opposed to clicking the drop down and selecting from the bullets library it’s going to apply that first default bullet so now my list looks a lot neater now the difference here is that once you’ve applied bullets to the entire list if you want to change these bullets so maybe i decide i want a different type of symbol i don’t have to highlight the entire list again because word recognizes it’s already a list so i can simply click my cursor anywhere in this list click the drop down and let’s choose something else from the bullet library and it changes for everything and the cool thing about bulleted lists is that if i click at the end where we have canada and press the enter key it’s automatically going to give me another bullet point so i can carry on typing in the next item in my list now another thing to be aware of is that you do have different levels of bullet so maybe underneath each of these countries i want to break it down by their major cities so what i could do is click at the end of finland if i press enter i’m going to get another bullet on the same level but if i press my tab key it’s going to indent and give me a different style of bullet so this is kind of for your secondary list items so maybe i want to put in here some information specifically related to the city of helsinki and i could carry ongoing so if i click at the end of norway press my tab key i can then type in the next item so on and so forth we even have a third level list if i press tab again it’s going to carry on going so the tab key is going to give you different levels of indented bullet if you want to indent back out again shift tab will take you backwards now what about if i want to remove bullets well all i need to do here is click the drop down and choose none and that’s going to remove the bullet from that line only but what about if i want to remove the bullets from the entire list well i need to select the list and then choose none from the bullet library now i’m going to tidy this list up a little bit let’s remove those cities to take it back to how it was previously so bullet points are really simple to apply but what about if i want to turn this into a numbered list instead maybe this would make more sense because it is effectively a top 10 list or a top 11 list as we’ve added a new item because this is the first time that i’m applying a numbered list i need to make sure that i select the entire list first and then i can go up to the numbering option now if i click the drop down here we do have a numbering library so again this depends on what type of numbers you want to apply to this list you might want one two three you might want one two three with a bracket around it you might want roman numerals you might want uppercase lowercase so on and so forth so let’s apply this one just here one two three and it applies to the entire list if i hit enter again i’m going to get the next bullet and if i press the tab key it’s going to give me my indented bulleted item so really nice and straightforward now i’m going to select this entire list again and let’s choose none to reset it the final thing i want to show you here is how you can use a picture as your bullet instead so once again i’m going to select the entire list let’s click the drop down and notice at the bottom we can choose to define a new bullet so if you decide you don’t like any of these bullets available in the bullet library we can pretty much use any picture as a blip so if you have a little picture or a logo or something like that saved off to your hard drive you could choose picture and then browse for it in that way alternatively and sometimes this does work a little bit better we could choose a symbol from words inbuilt symbol gallery so let’s click on symbol it’s going to open up all of the symbols that we have available and i could choose something from here to use as a bullet so let’s use a star i’m going to select it from the gallery click on ok i’m getting a preview as to what that’s going to look like when i click on ok it’s going to use stars as bullet points instead the final thing to mention here is the little button that we have at the top here and this is for a multi-level list so currently i basically have a single level list if i select all of the items and click the drop down i can choose one of these options so this is where i can really customize what those different levels look like so if the top level has a one next to it if i press the tab key the next item is going to be 1.1 tab key again the next item is going to be 1.1.1 and we have various different inbuilt preset styles that we can apply so if i choose this one i have my numbered list 1 to 11 but if i have other items in this list when i press the tab key it’s going to give me 1.1 if i press the tab key again i get 1.1.1 so you really do have a whole list of different styles that you can use not only for bullets but also when you’re trying to construct a numbered list in your document indenting paragraphs can be a really helpful way of adding structure to your document and there are numerous different ways that we can indent paragraphs in word so let’s take a look at a few of them once again i’m working in the document the comprehensive guide to coffee and we’re going to click in this first paragraph after the heading and the sub heading now if we jump up to the home tab in the paragraph group we have two little buttons just here if i hover over this first one this is the decrease indent button and this is going to move your paragraph closer to the margin now currently in this document all of my paragraphs are as close to the left hand margin as they can go but what about this other button well this is going to increase the indent so it’s going to move our paragraph farther away from the margin so let’s click this one and see what happens well as you can imagine it’s just going to indent that paragraph to the default first indent and you can see by looking at the ruler that is just over one centimeter if i want to remove this i could then decrease the indent and it’s going to take it back to the left margin and i could click the increase indent button again if i click it again it’s going to move further and carry on going so i can really adjust these as i wish now notice that these changes are really just being applied to the paragraph that i’m clicked in and if we turn on our show hide markers we can see exactly where the end of that paragraph is now if i want to apply indentation to numerous different paragraphs i would need to make sure that i select all of the paragraphs that i want to indent and then i can use my increase indent button to indent the whole lot now as we’ve just seen when we increase the indent it increases it to the default measurement but what if we want to use our own measurements or maybe we want a different style of indent maybe we want to indent the first line but not the rest of the paragraph and that is a technique you often see in novels in books the first line will be indented but the rest will be back at the margin so how can we do things like that well let’s take our paragraphs back to the left margin by decreasing the indent and we’re going to open up our advanced paragraph options so let’s click on the diagonal arrow and you can see automatically it’s taken us across to the indents and spacing page and the second section here is all related to indentation so let’s move this over here so we can see the text underneath so this is where i can get very granular about the amount of indentation i want to apply so if i want to put this up i can click the up arrow and if you notice in the preview window it’s just showing me where that’s going to indent to so this gives me a little bit more control when it comes to how far away from that left margin my paragraph is i could even indent from the right margin so if i put this up notice it’s going from the other side and if i want to manually change this i can simply click in the box type in the exact indentation level i want and press enter so really nice and straightforward now i’m going to click in this first paragraph one more time and re-open up our advanced paragraph editing because we do have some other options here underneath this special drop-down so this is where i can choose if i want a first line indent or a hanging indent so if i say first line indent take a look in the preview this is what you see in novels if i click on ok it’s going to indent just the first line of the paragraph and leave everything else at that left margin and i can even customize exactly how far across i want that indent to be so if i need it to be a little bit further along i can adjust this click on ok and i get a completely different effect now i’m going to control z just to undo this and take it back to how it was let’s open up our options again and take a look at the other thing that we have underneath this special drop down and that is a hanging indent which is kind of the opposite of the first line indent this time it’s going to leave the first line of the paragraph at the margin but it’s going to indent everything else and once again we can adjust exactly by how far we want to indent if we click on ok we get a completely different effect so really this is entirely up to you how you want to manage indents in your document just remember if you’re just clicked in the paragraph it will only apply the indent to that paragraph if you want to apply it to multiple simply select the paragraphs jump into the advanced options and then you can choose whatever level of indentation you want in the previous lesson we took a look at how we can indent paragraphs in our word document and just to pick up where we left off if we take a look at this first paragraph where we have a first line indent i want to draw your attention up to that horizontal ruler notice that where this line indents i have what we call a tab stop and that is this little triangle icon that you can see there on the ruler now if i hover over it’s telling me that i currently have a first line indent set in this document and this is basically showing me how far across the page this indent is this is where that first line is going to start now tab stops are really important when it comes to how your document is laid out and if we double click on this tab stop it opens up our advanced options for paragraph and right at the bottom we have a tabs button now if we click on this this is going to allow us to define where our tab stop position is now i’m going to cancel out of here just keep that in the back of your mind because we’re going to jump into here a bit later on in this lesson now these tab stops that you can see on the ruler we can adjust these manually so for example if i wanted to move this first line back to the left margin i can simply click and drag it all the way back if i click in the second paragraph notice again i have my tab stop position i can simply drag it all the way back to change that indentation now whilst we’re here looking at these tab stops on the ruler we saw that if we hover over the first one this is the first line in den but what about if we hover over the one below this is the hanging indent and if we hover over the little rectangle underneath that one represents a left indent so what happens if i click on left indent and drag it in it’s going to move that entire paragraph so this is very similar to applying an indent the lower half controls the left indent what about if i move the hanging indent tab stop well this is going to give me that hanging indent effect and i can drag it up and i can drag it back down again and if i want to indent the first line you might have guessed it we can click and we can drag and it’s going to indent that first line so just be aware that you have these controls these tab stops up here as well to adjust your indentation now tab stops can be used in a slightly different way so what i’m going to do here is i’m going to click after what is coffee and press the enter key to give myself a new paragraph now what about if i want to have maybe three columns of text here maybe i want to have a column that shows the coffee type maybe i want some information in the middle of the page which shows the country of origin and then maybe i want some information over on the right hand side of the page which shows the amount consumed well currently that’s quite hard to do if i was to type in say coffee type i could press my tab key to kind of move across and sort of guess where the middle part is and then i could say country and then i could tab across and then maybe say something like amount but this isn’t particularly consistent and it’s going to be really hard for me to start lining up my items underneath so this is where tab stops come in really handy so i’m going to control z just to get rid of this and show you how these tab stops work now if you cast your eyes all the way over to the left hand side of the screen notice right in the top corner here we have this little symbol which looks like a small l if i hover my mouse over it that is my left tab but if i click my mouse it cycles through to a different style of tap and if i hover over that is a center tab if i click again it’s going to give me a right tab if i click again it’s going to give me a decimal tab let’s click one more time that is a bar tab we have a first line indent a hanging indent and then we’re back to our left tab so this basically allows you to cycle through all the different kinds of tabs that we have in word so how exactly do we use these well i could use these to help me with the example i just showed you now i want to type in coffee type and i want all of the items to be aligned to the left margin so i don’t really need a tab here i can just type in coffee type and it’s basically in the correct place but now i want to make sure that my next column of information is in the middle of this page so if i take a look at my ruler i’m going to say that just over eight centimeters is roughly in the middle of my page let’s say eight for argument’s sake this isn’t an exact science so what i could do if i wanted everything to be centered is i could use a center tab to help me with this so what i need to do is i need to go through my different tabs and make sure that i select center so we’re on left the next one is the center tab there we go once i have center tab selected i can then click on my ruler where i want to place that tab so i’m going to say i want to put this at eight centimeters let’s click and now you can see we have that little tab there so what this means is that when i press the tab key on my keyboard it’s going to tab directly to that point and because it’s a center tab it’s going to ensure that all of the text i start typing is in the center so i’m going to type in country of origin and then i want a final column and i want to make sure everything is aligned to the right so for this i could use a right tab so i’m going to cycle through all my tabs again so we’re on center there is the right tab and then i’m going to place this just at the end just after 16. so now when i press tab key it’s going to jump to that point and everything’s going to be aligned to the left hand side so let’s just say amount sold notice also that because i have my show hide markers turned on i’m seeing an indication of wherever i have a tab so because i now have those tab markers set i can press enter and then i can type in my items and everything’s going to be nicely lined up so let’s say java i press the tab key it jumps me to the center country of origin let’s say indonesia and we’ll say 1 million units sold hit enter i can go to the next one and if we turn off as show hide markers you can see how nice this looks everything is nicely lined up and this is really hard to achieve if you don’t use tab stops you could use something like a table but tab stops work just as well now if you’re wondering what some of these other tabs are if i toggle through to this next one the decimal tab this is what you can use if you’re typing numbers into your document if you want to make sure all of the numbers are aligned by the decimal place then you could use the decimal tab so let’s just click somewhere in this document i’m going to say 7 centimeters i’m going to hit enter tab across and if i was to type a number that has decimal places so let’s say 1 million again you can see that the decimal place will always be aligned to wherever we have that decimal tab so if i was to type a shorter number in let’s say 4000 everything’s going to be nicely lined up and what about a bar tab what does that do well if i hit enter and let’s toggle around till we get to the bar tab if i put that at let’s say three centimeters it’s going to put a line in there a bar so this is good if you want to add a little bit of separation to your columns now i’m going to ctrl z to undo that the final thing i want to point out to you here is the additional options that you have when it comes to tab stops so if i click somewhere i have a tab stop i can double click on the tab stop go to tabs if you recall we were in here earlier and this is going to show me my tab stop positions for this line that i’m currently clicked in and i can make any changes that i need to so you can see here tab stop position i’ve got a tab at eight centimeters which i do it’s the center tab and i have another one at 16.25 and that is a right tab and you can see that for both of these i don’t have what we call leaders so what i could do here if we delete out everything that we’ve had in there and i’m also going to remove the tab stops by just simply clicking and dragging them off of the ruler i could set up all of my tab stops from this tabs dialog box so i might say that i want a tab stop position at four centimeters so let’s say four i want it to be a center tab and i want it to have a dotted leader click on set and it’s going to add that in notice that i have a tab stop at 16.25 well i don’t want that one to be there i can click it and i can say clear let’s add another tab stop position so let’s add one at 11 centimeters and i want this to be a right tab stop with a dotted leader and click on ok so now if i type in my titles let’s say coffee type and press the tab key it’s going to tab across to that first tab stop which is four centimeters and i have that dotted leader i can type in my next so let’s say country press tab again it’s going to jump across to 11 centimeters and i can then type my next heading so that is how your tabs and your tab stops work really useful if you’re trying to line up things in a document in this exercise we’re going to practice some of the skills that we’ve learned in this section and we have quite a few different tasks to complete so the first thing i’d like you to do is working in the solar system document after the second paragraph i’d like you to type the title planets comma distance from the sun i’d like you to make sure that you turn on rulers and make sure that the measurement unit is set to inches once you’ve done that i’d like you to add a center tab stop at three inches across the ruler i’d then like you to add a right tab stop at six inches across the ruler once you have those tab stops set up i’d like you to open the document planets distance from the sun table dot dot x and once again you’ll find this in the exercise files folder i’d like you to use that information as a guide and manually input it into the solar system document using the tab stops once you have all of that information in there i’d like you to just apply bold formatting to the heading row to differentiate it from the rest of the information now once you’ve done that i’d like you to scroll back up to the top of the document and after the main title i’d like you to insert or type a bulleted list and this bulleted list should list out all of the planets and instead of using one of the regular bullet symbols i’d like you to use the icon titled planet icon.png again you’ll find this in the exercise files folder make sure that that icon represents each bullet point in the list so quite a few different things to do there if you’d like to see my answer then please keep watching so the first thing i asked you to do in this exercise is after paragraph number two which is this one just here we need to get onto a new line and type a brand new heading and that needs to say planets distance from the sun next i asked you to make sure that you have your rulers turned on so if you can’t see a horizontal ruler running across the top of the page you’re going to need to go to view and make sure you have a check in the box next to ruler i also asked you to make sure that the measurements are displayed in inches now if you have something that looks different to what i have here you’re going to need to go into file down into options and into the advanced page now if we scroll all the way down to the display section we want to make sure where it says show measurements in units of this is set to inches so if you have anything else in there you want to make sure you select inches let’s click on ok i then asked you to add a tab stop at 3 inches across the document so for this we need to reach our mouse all the way over to the left hand side where we have our different tab stops so i need to click until i get to the center tab stop which is this one just here i can now go to my ruler and where it says three inches i’m going to click to add that center tab stop i then asked you to add a right tab stop at six inches across the ruler so once again let’s go over to add tabs in the top left hand corner click again to move to the right tab stop and then we can just click at six inches on the ruler to add that the next thing i asked you to do was to add some information using these tab stops and for this we’re going to refer to another document that we have saved off in the exercise files folder and that is this file just here planets distance from the sun table dot dot x so basically we want to manually type in all of this information by using our tab stops in the other document so for this i’m going to divide my screen into so to make this easier i’ve placed my documents side by side the first thing i’m going to type here is planet and then i’m going to press my tab key to move across to that center tab stop let’s type solar system press the tab key again to move across to that right tab stop once we get to the end of the line let’s press enter and we can start to type in the first planet so the first one is mercury press tab again it’s part of the inner solar system and it is 35 million miles from the sun so what i need you to do here was go through and add as many of these as you like if you didn’t add them all that’s not too much of a problem just as long as you get the idea behind tap stops so i’m going to go away and add the rest of these in and then we’ll pick up with the rest of the exercise so once you have all of these typed in the next thing i asked you to do was just to make sure that the column headings were in bold so let’s select this top row ctrl b to make those bold the final part of this exercise was to type out a list of all of the planets at the top of the document and i wanted you to make this a bulleted list so if we scroll up to the top of the document let’s click and get ourselves onto a new line i’m going to type in mercury venus earth and then all of the rest of the planets now we want to make these a bulleted list but i don’t want to use just the regular bullets i asked you to use an icon that’s stored off in the exercise files folder so let’s select a list let’s go to the home tab we’re going to click the drop down next to bullets and from here you needed to define a new bullet we need to go to picture from a file and then just navigate to the folder wherever you have the planet icon saved so let’s select it click on insert and ok again and we now have a bulleted list with a customized bullet point if you’re not a subscriber click down below to subscribe so you get notified about similar videos we upload to get the course exercise files and follow along with this video click over there and click over there to watch more videos on youtube from simon says it

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Key Achievements by 40 That Signal Success Beyond Conventional Metrics

    Key Achievements by 40 That Signal Success Beyond Conventional Metrics

    Reaching 40 with a sense of accomplishment often transcends traditional markers like job titles or material wealth. True success lies in cultivating intangible qualities and experiences that foster personal growth, resilience, and meaningful connections. Below are fourteen milestones that reflect a life well-lived, each explored in two detailed paragraphs.

    1. Mastery of a Non-Professional Skill
    Developing expertise in a skill unrelated to one’s career—such as gardening, playing a musical instrument, or mastering ceramics—signifies a commitment to lifelong learning and self-expression. These pursuits offer a respite from daily routines, allowing individuals to channel creativity and find joy outside professional obligations. For instance, someone who learns furniture restoration not only gains a hands-on craft but also discovers patience and precision, traits that enhance problem-solving in other areas of life.

    Beyond personal fulfillment, such skills often ripple into community impact. A home chef might host cooking classes for neighbors, fostering camaraderie, while a fluent speaker of a second language could bridge cultural gaps in their community. These endeavors underscore the value of investing in oneself for both individual enrichment and collective benefit, proving that growth extends far beyond the workplace.

    2. Prioritizing Knowledge Sharing Over Material Accumulation
    Those who focus on imparting wisdom—through mentoring, creating educational content, or leading workshops—build legacies that outlast physical possessions. A software engineer who tutors underprivileged students in coding, for example, empowers future innovators while refining their own communication skills. This exchange of knowledge strengthens communities and creates networks of mutual support.

    The act of sharing expertise also cultivates humility and purpose. By teaching others, individuals confront gaps in their own understanding, sparking curiosity and continuous learning. A retired teacher writing a memoir about classroom experiences, for instance, preserves decades of insight for future generations. Such contributions highlight that true wealth lies not in what one owns, but in the minds one inspires.

    3. Embracing a Culturally Expansive Worldview
    Engaging deeply with diverse cultures—whether through travel, language study, or friendships with people from different backgrounds—nurtures empathy and adaptability. Someone who volunteers abroad or participates in cultural exchanges gains firsthand insight into global challenges, from economic disparities to environmental issues. These experiences dismantle stereotypes and encourage collaborative problem-solving.

    A global perspective also enriches personal and professional relationships. Understanding cultural nuances can improve teamwork in multinational workplaces or foster inclusivity in local communities. For example, a business leader who studies international markets may develop products that resonate across borders. This openness to diversity becomes a compass for navigating an interconnected world with grace and respect.

    4. Living by a Personal Philosophy
    Crafting a unique set of guiding principles by 40 reflects introspection and maturity. Such a philosophy might emerge from overcoming adversity, such as navigating a health crisis, which teaches the value of resilience. Others might draw inspiration from literature, spirituality, or ethical frameworks, shaping decisions aligned with integrity rather than societal expectations.

    This self-defined ethos becomes a foundation for authenticity. A person who prioritizes environmental sustainability, for instance, might adopt a minimalist lifestyle or advocate for policy changes. Living by one’s values fosters inner peace and earns the trust of others, as actions consistently mirror beliefs. This clarity of purpose transforms challenges into opportunities for alignment and growth.

    5. Redefining Failure as a Catalyst for Growth
    Viewing setbacks as stepping stones rather than endpoints is a hallmark of emotional resilience. An entrepreneur whose first venture fails, for example, gains insights into market gaps and personal leadership gaps, paving the way for future success. This mindset shift reduces fear of risk-taking, enabling bold choices in careers or relationships.

    Embracing failure also fosters humility and adaptability. A writer receiving repeated rejections might refine their voice or explore new genres, ultimately achieving breakthroughs. By normalizing imperfection, individuals inspire others to pursue goals without paralyzing self-doubt, creating cultures of innovation and perseverance.

    6. Cultivating a Geographically Diverse Network
    Building relationships across continents—through expatriate experiences, virtual collaborations, or cultural clubs—creates a safety net of varied perspectives. A professional with friends in multiple countries gains access to unique opportunities, from job referrals to cross-cultural insights, while offering reciprocal support.

    Such networks also combat insular thinking. A designer collaborating with artisans in another country, for instance, blends traditional techniques with modern aesthetics, creating innovative products. These connections remind individuals of shared humanity, fostering global citizenship and reducing prejudice.

    7. Attaining Financial Autonomy
    Financial stability by 40 involves strategic planning, such as investing in retirement accounts or diversifying income streams. This security allows choices like pursuing passion projects or taking sabbaticals, as seen in individuals who transition from corporate roles to social entrepreneurship without monetary stress.

    Beyond personal freedom, financial literacy inspires others. A couple who mentors young adults in budgeting empowers the next generation to avoid debt and build wealth. This autonomy transforms money from a source of anxiety into a tool for creating opportunities and generational impact.

    8. Committing to Holistic Self-Care
    A consistent self-care routine—integrating physical activity, mental health practices, and nutritional balance—demonstrates self-respect. A parent who prioritizes morning yoga amidst a hectic schedule models the importance of health, improving their energy and patience for family demands.

    Such habits also normalize vulnerability. Openly discussing therapy or meditation reduces stigma, encouraging others to seek help. By treating self-care as non-negotiable, individuals sustain their capacity to contribute meaningfully to work and relationships.

    9. Thriving Through Life’s Transitions
    Navigating major changes—divorce, career pivots, or relocation—with grace reveals emotional agility. A professional moving from finance to nonprofit work, for instance, leverages transferable skills while embracing new challenges, demonstrating adaptability.

    These experiences build confidence. Surviving a layoff or health scare teaches problem-solving and gratitude, equipping individuals to face future uncertainties with calmness. Each transition becomes a testament to resilience, inspiring others to embrace change as a path to reinvention.

    10. Finding Humor in Adversity
    Laughing during tough times, like diffusing family tension with a lighthearted joke, fosters connection and perspective. This skill, rooted in self-acceptance, helps individuals avoid bitterness and maintain optimism during crises.

    Humor also strengthens leadership. A manager who acknowledges their own mistakes with wit creates a culture where employees feel safe to innovate. This approach transforms potential conflicts into moments of unity and learning.

    11. Transforming Passions into Tangible Projects
    Turning hobbies into impactful ventures—launching a community garden or publishing a poetry collection—merges joy with purpose. A nurse writing a blog about patient stories, for instance, raises awareness about healthcare challenges while processing their own experiences.

    These projects often spark movements. A local art initiative might evolve into a regional festival, boosting tourism and fostering creativity. By dedicating time to passions, individuals prove that fulfillment arises from aligning actions with values.

    12. Elevating Emotional Intelligence
    High emotional intelligence—empathizing during conflicts or regulating stress—strengthens relationships. A leader who acknowledges team frustrations during a merger, for example, builds trust and loyalty through transparency and active listening.

    This skill also aids personal well-being. Recognizing burnout signs and seeking rest prevents crises, modeling healthy boundaries. Emotionally intelligent individuals create environments where others feel seen and valued.

    13. Solidifying an Authentic Identity
    Resisting societal pressures to conform—like pursuing unconventional careers or lifestyles—affirms self-worth. An artist rejecting commercial trends to stay true to their vision inspires others to embrace uniqueness.

    This authenticity attracts like-minded communities. A professional openly discussing their neurodiversity, for instance, fosters workplace inclusivity. Living authentically encourages others to shed pretenses and celebrate individuality.

    14. Embracing Lifelong Learning
    A growth mindset fuels curiosity, whether through enrolling in courses or exploring new technologies. A mid-career professional learning AI tools stays relevant, proving adaptability in a changing job market.

    This attitude also combats stagnation. A retiree taking up painting discovers hidden talents, illustrating that growth has no age limit. By valuing progress over perfection, individuals remain vibrant and engaged throughout life.

    In conclusion, these milestones reflect a holistic view of success—one that prioritizes resilience, empathy, and self-awareness. By 40, those who embody these principles not only thrive personally but also uplift others, leaving legacies that transcend conventional achievements.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • 500 English Grammar Rules Explained

    500 English Grammar Rules Explained

    This YouTube transcript meticulously explains 500 English grammar rules, ranging from basic to advanced C2 level. The speaker covers parts of speech, verb tenses, conditionals, modal verbs, and the passive voice, often contrasting simpler and more sophisticated usages. Numerous examples and illustrative diagrams are provided to clarify complex grammatical concepts and their applications in various contexts. The transcript also explores the subtle nuances of word placement and meaning shifts based on context. Finally, it encourages active learning by proposing a task for the viewer to engage with.

    Advanced English Grammar Study Guide

    Quiz

    Instructions: Answer each question in 2-3 sentences.

    1. What is a determiner, and what role do articles play as determiners?
    2. Describe the difference in usage between the articles “a/an” and “the.”
    3. What are copular verbs, and how do they relate to the use of the indefinite article (“a/an”)?
    4. What are the rules for using no article (the zero article) before a noun?
    5. How do “this,” “that,” “these,” and “those” differ in their demonstrative usage?
    6. Explain how “some” and “any” differ in their basic usage within sentences.
    7. What are the basic rules for using “much” and “many,” and how can they be used without a noun?
    8. Describe how adverbs of frequency are usually positioned in a sentence.
    9. Explain the difference in meaning between “really” when it goes at the beginning of a sentence and when it goes after a noun.
    10. What is a compound verb and what are some ways to make them?

    Quiz Answer Key

    1. A determiner is a word that specifies a noun, indicating which, how many, or whom the noun refers to. Articles, a, an, and the, are types of determiners. They are used to denote if a noun is general or specific.
    2. “A/an” is used before a singular countable noun when it is one of many, introduced for the first time, and not specific. “The” is used when a noun is specific, unique, or previously mentioned.
    3. Copular verbs, such as “to be,” link descriptive information to the subject. When “a/an” is used to describe a subject after a copular verb, it describes a general characteristic or an example of that noun.
    4. No article is used before a noun when it is plural, refers to a general concept or topic, or when it is an uncountable noun when we are not being specific.
    5. “This” and “these” refer to things that are near in proximity or time, with “this” used for singular nouns and “these” for plurals. “That” and “those” refer to things that are further away, also with singular and plural usage, and they can also be used for hypothetical situations and experiences that are far in time.
    6. “Some” is generally used in positive or affirmative statements and questions where a positive answer is expected, while “any” is typically used in negative statements and general questions.
    7. “Much” is used with uncountable nouns, while “many” is used with countable nouns, both indicating a large quantity. They can be used without a noun when the noun is clear from the context.
    8. Adverbs of frequency usually take the mid position in a sentence, usually between the subject and the verb, but can sometimes be at the end in informal situations or before the subject when they describe the whole situation.
    9. When “really” is used after a noun, it means “to a great extent.” When it is used at the start of a sentence it means “in actual fact.”
    10. A compound verb is a combination of two or more words, and it usually includes a prefix, or sometimes a combination of two different words, such as brainstorm or overestimate.

    Essay Questions

    Instructions: Please answer the following questions in essay format.

    1. Analyze how the choice of articles (a/an, the, or zero article) significantly alters the meaning of a sentence. Provide examples using different types of nouns (countable, uncountable, plural, singular).
    2. Discuss the use of demonstrative pronouns (“this,” “that,” “these,” “those”) in relation to proximity, time, and hypothetical situations. How can choosing the wrong demonstrative impact the intended meaning?
    3. Explore the advanced uses of quantifiers (“some,” “any,” “much,” “many”) and how they function beyond their basic definitions. Include situations in which the “rules” for using them can change.
    4. Explain how adverbs are used to add levels of complexity to a sentence, discussing the different types of adverbs (frequency, place, manner, etc.) and where they fit in a sentence.
    5. Explain the function of modal verbs and their various uses to express concepts like possibility, obligation, permission and speculate about the future, as well as more advanced concepts such as a planned time, certainty, or annoying behavior.

    Glossary of Key Terms

    Article: A type of determiner (a, an, the) that specifies whether a noun is general or specific. Determiner: A word that introduces a noun, indicating which, how many, or whom the noun refers to. Countable Noun: A noun that can be counted and has a plural form. Uncountable Noun: A noun that cannot be counted and does not have a typical plural form. Plural Noun: A form of a noun that indicates more than one item. Singular Noun: A noun form that refers to a single item. Definite Article: “The” – used when the noun being spoken about is specific or known. Indefinite Article: “A” or “An” – used when the noun being spoken about is one of many, and not specific or known. Zero Article: The absence of any article (a, an, or the) before a noun, usually when referring to a general concept or plural nouns. Copular Verb: A verb that connects a subject to a noun, adjective, or other word that describes or identifies the subject, such as forms of “to be,” “seem,” “appear,” etc. Demonstrative Pronoun: A pronoun that points out specific people or things (this, that, these, those). Quantifier: A word used to express quantity (some, any, much, many, etc.). Adverb: A word that modifies a verb, adjective, or another adverb, providing information about how, when, where, or to what extent something is done. Adverb of Frequency: An adverb that indicates how often something occurs (often, rarely, sometimes, etc.). Adverb of Place: An adverb that indicates where something is located or occurs (above, below, inside, etc.). Adverb of Manner: An adverb that describes how something is done (slowly, quickly, carefully, etc.). Subject Complement: A word or phrase that follows a linking verb and describes or identifies the subject. Compound Verb: A verb that is formed by combining two or more words, often with prefixes, creating a new verb with a related meaning. Transitive Verb: A verb that requires a direct object to complete its meaning. Intransitive Verb: A verb that does not require a direct object. Ditransitive Verb: A verb that takes two objects, a direct and an indirect object. Delexical Verb: A verb that loses its typical meaning and instead relies on the object to carry the activity, e.g. to have a shower Modal Verb: An auxiliary verb that expresses possibility, necessity, permission, or obligation (will, would, can, could, may, might, must, should). Subjunctive: The mood of a verb used to express wishes, hypothetical situations, or commands. Subordinator: A word that introduces a dependent clause (if, when, because, etc.). Noun Clause: A clause that functions as a noun in a sentence and can have its own subject and verb. That Clause: A subordinate clause introduced with the subordinator “that.” Object Complement: A noun or adjective that follows an object and describes it further. Relative Clause: A clause that modifies a noun or pronoun and which contains a relative pronoun (who, which, that, whose, etc) First Conditional: A conditional sentence that expresses a real or likely possibility. Second Conditional: A conditional sentence that expresses a hypothetical or unlikely possibility. Third Conditional: A conditional sentence that expresses a hypothetical situation in the past and its imagined consequences. Zero Conditional: A conditional sentence that expresses a general truth or a situation that is always true.

    Mastering English Grammar

    Okay, here is a detailed briefing document summarizing the key themes and ideas from the provided text, with quotes included.

    Briefing Document: Comprehensive English Grammar Review

    Overall Theme: The provided text is a transcript of a video lesson designed to provide a comprehensive overview of English grammar, moving from basic concepts to more advanced and nuanced points. The lesson covers a wide range of topics with particular emphasis on: articles, demonstratives, quantifiers, adverbs, adjectives, verbs (including modals and conditionals), subordinators, and noun clauses.

    Key Concepts & Ideas (Organized by topic):

    1. Articles (a, an, the, zero article):

    • Indefinite Articles (a, an): Used before singular, countable nouns when the noun is “one of many” and it’s the first mention.
    • “We use uh or an before a noun when it is one singular noun of many… we’re not focusing on a specific example of the noun though.”
    • “A” precedes consonant sounds, “an” precedes vowel sounds. “if it’s a vowel sound then we say um before it if it’s a consonant sound we say uh before it”
    • Definite Article (the): Used when the noun is unique, specific, or has been previously mentioned.
    • “whenever we use the’ we are making the noun unique in some way… we’re focusing on a specific example of the noun here”
    • “if you’ve mentioned it before in the same context we usually switch from uh to the”
    • Zero Article: Used before plural nouns when referring to a general group, uncountable nouns in general, topic nouns, and abstract nouns.
    • “used no article before a noun when it is one plural noun of many… we’re not referring to just one phone here”
    • “with abstract nouns that are not usually counted… it’s an idea in our minds”
    • Advanced Article Use
    • Copular verbs can be followed by “a” in second mention. “I bought a phone it was a black phone I’ve used uh twice here with the first mention and the second mention”
    • “A” is used before a group noun. “A range of phones are on sale”
    • “A” is used when an example represents all types of the noun “a phone is useful for watching videos”
    • “The” is used before a group noun to specify “the range of phones in the shop”
    • “The” is used when specifying a noun to make it unique or with a superlative. “the latest phone”
    • Special Article Rules:
    • Countries: Use “the” with plural names, real word names, or island groups (e.g., “the United Kingdom”) but not with simple country names (e.g., “France”).
    • Rivers: Use “the” (e.g., “the river Amazon”), but not with lakes or waterfalls (e.g., “Lake Victoria”).
    • Mountains: Use “the” with ranges (e.g., “the Himalayas”) but not with individual mountains (e.g., “Mount Everest”).
    • Directions: Use “the” when north, south, etc., are nouns (e.g., “the North”), but not when describing another noun (e.g., “South London”).
    • Places: Most places take “the” (e.g., “the shops”), but common places like “church”, “school”, and “home” often don’t, unless specifying.
    • Transport: Use “the” before the transport type (e.g., “the train”), but not after “by” (e.g., “by train”).

    2. Demonstratives (this, that, these, those):

    • Basic Use: “This” and “these” refer to things near, while “that” and “those” refer to things far.
    • “this refers to things that are near that refers to things that are far”
    • Advanced Use: “This” and “these” can refer to situations/experiences near in time, while “that” and “those” refer to situations/experiences far in time or hypothetical situations.
    • “this and these can refer to situations and experiences that are near in time… that and those can refer to situations and experiences that are far in time”

    3. Quantifiers (some, any, much, many):

    • Basic Use: “Some” and “any” indicate an unspecified amount. “Some” is for positive sentences, while “any” is for negative sentences and questions. “Much” and “many” indicate a large amount, with “much” for uncountable and “many” for countable words.
    • “some here is used with positive sentences … and any is used with negatives… or questions”
    • “much and many mean a large amount… much is used with uncountable words… beans is countable”
    • Advanced Use: “Some” can be used in a question if a positive response is expected. “Any” can be used in affirmative clauses with negative words (e.g., “hardly”, “rarely”, “never”) to express a small quantity.
    • “some first of all usually represents a positive meaning therefore if asked in a positive way… any usually represents a lack of something”

    4. Adverbs:

    • Types: The lesson covers adverbs of manner, frequency, place, certainty, completeness, and evaluation.
    • Frequency: Adverbs like “rarely,” “sometimes,” “often,” “usually,” and “always” can be replaced with more advanced versions (e.g., “barely,” “sporadically,” “frequently,” “routinely,” “invariably”).
    • Placement: Adverbs generally take the mid-position (subject-adverb-verb) but can be flexible. “frequency adverbs tell how often a word happens and they usually take the the mid position”
    • Adverbs of Manner: Can be front, mid, or end position, though there are exceptions. “adverbs of manner tell how something happens and they can go in many positions usually you can be very flexible”
    • Certainty: Ly ending adverbs usually take mid position (possibly, probably). Models without ly are often front or end (maybe). “words ending ly to do with certainty commonly but not exclusively take the mid position”
    • Completeness: Usually mid position, but can be end for emphasis (e.g., “entirely,” “completely”). “again these usually go in the mid position”
    • Evaluation: No strong position trend (e.g., “surprisingly”). “with valuative adverbs there’s no strong trend for position”
    • Special Adverb Rules:“Quite” changes meaning before adjectives (fairly, totally) and before nouns. “when quite means somewhat or fairly it usually goes before the whole noun phrase… or totally when you place it before the adjective and after the article”
    • “Rather” normally before adjectives, but in storytelling before articles (e.g., “It was rather a cold winter”).
    • “Already”, “yet”, “still”: specific placement rules and exceptions, noting that “yet” can be an adverb or conjunction and “still” is mid-position (unless negative or a conjuction)
    • “Even,” “only”: usually mid position but front when referring to the subject
    • “Hard,” “hardly”: distinct meanings. Hard means with effort, hardly means not much.

    5. Adjectives:

    • Basic Use: Adjectives describe nouns.
    • Comparative & Superlative: One syllable add -er / -est. Two or more syllables, use more/most. Irregular forms (good/better/best, etc.)
    • “if you have a on syllable word adjective then to make it a comparative add e ER… if there’s two or two syllables or more then usually we use more”
    • Equal and negative comparisons use as … as and not as … as
    • Adjective Placement: Typically before a noun (e.g., “a fast car”), but can be placed after copular verbs, nouns in poetry or songs, certain nouns (e.g., “something special”), or when describing a state or action with verbs like wipe (e.g., “I’m wiping the floor clean”)
    • Adjectives follow copular verbs (is, seems etc.)
    • “I saw the sky blue”
    • “I’m wiping the floor clean… literally what happens to the floor it becomes clean”
    • Special Rules:With words “as”, “how”, “so”, “too”, and “that”, adjectives can precede the article (e.g., “as fast a car”).
    • Adjectives can end a sentence to make it rhyme.
    • Adjectives can follow a noun when they describe something with a copular verb (is, seems etc.).
    • When a verb object is followed by an adjective, the adjective describes what the object becomes.
    • Adjectives Ending in -ly: If they already end in ly (e.g. friendly) do not add another ly for the adverb. Adverbs and adjectives can have the same form (e.g., fast, slow).

    6. Verbs:

    • Subjunctives: Use the infinitive form, not changing for tense, often showing importance or in hypothetical situations.
    • “with the subjunctive put simply we use the verb infinitive in instead of changing for tense in the second clause”
    • Transitive vs. Intransitive: Transitive verbs take objects (e.g., “I am driving a car”), intransitive verbs do not (e.g., “I am swimming”).
    • Transitives can take a passive form. Intransitives cannot.
    • Some verbs change meaning when used intransitively vs transitively. “Victoria returned the dress… Victoria went out but she has just returned”
    • Ditransitives: Take two objects: direct and indirect (e.g., “He gave a gift to his father”). Indirect objects can be moved before the direct object if “to” is dropped
    • Some verbs follow the rule, some do not, so must be learned.
    • Delexical Verbs: Transfer the activity to the object rather than performing it themselves. (e.g. “I gave it a try”) “delexical verbs can shift the activity onto the object”
    • Compound Verbs: Made up of two words. (e.g. “brainstorm”, “overestimated”) “compound verbs refer to English verbs which are a combination of two words”
    • Copular Verbs: Link subject to a noun or adjective but do not show an activity (e.g., “the food tastes nice”).
    • Followed by nouns and adjectives, not adverbs.
    • Some verbs can be copular or non-copular based on the verb and subject (the verb can carry an activity if non copular).
    • Causatives: Involve getting someone else to do something (e.g., “I had my phone fixed”). Get means you organised it and have means you arranged it. “we’re putting the emphasis on the person who does the action, not the person who received the action”
    • Auxiliaries/Negatives: Usually requires an auxiliary verb. Feelings and mental processes may take “think not” and “hope not” type negatives. “most negatives require an auxiliary”
    • State vs. Active Verbs: State verbs relate to states and situations. Active verbs show actions.
    • Some verbs like “appear” can be both. “we’re making the point that verbs do not always fit into one of these categories sometimes they’re mixed”
    • Regular and Irregular Verbs: Some verbs are regular and the past form of the verb follows the rules. Some are irregular and must be learnt by heart.
    • Verb + Preposition: Certain verbs require specific prepositions before their objects (e.g., “listen to”, “look at”), but the prepositions are dropped if the object is dropped. “Many verbs require a preposition to go before the object… if the object is dropped the preposition is also dropped”

    7. Tenses and Time:

    • Present Simple/Continuous: Simple for permanent and continuous for temporary situations or those that are in progress.
    • Use simple to talk about past permanent situations, continuous for temporary, repeated, or hypothetical past situations. “for situations that feel more permanent about the past use the simple form… if it’s a temporary situation in the past it’s common to use the continuous form”
    • Past Simple/Continuous: Simple for sequential events and continuous for actions that take place over time or together.
    • Use continuous with high frequency adverbs (always) when talking about repeated actions. Use past tenses for distancing and to make sentences more polite. “if you have a past activity that was often repeated The Continuous form would be preferred here… we create distance in time between uh us and the person listening… distance in time can be created by using past tenses”
    • Simple form is most common when “that” is the subject of the sentence.
    • Past Perfect: When events are not in time order. Past perfect not required after subordinator of reason if the two events happen at the same time.
    • Can be omitted in lists where there is symmetry and the same grammar is repeated. “when events are not in time order we use the past perfect… particularly with reason clauses I had left my phone at home because my mother needed it not because my mother had needed it”
    • Future (will, going to, present continuous):“Will” for expectations, certainty, promises, offers, consent, plans made in the moment, predictions without physical evidence, orders, threats and refusals.
    • “Going to” for plans already made, physical evidence for predictions, future arrangements.
    • “Present continuous” for fixed arrangements.
    • “Going to” is used with state verbs but “present continuous” is not.
    • Future perfect completion of something by a future time. Often used with “by”.
    • Future perfect continuous activity ongoing up to a point in the future. Often used with “for” and “since”.
    • “Will have finished” for anticipating what is true without evidence.
    • Passive Voice: Used when the receiver is more important than the agent. Transitives take the passive, intransitives do not.
    • Can be used to increase formality and focus. “the passive is more formal… to focus on the receiver of an action”
    • Passive can be used with “with” after to introduce an agent.
    • Use of “it” as a dummy subject. “it points to the information that’s underlined people do not live on Mars”
    • “Being” should not be used next to “been”. “they had been being followed by millions of viewers… it is usually avoided it’s too confusing”
    • Omission of words when relative clauses are defining or non-defining, or when passive structures or short phrases (to be/which are) can be removed.
    • Object complements: When the object is described by a noun or phrase after the verb (e.g. “she was considered a genius by the students”).
    • “By” can be replaced by “through” or “of”.
    • “Let” does not take “to” when made passive.
    • Some verbs are almost always passive: “born”, “repute”, and “rumor”. “there are some verbs that are almost always passive and these verbs are born repute and rumor”

    8. Conditional Sentences (zero, first, second, third):

    • Zero Conditional: Describes general truths. If + present simple, present simple. “If the weather is nice it’s hot, if the weather is not nice it’s cold”“When” can be used instead of “if” with little change in meaning. “if told to leave do so immediately… when told to leave do so immediately”
    • First Conditional: Describes possible and realistic future situations. If + present simple, will/can/should.
    • Can introduce a consequence in the form of advice using should.
    • Past tense can be used in the “if” clause if a past event will influence a present consequence.
    • “Going to” can be used to emphasize that a future action is planned.
    • “Should” in first clause when something is unlikely but might happen.
    • Informally “if” can be omitted for quick instructions (but it can sound rude).
    • “When” can be used in place of “if”.
    • Subject can be dropped along with to be for formal instructions.
    • “If you must”: A phrase that means a reluctant acceptance of something that may need to happen.
    • Second Conditional: Describes imaginary or unlikely situations. If + past simple/were, would/could/might.
    • “Will” can be used in the second part if asking for something in a polite way.
    • Use “would be” if describing present consequences, use “could have” for a possible past consequence.
    • “Were to” for a future hypothetical action.
    • Use “would it be” to politely ask to do a particular action.
    • “But for”: Introduces the only reason something didn’t happen.
    • “If it wasn’t for”: Introduces the only reason something was able to happen.
    • Third Conditional: Describes imaginary situations in the past. If + past perfect, would/could/might + have + past participle.
    • Present or future consequences can be described. “although this structure usually refers to a past consequence… it can also refer to a present or future consequence if the content text allows”
    • Use “would be” for present consequences, “could have” introduces a possible consequence.
    • “If anything”: Introduces truth of a situation when looking at a sentence before.
    • “If so”: Connects a consequence to a condition from a previous sentence.
    • “If not”: Refers to a consequence if a condition is not met, or can intensify a phrase.
    • Inversion: Conditionals can be inverted so that “if” disappears, and “were”, “had”, or “should” comes first. “sometimes we can invert structures when we’re talking about conditionals”
    • “If only”: Introduces desire. Present (past tense), future (would), and past (past perfect).
    • Supposing and Imagine: Introduces hypothetical situations. “supposing is one of those this is similar to if in the first clause… this can turn an if clause into an independent sentence”
    • Provided that / Providing: Introduces a unique condition. “provided that the food has been cooked thoroughly it will be safe”
    • On condition that: Introduces a condition that must be fulfilled before the consequence.
    • So long as is similar.
    • What if: Introduces a hypothetical question.
    • Clauses can be reversed.
    • Will/would/had can be contracted informally.
    • Imperative Clauses can precede “if” or “when”.
    • “Unless” introduces a conditional meaning except if.
    • “Even if” introduces a conditional with the sense that doing something won’t enable a condition to be fulfilled.

    9. Modal Verbs (can, may, might, should, will, must, need, ought to, dare):

    • Basic Uses of “can”: Ability, permission, requests, possibility, and negative deduction.
    • Advanced Uses of “can”: Can be used as a request where the opposite is expected, for extreme surprise, or in the passive. Can be omitted in the sentence to avoid repetition.
    • “As luck would have it”: A phrase meaning you have been very lucky in a situation.
    • “Would you believe it”: A phrase to show disbelief or surprise.
    • “May” Basic Uses: Logical deduction (present/past), permission, good wishes.
    • “May” Advanced Uses: May as well or might as well (cannot succeed so do the following); past lamentation (something you should have done, an annoyance); might as a noun (strength) and future speculation (a situation that is not possible).
    • “Should” Basic Uses: Advice, obligation, right thing to do.
    • “Should” Advanced Uses: Good idea for the past (I should have done X, I shouldn’t have done Y); used in conditionals to describe expectations; planned time of events (It should have started at X).
    • “Will” Basic Uses: Expectations, certainty, promises, offers, consent, plans made in the moment, predictions without evidence.
    • “Will” Advanced Uses: Orders, threats, refusals, knowledge you expect in the listener, for annoying behaviour. As a regular activity that is expected.
    • “Will” can be used as a noun (desire).
    • “Dare” as a Modal Verb: Means to be brave or encourage bravery, followed by “to” but can be followed by the infinitive without to in negative and question form, where it acts like a modal.
    • “Had better”: Used to mean something is a good idea or should be done but it isn’t technically a modal verb. “had better a modal verb or not… you had better say sorry you’ve really upset her”
    • “Must” Basic Uses: Obligation, prohibition, strong recommendation, certainty.
    • “Must” Advanced Uses: Certainty in the past, annoyance, determination. Also to stress importance (“it must be emphasized”).
    • “Needs must” means that actions are essential to meet your needs. Must can also be a noun.
    • Used for things that are almost always present (e.g. “must always be”).
    • “Need”: Like “have to” for obligation. Optional “to” in negative form, never in question form.
    • Ought to: Grammatical rules similar to “need to”.

    10. Subordinators:

    • Subordinators of Time: When, before, after, as soon as, while, until, since, once, by the time (a future moment or period)
    • Advanced Subordinators of Time: No sooner than (two actions in quick succession). The moment (action immediately after another), whenever (anytime or every time).
    • Subordinators of Manner: How, as if, as though, in whatever way, in such a way (action is organized).
    • Subordinators of Distance: As far as (and as), to the point where/that, at the point, to the extent that (degree of abstraction).
    • Subordinators of Frequency: Each time, every time, at any time, in the instance that (one specific time).
    • Subordinators of Reason: As, because, since, in that, seeing that, on account of (formal), in the light of (more formal).
    • Subordinators of Purpose: So that, in order that, for the purpose of, in the hope of, with the intention of, with a view to.
    • Subordinators of Result: Such… that, with the consequence that, consequently, therefore (formal), hence (formal).
    • Subordinators of Comparison: As, than, whereas, while. “subordinators of comparison use as than whereas and while”“Where” shows a contrast between one thing in relation to another.
    • Subordinators of Exception: Except that, unless, apart from. “except that introduces something that is different”

    11. Noun Clauses:

    • Noun Clauses: Clauses acting as a noun.
    • Use any question word followed by a clause (who, what, when, where, why, which, how etc.). “you can make noun clauses with any question word wh words followed by a clause or how followed by a clause”
    • Can function as a subject, object, or complement in sentences.
    • Use a that Clause:
    • As a direct object.
    • As a subject compliment.
    • As an adjective complement.
    • As a noun compliment.
    • Rarely as a subject “you can use a that clause as a subject that I cannot explain is surprising you won’t hear this very often it’s not used much”

    Quotes that exemplify the scope of the lesson:

    • “welcome to one of the biggest English grammar videos on YouTube… it’s like a grammar book but on video”
    • “we’re looking at all of the grammar points here and all of the grammar points here too”
    • “there’s over 5 hours of English grammar lessons and over 500 English grammar points explained”
    • “this is a really special video because it’s going to fill in so many gaps in your knowledge of advanced English grammar areas”

    Conclusion:

    This briefing document outlines the major concepts and specific grammar rules discussed in the provided text. The video lesson aims to provide an extensive grammar resource, covering a wide range of topics from basic articles to complex conditional structures and noun clauses, all with clear explanations and examples. The lesson emphasizes the importance of mastering not only the basic rules but also the nuances and advanced aspects of English grammar for effective and nuanced communication. It is a resource suitable for both learners looking to understand the basic principles of English grammar and more advanced learners seeking to refine and expand their knowledge.

    English Grammar Essentials

    • What are articles, and what are the three main types in English? Articles are a type of determiner that specify whether a noun is specific or general. The three main articles in English are ‘a’, ‘an’, and ‘the’. ‘A’ and ‘an’ are used for general, non-specific countable singular nouns, while ‘the’ is used for specific nouns. Sometimes, no article is used, which is known as the “zero article”.
    • How do you decide whether to use ‘a’ or ‘an’ before a noun? The choice between ‘a’ and ‘an’ depends on the sound of the following word, not the actual letter. Use ‘a’ before words starting with a consonant sound (e.g., a phone) and use ‘an’ before words starting with a vowel sound (e.g., an alarm clock). It’s important to focus on the sound and not the letter, as there are cases where the letter and the sound do not match.
    • When should you use the definite article, ‘the’? ‘The’ is used to make a noun unique or specific. It can be used when the noun is already known to the listener or has been mentioned before. It’s also used when referring to a specific item, unique group or a superlative (e.g., the latest phone), and with group nouns where a particular group is being referred to. ‘The’ can precede countable and uncountable nouns as long as it makes the noun unique.
    • When is the “zero article” used in English grammar? The “zero article” means using no article (a, an, or the) before a noun. This occurs when referring to a plural noun in general (e.g., phones are half price), when discussing topic nouns (e.g., connectivity is vital), abstract nouns that are not usually counted (e.g., connectivity), or when discussing what a plural noun is usually like (e.g., phones enable people to connect).
    • How do ‘this’, ‘that’, ‘these’, and ‘those’ function in English grammar? ‘This’ and ‘these’ refer to nouns that are near the speaker, either physically or in time, while ‘that’ and ‘those’ refer to nouns that are further away. ‘This’ and ‘that’ refer to singular nouns while ‘these’ and ‘those’ refer to plural nouns. ‘That’ can also be used to refer to hypothetical situations. These words can also refer to experiences, or be used to modify a feeling or a level of certainty.
    • What are some basic and advanced uses of quantifiers like ‘some,’ ‘any,’ ‘much,’ and ‘many’? ‘Some’ and ‘any’ both mean an unspecified amount, but ‘some’ is typically used in positive sentences, while ‘any’ is used in negatives and questions. ‘Much’ and ‘many’ mean a large amount, with ‘much’ used for uncountable words (like food) and ‘many’ used for countable words (like beans). In advanced use, ‘some’ can be used in a question if you expect a positive response, whereas ‘any’ can be used in affirmative sentences to express a limited quantity, especially if a negative word comes before it.
    • How can adverbs of frequency, place, and manner be used, and how can basic examples of these be upgraded? Adverbs of frequency, like rarely, sometimes, often, usually, and always, indicate how often an action occurs and usually go in the mid-position of a sentence (subject + adverb + verb), but they can be at the end in informal speech. Adverbs of place can come after what they describe or before the whole situation, and describe physical locations. Adverbs of manner describe how an action is performed and are quite flexible in placement, and can be placed at the beginning, middle or end of a sentence. More advanced alternatives are available for the basic forms including barely, sporadically, frequently, routinely, invariably for adverbs of frequency; over, aloft, beneath, within, alongside for adverbs of place, and sluggishly, swiftly, faintly, vociferously, attentively, and sloppily for adverbs of manner.
    • What are some key rules regarding the placement and meaning of adverbs of certainty, completeness, and evaluation? Adverbs of certainty, often ending in ‘-ly’ (like ‘possibly’ and ‘probably’), usually take the mid position in a sentence (after the verb ‘to be’ or between the subject and the verb). Adverbs of completeness typically go in the mid position (e.g., entirely) but can go at the end if you want to stress the situation completely (e.g. completely). Evaluative adverbs, like surprisingly, show the speaker’s response and are quite flexible in placement, with no strong trend for their position in a sentence. There are special word rules with such words like quiet and rather, that change meaning depending on the position in a sentence, which must be understood.

    English Grammar Essentials

    The provided sources extensively cover English grammar, including articles, demonstratives, quantifiers, adverbs, adjectives, verbs, conditionals, the passive voice, and more [1-48].

    Articles

    • Articles are determiners that specify a noun [1].
    • The articles are a, an, and the [1].
    • A or an are used before a singular, countable noun when it is one of many, not a specific example [1]. Use a before consonant sounds and an before vowel sounds [49].
    • The is used to make a noun unique, referring to a specific example, or when the noun has been previously mentioned [49].
    • A zero article is when no article is used [49].
    • Zero articles are used with topic nouns in a general sense, abstract nouns that are not usually counted, and when saying what a plural noun is usually like [50].
    • The is used with countries that are real words or plurals or island groups, but not with other country names [51].
    • The is used before rivers, but not lakes or waterfalls [51].
    • The is used with mountain ranges, deserts, and forests, but not individual mountains [51].
    • The is used with compass directions when they are nouns, but not when they are describing another noun [51].
    • The is used with most place nouns, except some common places such as church, school, and home [52].
    • The is used with transport types, but not when ‘by’ is used [52].

    Demonstratives

    • The most common demonstratives are this, that, these, and those [2].
    • This and these refer to things that are near in space or time [2, 53].
    • That and those refer to things that are far in space or time, and can be used for hypothetical situations [53].
    • This and that can refer to information from a previous sentence with the difference being a sense of near or far [54].
    • Those can be a general word referring to everyone who is defined by what comes after “who” [54].
    • That can mean “to a great extent” [3].

    Quantifiers

    • Some and any both mean an unspecified amount [3].
    • Some is used with positive sentences, and any is used with negative sentences or questions [3].
    • Much and many mean a large amount [3].
    • Much is used with uncountable words, and many is used with countable words [3].
    • Many is more common in affirmative statements than much [4].
    • A lot of is preferred to much in affirmative contexts [4].
    • Much can be a subject on its own in formal writing, meaning a great amount [4].

    Adverbs

    • Adverbs have three main positions: front, mid, and end [4].
    • Adverbs of degree tell how much an adjective, adverb, or verb is [5].
    • Just comes in the mid position or after the subject [5].
    • Too comes before a determiner or adjective [5].
    • Enough can come at the end of a sentence or before the noun it describes [5].
    • Really usually comes before the word it modifies [5].
    • Adverbs of certainty commonly take the mid position [6].
    • Adverbs of completeness usually go in the mid position [6].
    • Valuative adverbs do not have a strong trend for position [6].
    • When quite means somewhat or fairly it usually goes before the whole noun phrase [6].
    • Hardly and hard have different meanings [7].
    • Fine and finely have different meanings [7].
    • Late and lately have different meanings [7].
    • Most and mostly have different meanings [7].
    • Wide and widely have different meanings [7].

    Adjectives

    • The + adjective means all of the adjective [7].
    • Country adjectives can often become nouns by adding an S, except countries ending in sh, ch, or eas [8].
    • When it is obvious which noun is being described by an adjective, the noun can be omitted [8].
    • With words like as, how, and so, the adjective can come before the article [8].
    • Intensifying adjectives need to go before their noun [9].
    • When there are multiple adjectives, they follow an order: opinion, size, physical quality, age, shape, color, origin, material, purpose [9].
    • Adjectives ending in -ed mean something else causes the feeling, and adjectives ending in -ing mean the subject causes the feeling [10].
    • Most adjectives ending in -ed do not have a vowel sound, but there are exceptions [10].
    • For one-syllable adjectives, add -er to make it comparative and -est to make it superlative [11].
    • For adjectives with two or more syllables, use more/most to make it comparative/superlative [11].
    • Irregular comparatives/superlatives include: little/less/least, good/better/best, bad/worse/worst, much/more/most, far/further/furthest [11].
    • Use as + adjective + as for equal comparison [11].
    • Adverbs often add -ly to an adjective, but some adjectives end in -ly [12].
    • Some adverbs and adjectives have the same form [12].
    • Adjectives can be used after imperatives to describe expected behavior [12].
    • With copular verbs, the adjective can come after the noun [12].
    • Adjectives can be followed by a preposition phrase or a to clause or that clause [13].
    • An adjective’s meaning can change when it changes position [13].

    Verbs

    • The subjunctive uses the verb infinitive instead of changing for tense in the second clause, usually showing importance or being hypothetical [13].
    • For hypothetical situations, use the past subjunctive, with the past form of “to be” becoming “were” [14].
    • For situations stating importance, use the present subjunctive, with the bare infinitive “be” [14].
    • Transitive verbs need an object, while intransitive verbs do not [14].
    • Ergative verbs are transitive when the subject does the activity, but intransitive when the subject receives the activity [15].
    • Some verbs change from transitive to intransitive with no meaning change [15].
    • Ditransitive verbs have two objects, direct and indirect [16].
    • When the direct object comes before the indirect object, separate them with a preposition.
    • When the indirect object comes first, do not use a preposition [16].
    • Some verbs must take the direct object first [16].
    • Delexical verbs shift the activity onto the object [17].
    • Compound verbs are a combination of two words, often with a prefix [17].
    • Copular verbs link the subject to an activity or noun, and are followed by nouns or adjectives, but not adverbs [18].
    • Some verbs can be copular or non-copular [18].
    • Get and have can be used to show an arrangement for someone else to do an activity [19].
    • Most negatives require an auxiliary verb, but with feelings and mental processes, a verb can be followed by ‘not’ [19].
    • Many verbs require a preposition before the object, but the preposition is dropped if the object is dropped [19].
    • State verbs take the simple form, and active verbs take the continuous form, but many verbs can be state or active [20].
    • With mental process verbs, the state form means you’ve reached a decision, and the active form means you are in the process of reaching a decision [20].
    • Verbs related to discovering a quantity become active, while reporting a quantity becomes state [21].
    • “To be” is a state verb, but it can be an active verb to show temporary behavior [21].
    • “To see” is usually a state verb, but it is an active verb for relationships and meetings [21].

    Tenses

    • The present simple is used for facts, truths, descriptions, present habits, present routines, and timetables [21].
    • It can also be used to describe future time in subordinate clauses, instructions, formal correspondence, and permanent situations [22].
    • It is also used with state verbs [22].
    • The present continuous is used to indicate present activities and activities close to the present [22].
    • It can also be used for future plans and background information [22].
    • With the historical present tense, the continuous form gives background information and simple forms make progress in a story [23].
    • The past simple is used for finished actions, finished states, past facts, past descriptions, and past habits [23].
    • The past continuous is used for finished activities, the longer of two past actions, when interrupting a long action, or to give background to a story [24].
    • If a past idea is no longer true, use the simple form [24].
    • To link past events together in sequence, use the simple form, but use the continuous form for events happening at the same time [24].
    • For situations that feel more permanent in the past, use the simple form, but for temporary situations, use the continuous form [25].
    • For past activities that were often repeated, use the continuous form [25].
    • Past tenses can be used to show you are being hypothetical or to create distance in time to be more polite [25].
    • The present perfect is used for recently completed activities, recently completed states, and speaking about the past from the context of the present [26].
    • If the focus is on an activity, use the continuous form, and if the focus is on the completion of an event, use the simple form [26].
    • If the focus is on something being permanent, use the simple form, and if the focus is on something being temporary, use the continuous form [26].
    • The present perfect is common with already, just, and yet, but the past simple can be used with these words depending on the English variety [27].
    • News reports start with the present perfect to give general information, but switch to the past simple for more specific information [27].
    • The past perfect is used to make clear which event happened first when events are not in order, and for repeating events before a point in the past [28].
    • It is used when being hypothetical about the past [28].
    • It is used to show events immediately before another, for reporting speech in the past, and for intentions or wishes that did not happen [28, 29].
    • Temporary situations up to a point in the past are often in the continuous form, while states up to a point in the past are usually simple [29].
    • If events are in time order, use the past simple, and if they are not in time order, use the past perfect [29].
    • With reason clauses, do not repeat the past perfect; with coordinator clauses, repeat the past perfect [30].
    • “Will” is used for expectations, certainty, promises, offers, consent, and future plans [30].
    • “Going to” is used for restating previous decisions, and the present continuous is used for fixed arrangements [31].
    • “Going to” can be used for fixed arrangements, and is used with state verbs [31].
    • The future perfect is used for completion of something by a known future time, while the future perfect continuous is for an activity that is ongoing up to a point in the future [31].

    Conditionals

    • The first conditional uses the present simple and “will” to say a condition and a present or future consequence [32].
    • “Will” can be used in both clauses where one condition requires another [32].
    • The second conditional is for unreal situations with an imagined outcome, using the past simple with “would” [32].
    • The third conditional is for an unreal past situation, using the past perfect [32].
    • The zero conditional uses the present tense in both clauses for a general cause and effect rule [32].
    • The order of clauses in a conditional can usually be reversed [38].
    • In informal situations, “if” can be omitted when giving quick instructions [36].
    • “When” can sometimes replace “if” [36].
    • “Unless” can introduce a conditional, meaning “except if” [39].
    • “Even if” introduces a conditional with the sense that doing something won’t enable the condition to be fulfilled [39].
    • “Imagine” can turn an “if” clause into an independent sentence [38].
    • “Provided that”, “providing”, and “on condition that” introduce a unique condition [38].
    • “So long as” is similar to “on condition that” [38].
    • “What if” introduces a hypothetical question about a condition [38].
    • A past simple clause with “will” can be used to describe a likely future consequence [35].
    • “Should happen to” adds extra condition to a clause [36].
    • “If” can be omitted by omitting the subject and to be, used in formal or official instructions [36].
    • In informal situations, “would” can be used in the “if” clause [37].
    • When making requests more formal, “would” can be used to make it more polite [37].
    • The clause after “if” can contain “should” to give advice [37].
    • Second conditional is often used when someone does something, but the second person doesn’t understand why it didn’t lead to a particular consequence [37].

    Passive Voice

    • The passive voice is formed with “to be” plus the past participle of the verb, and the subject receives the action instead of doing it [32].
    • The passive voice can emphasize the action, the receiver of the action, or the information itself [33].
    • Use the passive voice when the agent is unknown, obvious, or unimportant [33].
    • Some verbs cannot be used in the passive voice because they are not active verbs [33].
    • Dummy subjects can be used, such as “it” which refers to information that follows [33].
    • “Being” is the present participle of “to be” and can be used with the passive [33].
    • “By” is used to introduce the agent in the passive voice [34].
    • With defining relative clauses, the relative pronoun and “to be” can be omitted [34].
    • With non-defining relative clauses, these clauses can be shortened and moved to the front of the sentence as a participle clause [34].
    • Object infinitives can be made passive when there is an object before the infinitive [34].

    Modal Verbs

    • “Can” is used for ability, permission, requests, possibility, and negative deduction [39].
    • “Could” can be used for possibility, permission, past ability, polite requests, and suggestions [39, 40].
    • “May” is used for possibility, polite requests, and formal permission [40].
    • “May well” states a higher level of possibility, and “may as well” means what you should do when there is a problem [41].
    • “Might” can mean a low possibility or past lamentation [41].
    • “Might” can be a noun meaning “strength” [41].
    • “Should” is used for advice or suggestions, obligation, and the right thing to do [41].
    • “Should” can be used for a good idea for the past that did not happen, what is expected in a situation, and planned times [42].
    • “Ought to” can replace should in formal situations, and has a different grammatical arrangement in the question and negative forms [43].
    • “Shall” is generally a more formal and less used version of will, and can be used for the future, polite offers, or obligation [43].
    • “Shall” is used for added obligation [43].
    • “Must” is used for obligation, prohibition, and strong recommendation, and has a specific grammatical form in questions and negatives [44].
    • “Must” can also be used as a noun, meaning something you should do or have [44].
    • “Need to” and “have to” can be used instead of must for obligation, prohibition, and strong recommendation [44].
    • “Needs must” means doing something necessary to meet your needs [44].
    • “Will” can be used to show that something is very likely or a desire [45].
    • “Will have noticed” refers to knowledge at the time you’re speaking [45].
    • “Will” can be used to show annoyance or typical behavior [45].
    • “Will” can be a noun meaning “desire” [46].
    • “Dare” can be a modal verb when used in the negative or question form [46].

    Other

    • Coordinating conjunctions join equal grammatical structures (for, and, nor, but, or, yet, so), while subordinators introduce a dependent clause [47].
    • Alternatives for coordinating conjunctions for nouns include: along with, combined with, together with, and in addition to [47].
    • Subordinators of time include: before, after, and when [47].
    • Subordinators of time include: once, each time, every time, any time, and in the instance that [48].
    • Subordinators of reason include: in that, seeing that, and on account of [48].

    This is a comprehensive overview of the information found in the sources.

    English Articles: A Comprehensive Guide

    Articles are a type of determiner that specify which, how many, or whom a noun refers to [1]. There are three articles in English: a, an, and the [1]. There are also instances when no article is used, which is called zero article [2].

    Basic Rules for A and An

    • Use a or an before a singular, countable noun when it is one of many, and it’s the first time the noun has been mentioned [1].
    • Use ‘a’ before a word that begins with a consonant sound [1]
    • Use ‘an’ before a word that begins with a vowel sound [1]
    • For example, “I bought a phone,” or, “I bought an alarm clock” [1].
    • When using a or an, the speaker is not referring to a specific example of the noun [1].
    • For example, “a phone” could be any phone, not a specific brand or model [1].

    Basic Rules for Zero Article

    • Use zero article before a plural, countable noun when it is one of many and is mentioned for the first time [2].
    • For example, “Phones are half price on Black Friday” [2].
    • When using zero article with plural nouns, the speaker is not focusing on a specific example of the noun [2].
    • For example, “phones” could be any number of phones [2].
    • When listing features or information about a plural noun, the zero article can be used repeatedly [2].
    • For example, “Phones are half price on Black Friday. Phones are useful for keeping up with news. Phones are owned by the majority of adults” [2].
    • Use zero article with uncountable nouns [2].
    • For example, “water” [2].

    Advanced Rules for A and An

    • A or an can be used after copular verbs when mentioning a noun for a second time [2].
    • For example, “I bought a phone. It was a black phone” [2].
    • A or an can be used before a group noun, if it is considered a singular group [3].
    • For example, “a range of phones” [3].
    • A or an can be used to introduce an example that represents all types of that noun [3].
    • For example, “A phone is useful for watching videos” [3].

    Advanced Rules for The

    • The can be used before a group noun to specify a particular group [3].
    • For example, “the range of phones in the shop,” means a specific range of phones [3].
    • The can be used when specifying a noun to make it unique [3].
    • For example, “the latest phone” [3].
    • The is used with superlatives, like “latest,” which means “the last one to happen before now” [3, 4].

    Advanced Rules for Zero Article

    • Zero article can be used with topic nouns in a general sense [4].
    • For example, “Connectivity is vital in the 21st century” [4].
    • Zero article can be used with abstract nouns that are not usually counted [4].
    • For example, “connectivity” [4].
    • Zero article can be used when stating what a plural noun is usually like [4].
    • For example, “Phones enable people to connect with each other across the globe,” states what phones are usually like [4].

    Special Article Rules

    • Use the with countries that are plural or consist of real words. Do not use an article for other countries [5].
    • For example, “the United Kingdom,” but “France” [5].
    • Use the before rivers [5].
    • For example, “the Amazon river” [5].
    • Do not use an article before lakes or waterfalls [5].
    • For example, “Lake Victoria” or “Niagara Falls” [5].
    • Use the with mountain ranges, deserts, and forests [5].
    • For example, “the Himalayas,” “the Sahara,” or “the Amazon rainforest” [5].
    • Do not use an article before individual mountains [5].
    • For example, “Mount Everest” [5].
    • Use the with compass directions when they are nouns [5].
    • For example, “I live in the North” [5].
    • Do not use the with compass directions when they are adjectives [6].
    • For example, “I live in South London” [6].
    • Use the before most nouns for places, but some common places drop the [6].
    • For example, “the shops,” “the museum,” but “church,” “school,” and “home” [6].
    • Use the if you are deliberately specifying one place and not another [6].
    • For example, “Did you go to the church?” means one particular church [6].
    • Use the before common transport types, but when using “by” do not use an article [6].
    • For example, “I’m taking the train,” but “I’m traveling by train” [7].

    A Comprehensive Guide to English Adverb Placement

    Adverbs are words that modify verbs, adjectives, or other adverbs [1]. They can add detail to a sentence by describing how, when, where, or to what extent something is done [1-3]. Adverbs are versatile and can appear in different positions within a sentence [2, 4]. There are, however, some rules about where adverbs can and cannot go [2].

    Basic Adverb Positions

    • Front position: Before the subject [5].
    • Example: “Quickly, they ran to get out of the rain” [5].
    • Mid position: Between the subject and the verb [5].
    • Example: “They quickly ran to get out of the rain” [5].
    • End position: After the verb and any objects [5].
    • Example: “They ran quickly because it was raining” [5].

    Adverbs with Auxiliary Verbs

    • In the mid position, adverbs can come after an auxiliary verb but before the main verb [5].
    • Example: “They have probably been running to get out of the rain” [5].

    Adverbs with the Verb “To Be”

    • With the verb “to be,” the adverb usually comes after the verb [5].
    • Example: “They were completely wet by the time they arrived” [5].
    • Informally, an adverb can come before “to be” to emphasize the verb [2].
    • Example: “They really were trying to avoid the rain” [2].

    Restrictions on Adverb Placement

    • Adverbs usually cannot go between a verb and its object [2].
    • Example: “They left the house quickly,” not “They left quickly the house” [2].
    • Adverbs usually cannot go between two verbs that are next to each other [2].
    • Example: “They started running quickly,” not “They started quickly running” [2].

    Adverbs of Degree

    • Adverbs of degree indicate the intensity or amount of an adjective, adverb, or verb [2, 3].
    • Basic adverbs of degree: slightly, mostly, very, completely, extremely, enough, almost [2]
    • Advanced adverbs of degree: marginally, predominantly, truly, entirely, immensely, sufficiently, virtually [2]
    • They typically go in the mid position [3].
    • Example: “It was too hot to go outside” [3].
    • Example: “We almost ran out of gas” [3].

    Special Rules for Adverbs of Degree

    • Just: can come in the mid-position, or after the subject [3].
    • Example: “I’ve just seen the people at the bus stop.” [3]
    • Example: “Just two people were left at the bus stop.” [3]
    • Too: comes before a determiner or an adjective [3].
    • Example: “You worry too much.” [3]
    • Example: “The ending was too upsetting.” [3]
    • Enough: can come at the end of a sentence, or before the noun it describes [3].
    • Example: “I don’t use it enough.” [3]
    • Example: “My posts didn’t get enough followers.” [3]
    • Really: can come before the word it modifies [3].
    • Example: “I really enjoy eating Chinese food” [3].
    • Example: “It was a really impressive concert” [3].
    • When “really” means “a lot,” it goes before the adjective [3].
    • Example: “It is a really incredible car.” [3]
    • When “really” means “in actual fact,” it goes at the front of the sentence [3].
    • Example: “Really, I should have bought a new one.” [3]

    Adverbs of Frequency

    • Adverbs of frequency indicate how often something happens [6].
    • Basic adverbs of frequency: rarely, sometimes, often, usually, always [6].
    • Advanced adverbs of frequency: barely, sporadically, frequently, routinely, invariably [6].
    • They usually take the mid position [6].
    • Example: “I always brush my teeth” [6].
    • In informal situations, they can come at the end of a sentence [1].
    • Example: “I brush my teeth always” [1].
    • With the verb “to be”, adverbs of frequency come after the verb [1].

    Adverbs of Place

    • Adverbs of place indicate where something happens [1].
    • Basic adverbs of place: above, below, inside, near [1]
    • Advanced adverbs of place: over, aloft, beneath, within, alongside [1]
    • Adverbs of place can come directly after the word it is describing or before the whole sentence [1].
    • Example: “The street in front was full of people” [1].
    • Example: “I ran outside” [1].
    • Example: “Outside, the street was full of people” [1].

    Adverbs of Manner

    • Adverbs of manner describe how something happens [4].
    • Basic adverbs of manner: slowly, quickly, quietly, loudly, carefully, carelessly [4].
    • Advanced adverbs of manner: sluggishly, swiftly, faintly, vociferously, attentively, sloppily [4].
    • Adverbs of manner can go in the front, mid, or end position [4].
    • Example: “Confidently, she entered the room” [4].
    • Example: “She gladly told of all her past achievements” [4].
    • Example: “Her friends left the room quietly” [4].
    • To improve clarity, adverbs of manner should not be too far from the word they describe [7].
    • Example: “The people who had been waiting outside in the rain for an opportunity to speak confidently entered the room,” is better than “Confidently, the people who had been waiting outside in the rain for an opportunity to speak entered the room” [7].

    Adverbs of Time

    • Adverbs of time indicate when something happens [7].
    • Basic adverbs of time: early, late, eventually, recently, previously [7].
    • Advanced adverbs of time: timely, belatedly, ultimately, lately, formerly [7].
    • They usually go in the front or end positions [8].
    • Example: “Last year, there was a fantastic celebration” [8].
    • Example: “There was a fantastic celebration last year” [8].
    • They can come after the noun they describe [8].
    • Example: “The people after had to go home” [8].
    • Adverbs of duration usually come at the end of a sentence or clause, unless it is key information, in which case they can go at the front [8].
    • Example: “For a long time, people had not left their homes” [8].

    Multiple Adverbs

    • When multiple adverbs are used, they often follow the order of manner, place, and time [8].
    • Example: “You need to play brilliantly out there tomorrow” [8].

    Adverbs with Modals

    • Adverbs usually follow modal verbs [8].
    • Example: “You must always wash your hands before eating” [8].
    • If you are intensifying the modal, the adverb can go before it [9].
    • Example: “You really must wash your hands before eating” [9].

    Adverbs of Certainty, Completeness, and Evaluation

    • Adverbs of certainty often take the mid position [9].
    • Example: “This is possibly the hottest day of the year” [9].
    • Example: “I probably know all of the people in this room” [9].
    • Other adverbs of certainty are more likely to be at the front or end position [9].
    • Example: “Maybe you should open the window” [9].
    • Adverbs of completeness usually go in the mid position [9].
    • Example: “The box is entirely full” [9].
    • They can go at the end of the sentence to emphasize the whole situation [9].
    • Example: “I finished eating the cake completely” [9].
    • Valuative adverbs have no strong trend for position [9].
    • Example: “The movie was surprisingly good.”

    Special Rules for Individual Adverbs

    • Quite: When “quite” means “somewhat,” it usually goes before the whole noun phrase [9].
    • Example: “There was quite a loud noise coming from the hall.” [9]
    • When “quite” means “totally,” it is placed before the adjective and after the article [10].
    • Example: “It was a quite unnecessary noise.” [10]
    • Rather: Usually comes before adjectives, but can come before the article in storytelling [10].
    • Example: “It was a rather cold day.” [10]
    • Example: “It was rather a cold winter in Canada.” [10]
    • Already: Placed in the mid or end position [10].
    • Example: “I’m already doing it.” [10]
    • Example: “I’m doing it already.” [10]
    • Yet: Usually goes at the end of the sentence, or at the front of a clause when it is a conjunction [10].
    • Example: “I haven’t done it yet.” [10]
    • Example: “He didn’t have any tickets, yet they still let him in.” [10]
    • Still: Usually goes in the mid position, but before the verb phrase when it is a negative [10].
    • Example: “I have still got the same car.” [10]
    • Example: “I still haven’t been to the garage.” [10]
    • Even and only: Usually go in the mid position, unless referring to the subject, in which case they go at the front [10].
    • Example: “It even has sat nav.” [10]
    • Example: “It only has a maximum speed of 30 km per hour.” [10]
    • Example: “Even my rich relatives want to buy my car.” [10]
    • Example: “Only my father doesn’t want it.” [10]

    A Comprehensive Guide to English Modal Verbs

    Modal verbs are auxiliary verbs that express a range of meanings such as possibility, necessity, permission, and obligation [1]. They add nuance to sentences and indicate the speaker’s attitude towards the action described by the main verb [1]. Some common modal verbs include can, could, may, might, must, shall, should, will, and would [1].

    Basic Uses of Modal Verbs

    • Can: Expresses ability, permission, requests, possibility, and negative deduction [2].
    • Ability: “I can play the guitar” [2].
    • Permission: “You can start the exam” [2].
    • Requests: “Can you pass me the salt?” [2].
    • Possibility: “You can walk up the hill on this path” [2].
    • Negative deduction: “That can’t be the right answer” [2].
    • Could: Indicates ability in the past, polite requests, past possibility, and suggested actions [3].
    • Past ability: “I could touch my toes when I was a child” [3].
    • Polite requests: “Could you help me with my homework?” [3].
    • Past possibility: “We could see the beach from our hotel room” [3].
    • Suggested actions: “You could try the back door” [3].
    • May: Used for logical deduction in the present, permission, and offering good wishes [4].
    • Logical deduction: “The train may be coming” [4].
    • Permission: “May I sit next to you?” [4].
    • Good wishes: “May you enjoy good health” [4].
    • Might: Expresses logical deduction in the present or past, and future speculation [4-6].
    • Logical deduction: “The train might be coming.”
    • Logical deduction in the past: “The train might have left” [4].
    • Future speculation: “We might have been able to see Big Ben” [5].
    • Must: Indicates obligation, prohibition, strong recommendation, and certainty [7].
    • Obligation: “You must not walk on the grass” [7].
    • Strong recommendation: “You must go on a river trip” [7].
    • Certainty in the present: “They must be on the boat trip” [7].
    • Shall: Used for the future, polite offers, and indicating requirements [8]. It is generally a more formal version of will [8].
    • Future: “We shall visit our aunt” [8].
    • Polite offers: “Shall I give you some assistance?” [8].
    • Requirements: “Everyone shall leave the area immediately” [8].
    • Should: Used for advice or suggestions, obligation, and the right thing to do [6].
    • Suggestions: “You should stop smoking” [6].
    • Obligation: “Children should not play ball games on the grass” [6].
    • Right thing to do: “We should tell the hotel that we broke the shower” [6].
    • Will: Used for expectations about the future, certainty, promises and offers, consent, future plans made in the moment, and predictions without physical evidence [9, 10].
    • Expectations for the future: “They will be here at 6pm” [9].
    • Certainty: “Nothing will stop the rain from falling” [9].
    • Promises and offers: “I will buy you an ice cream” [9].
    • Consent: “They will let you into the country” [9].
    • Future plans made in the moment: “I’ll call my friend” [10].
    • Predictions without physical evidence: “I think it will rain later” [10].
    • Would: Indicates the past of will for reported speech, past habits and routines, hypothetical situations, and polite requests [11].
    • Past of will: “They said they would return next summer” [11].
    • Past habits and routines: “The circus would come to my town every year” [11].
    • Hypothetical situations: “If I were braver, I would work with lions in a zoo” [11].
    • Polite requests: “Would you give up your chair for the elderly lady?” [11].

    Advanced Uses of Modal Verbs

    • Can for extreme surprise [3]: “Can you believe it!”
    • Could:
    • Past permission: “They could play in the park when they were younger” [3].
    • Present deduction: “That could be my coat” [3].
    • Past deduction: “They could have arrived late” [11].
    • A possible future outcome which will now never happen: “She could have become a professional dancer” [11].
    • Would:
    • Future in the past: “The day ended badly, it would get better the next day” [11].
    • Past refusal: “I wouldn’t go to the zoo last year” [11].
    • Commenting on a situation: “I’m not surprised you’re going, I would do the same” [11].
    • With have been to express regret about a situation: “It would have been nice” [4].
    • Would you believe it” to express that something is hard to believe [4].
    • As an alternative for will in formal requests [12].
    • May:
    • May as well/Might as well means that there are no other options and it’s best to do something [4]. “I may as well give up.”
    • Past lamentation: “You might have told me the brakes didn’t work” [5].
    • To mean strength: “I tried with all my might” [5].
    • Future speculation: “We may have been able to see Big Ben” [5].
    • Should:
    • A good idea for the past that didn’t happen: “I should have started learning English when I was younger” [6].
    • Something that happened but wasn’t a good idea: “I shouldn’t have spent so much time doing nothing” [6].
    • In conditionals to say what is expected in the situation: “If you’re cold, you should put a coat on” [6].
    • Planned time of events: “It should start at 3pm” [6].
    • With a slight change to mean that the planned time has been changed or delayed: “It should have started at 2pm” [6].
    • Future expectation: “It should be a wonderful occasion” [8].
    • Shall:
    • Added obligation: “You shall get back before it’s dark” [7].
    • Must:
    • Certainty in the past: “He must have left his phone in his bag” [7].
    • Annoyance: “Must you talk so loudly?” [7].
    • Determination: “I must carry on” [7].
    • To stress importance with “it must be…that”: “It must be emphasized that the plane will leave” [7].
    • Need:
    • Can be used with and without “to” depending on the sentence structure [13].
    • The phrase “needs must” means that something is necessary to meet one’s needs [13]. “I don’t want to work overtime, but needs must”.
    • As a noun, to mean that something is necessary or a must do: “Walking through the Alps is a must” [13].
    • Will:
    • For threats: “Don’t get in my way, I’ll call security” [14].
    • For the present: “You will have noticed that I’m wearing a pink ribbon” [14].
    • To express annoyance: “He will interfere in our games” [15].
    • To describe typical behavior: “She will always watch her favorite program at that time” [15].
    • As a noun, meaning desire: “I don’t have the will to finish the race” [15].
    • Dare: As a modal verb, can be used without “to” in negative and question sentences [16]. “I don’t dare go out in the snow.” “Dare you cross the weak bridge?” [16].
    • Had better: Indicates that something is a good idea and that it should be done; has more urgency than should [16]. “You had better say sorry.”

    The modal verb that was missed in the description of the basic uses of modal verbs is ought to. In positive statements, ought to can be used in place of should in more formal situations [8]. In questions, ought is used without to, and in negative sentences, ought not to or ought not are used [8].

    Conditional Tenses in English

    Conditional tenses are used to express hypothetical situations and their potential consequences [1]. They often involve the use of if clauses and are categorized into zero, first, second, and third conditionals, each with specific structures and meanings [1].

    Zero Conditional

    • The zero conditional is used to express general truths, scientific facts, or habitual actions [1-3].
    • It uses the present simple in both the if clause and the main clause [1-3].
    • Example: “If the weather turns cold, people don’t go out” [3].
    • The if clause can be replaced with a when clause to emphasize that something will definitely happen [3].
    • Example: “When autumn arrives, the leaves on many trees turn brown” [3].
    • A range of modal verbs can follow when clauses, leading to different meanings [3].
    • Example: “When you get home, you must keep quiet” [3].
    • The zero conditional indicates that a condition will always lead to the same consequence [2, 3].

    First Conditional

    • The first conditional is used to express real or likely situations in the present or future [1, 4].
    • It uses the present simple in the if clause and will in the main clause [1, 4].
    • Example: “If they arrive for the lecture early, they will get a seat” [4].
    • The word then can be included before the will clause to make it clearer that one thing depends on another [4].
    • Will can also be used in the if clause if the condition is a result of the consequence [5].
    • Example: “If you will benefit from my assistance, I will help you” [5].
    • Will in the if clause can also be used for polite requests [5].
    • Example: “If you will sign the register, we will let you join the class.” [5].
    • Other modal verbs like might, could, must, can, and should can be used instead of will in the main clause [5].
    • Example: “If we run fast, we might catch the train” [5].
    • Example: “If you want to catch the train you must arrive on time” [5].
    • Must and should can move the condition to the second clause when talking about needs, wants, or wishes [6].
    • Example: “If you want to get a seat on the train, you should travel at quiet times” [6].
    • The first conditional can use a past simple in the if clause to describe a likely future consequence of a past situation [6].
    • Example: “If the factory didn’t use high-quality materials, it will wear out quickly” [6].
    • Going to can be used instead of will to emphasize a pre-planned consequence [7].
    • Example: “If the materials arrive on time, I’m going to make socks” [7].
    • The structure if you should, if you happen to, or if you should happen to is used when something probably will not happen, but the condition is stated just in case it does [7].
    • Example: “If you should find the buttons, tell me” [7].
    • In informal situations, if can be omitted but may sound impatient or rude [2].
    • Example: “Want to finish early, work harder” [2].
    • For formal or official instructions the subject and to be can be omitted [2].
    • When can be used instead of if, with little change in meaning [2].

    Second Conditional

    • The second conditional is used to express unreal or unlikely situations in the present or future [1, 8].
    • It uses the past simple in the if clause and would in the main clause [1, 8].
    • Example: “If I earned a lot of money, I would buy a bigger car” [8].
    • The verb to be can be expressed as were instead of was [8].
    • Example: “If I were rich, I would choose a fast car” [8].
    • This structure can be followed by a question when something is true and a related question is asked [8].
    • Example: “If you were in my city last week, why didn’t you visit me?” [9].
    • In informal speech, would can be included in the if clause [9].
    • The word would is used to make requests more polite [9].
    • Example: “I would prefer it if you would drive more slowly” [9].
    • Should can be used in the if clause to represent advice based on a hypothetical situation [9].
    • Example: “If you were paid $10,000, you should do it” [9].
    • Might can be used to indicate a possible consequence [10].
    • Example: “If I were paid $20,000, I might do it” [10].
    • Will can be used instead of would in the main clause when making a polite request with a promise [10].
    • The structure were to in the if clause introduces a hypothetical future activity [10].
    • Example: “If you were to jump out of a plane, your parents would be terrified” [10].
    • The phrase would it be is used as a polite way of asking if something can or cannot be done [10].
    • But for is used to introduce the only reason why a situation did not happen [11].
    • Example: “But for the storms, we would have jumped out of a plane today” [11].
    • If it wasn’t for is used to introduce something that saved a situation from a bad consequence [11].
    • Example: “If it wasn’t for John, I would never have fulfilled my ambitions” [11].

    Third Conditional

    • The third conditional is used to express unreal situations in the past and to imagine how they might have been different [1, 11].
    • It uses the past perfect in the if clause and would have + past participle in the main clause [1, 11].
    • Example: “If I had studied harder, I would have passed my exams” [11].
    • The second clause can refer to a present or future consequence if the context allows it [11].
    • Example: “If I had studied harder, I would have reached a higher level by now” [11].
    • Would be can be used as an alternative to would have + past participle when the consequence is in the present [11].
    • Example: “If I had studied harder, I would be studying at a higher level” [12].
    • Could have can be used instead of would have to express a possible consequence [12].
    • Example: “If I had revised every day, I could have passed” [12].
    • Might can also be used instead of could [12].
    • The adverbial phrase if anything introduces a clause that means if there is any possibility of the previous thing being true, then this should happen instead [12].
    • Example: “I don’t think I should invite her, if anything, she should invite me” [12].
    • The phrase if so links a consequence back to a condition in the previous sentence [12].
    • Example: “Why don’t you see if you can get time off, if so we can accept your mother’s invitation” [12].
    • The phrase if not indicates a consequence if a condition is not fulfilled [12].
    • Example: “Why don’t you see if you can get time off, if not ask for a day off” [12].
    • If not can also be used to intensify a situation [12].
    • Example: “Often, if not always, she invites us” [12].
    • The word if can disappear when inverting the sentence structure [13].
    • Example: “Were I to spend time with my son, I would play games with him” [13].
    • Example: “Had I spent more time with my son, I would have played games with him” [13].
    • Example: “Should there be no school today, I will take my son to the park” [13].

    Other Conditional Structures

    • If only is used to introduce a desire for something to be different [13].
    • With a past tense: a desire for something to be different in the present.
    • Example: “If only the weather was better” [13].
    • With would: a desire for something to be different in the future.
    • Example: “If only it would stop raining” [13].
    • With a past perfect: wishing for a different outcome in the past [13].
    • Example: “If only it had been a sunny day” [13].
    • Supposing is similar to if, often leading to a question [13].
    • Example: “Supposing the delivery is late, how will we feed our guests” [13].
    • Imagine can turn an if clause into an independent sentence, or be used without if to introduce a hypothetical situation [14].
    • Example: “Imagine if everyone had enough food, all charities would close” [14].
    • Example: “Imagine life in an igloo, it would be challenging” [14].
    • Provided that and providing introduce a unique condition for the consequential clause [14].
    • Example: “Provided that the food is cooked thoroughly, it will be safe” [14].
    • On condition that means that the second clause can only be fulfilled after the first condition is also fulfilled [14].
    • So long as is similar to on condition that [14].
    • Example: “So long as you get qualified, you can become our cook” [14].
    • What if introduces a hypothetical question about a condition [14].
    • The order of clauses can usually be reversed [14].
    • Will, would, and had can be contracted informally to ‘ll or ‘d [14].
    • An imperative clause can be used before an if or when clause [15].
    • Example: “Answer him if he speaks” [15].
    • Unless can introduce a conditional meaning except if [15].
    • Example: “Unless you listen, you won’t know the answer” [15].
    • Even if introduces a condition with the sense that doing something won’t enable the condition to be fulfilled [15].
    • Example: “Even if you read all the books, you won’t learn what the lecturer can tell you” [15].
    500 English Grammar Rules Explained

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • The Split Moon: A Quranic Miracle Debated by Allama Javed Ghamdi

    The Split Moon: A Quranic Miracle Debated by Allama Javed Ghamdi

    This text presents a discussion about the interpretation of a Quranic verse describing the splitting of the moon. The conversation analyzes different perspectives on whether this event was a miracle performed by the Prophet Muhammad, a sign from God unrelated to any prophetic action, or a future event described in the past tense. Scholarly opinions from various Islamic authorities are compared and contrasted, examining the textual evidence from the Quran and Hadith. The debate also considers the historical context and the possibility of corroborating scientific evidence, ultimately concluding that the event was an extraordinary sign from God, though not a miracle in the traditional sense. The discussion emphasizes careful textual analysis and the importance of considering multiple interpretations.

    Shak-e-Qamar: A Deep Dive Study Guide

    Quiz

    Instructions: Answer the following questions in 2-3 sentences each, based on the provided text.

    1. In the context of the text, what is the significance of the word “ayat” when referring to the moon splitting?
    2. What are the two main categories of extraordinary events or “signs” from Allah, as discussed in the text?
    3. How does the text distinguish between a miracle performed by a prophet and a sign directly from Allah?
    4. According to the text, what is the primary purpose of the extraordinary signs that were revealed during the time of prophets?
    5. What was the specific event known as “Shak-e-Qamar” and when did the text say that it happened?
    6. What are some alternative interpretations of the “Shak-e-Qamar” event mentioned in the text, and why are they ultimately dismissed?
    7. According to the text, how did the Quranic verse about the moon splitting function to convey a warning about the Day of Judgment?
    8. What is the significance of the various narrations and Hadiths regarding the Shak-e-Qamar incident, as mentioned in the text?
    9. Why does the text argue that the Shak-e-Qamar incident was not a miracle shown on demand to the infidels?
    10. What explanation does the text offer for why the Shak-e-Qamar event might not be recorded in historical documents outside of Arabia?

    Answer Key

    1. In the context of the text, “ayat” can refer to more than just a verse of the Quran; it can also refer to a sign or a wonder, either performed by a prophet as a miracle, or sent directly by Allah. The text argues that the splitting of the moon, while extraordinary, is an “ayat” in the sense of a sign, rather than just a routine natural phenomenon.
    2. The two main categories of extraordinary events or “signs” are: first, those that happen through the hands of a prophet (miracles performed by the prophet with Allah’s help) and second, those that are directly initiated by Allah (such as the splitting of the moon or sending down Manno Salwa).
    3. Miracles are performed by prophets as an act of divine power with the prophet’s hands, often involving a direct action by the prophet. Signs directly from Allah are events in which the prophet does not directly participate, which appear as extraordinary events.
    4. The extraordinary signs that were revealed during the time of prophets are primarily to convey a message of warning to the people (Takb), particularly regarding the coming Day of Judgment, to act as proof of the prophets’ message and divine claim, and for the protection of the prophet.
    5. The Shak-e-Qamar, according to the text, refers to the event where the moon split into two pieces and then rejoined. This happened around 5 years before Hijra during the 14th night of a lunar month.
    6. Some people interpreted the Quranic statement about the moon splitting to refer to a future event happening close to Doomsday, but this is dismissed by the text because it does not fit the context of the surrounding verses and the Hadith narrations.
    7. The Quranic verse about the moon splitting functioned as a sign of the coming Doomsday, a warning and reminder from God about the potential destruction of the universe. The message was that if the moon, a seemingly permanent object, could be split, then the entire universe could also be destroyed.
    8. The narrations and Hadiths concerning the Shak-e-Qamar incident provide detailed accounts of when, where, and how the event occurred. The multiple chains of narrators confirm that this event was considered as a factual event by many companions of the Prophet (peace be upon him).
    9. The text argues that the Shak-e-Qamar event was not a miracle shown on demand, because unlike other miracles, it was not requested by the infidels. It was shown as an extraordinary incident to those present, and that it was revealed by Allah, not to satisfy the Mushrikin.
    10. The text suggests the Shak-e-Qamar event may not be recorded outside of Arabia because it happened suddenly and there were no means of universal information dissemination at the time. The incident also would not affect celestial navigation; therefore, there would be no reason to log or record it.

    Essay Questions

    Instructions: Develop an essay response to the following questions, drawing upon the provided source material. Do not answer these questions here.

    1. Analyze the different interpretations of the “Shak-e-Qamar” incident presented in the text and explain why the text favors one over the others. How does this analysis reflect a broader approach to interpreting religious texts?
    2. Explore the relationship between miracles, signs, and prophethood based on the text’s discussion. How does the text explain the purpose and nature of extraordinary events within its religious framework?
    3. Evaluate the role of historical accounts, hadiths, and Quranic verses in understanding the significance of the “Shak-e-Qamar” event. How does the text reconcile different types of sources and resolve potential contradictions?
    4. Discuss the text’s arguments concerning the nature of knowledge dissemination in historical times as it applies to the Shak-e-Qamar incident.
    5. Considering the debates surrounding science and religion, discuss the text’s position on the possibility of scientific verification for the “Shak-e-Qamar” incident. What does the text’s approach suggest about the relationship between scientific and religious knowledge?

    Glossary of Key Terms

    • Ayat (آيات): In this context, “ayat” refers to both verses of the Quran and signs, wonders, or extraordinary events that signify God’s power and will.
    • Shak-e-Qamar (شق القمر): The splitting of the moon, a specific extraordinary incident discussed in the text.
    • Mooza (معجزہ): Miracle, an extraordinary event performed by a prophet with Allah’s help.
    • Takb (تکب): The act of conveying a message of warning, often related to the day of judgment, or for proving a prophet’s claim to prophethood.
    • Hadith (حدیث): Narrations of the sayings and actions of the Prophet Muhammad (peace be upon him), which form part of the Islamic tradition.
    • Tafseer (تفسیر): Interpretation or commentary on the Quran, often providing context and explanation for the verses.
    • Sunnah (سنت): The practices, customs and traditions of the Prophet Muhammad (peace be upon him), which serve as a model for Muslims.
    • Doomsday: The Day of Judgment, the end of the world and the time when all will be judged by God.
    • Hijra (هجرة): The Prophet Muhammad’s migration from Mecca to Medina, marking the start of the Islamic calendar.
    • Mushrikin (مشرکین): Those who associate partners with God, polytheists, or idolaters. In this context, specifically referencing those who opposed the Prophet.

    The Splitting of the Moon: A Theological Analysis

    Okay, here is a detailed briefing document reviewing the main themes and important ideas from the provided text, including quotes.

    Briefing Document: Analysis of “Pasted Text” on the Splitting of the Moon

    Document Overview:

    This document analyzes a lengthy transcribed conversation (likely from a lecture or discussion) centered around the Islamic concept of Shak-e-Qamar (the splitting of the moon). The discussion grapples with the meaning of the relevant Quranic verses, examines historical narrations, and addresses contemporary challenges to this religious concept, mainly by referencing the views of religious scholars. The discussion highlights differences in interpretation, particularly concerning whether the event was a miracle performed by the Prophet Muhammad or a sign from Allah, independent of the Prophet’s direct action.

    Main Themes:

    1. Defining “Ayat” (Verse/Sign) in the Quran: The discussion begins by establishing the different ways the term ayat (verse or sign) is used in the Quran. The initial focus is on distinguishing between a verse as a textual passage and a sign from God in the world. They explore whether events of nature, like eclipses, or special events are ayats.
    • Quote: “In the Holy Quran the word ‘aayat’ is used in which meanings and you yourself had explained that for salvation also the first question comes, the basic question is this incident of today’s destruction has been narrated by Allah in the Quran It has been termed as a verse.”
    • Key Idea: The discussion moves past the idea that a verse refers only to Quranic text. It explores the concept of ayat as a sign of Allah.
    • Quote: “The moon is also a verse and the sun is also a It is a verse, the coming of day and night on earth and in sky is also a verse, my existence is also a verse, all the creatures are verses…”
    • Key Idea: This passage is used to illustrate that there is a difference between the ayats that are part of the natural world and the specific ayat which is the splitting of the moon.
    1. Miracles vs. Signs from Allah: A crucial distinction is made between miracles performed through prophets ( Moza) and extraordinary signs manifested directly by Allah. This is crucial to the analysis of the Shak-e-Qamar event.
    • Quote: “One meaning of this is that on the hand of the Prophet Its origin is that a miracle was demanded from Risalat Maab Salam and Risalat Maab Salam showed this miracle…”
    • Key Idea: This idea of Moza, or miracles done through the prophets, is differentiated from a sign directly from Allah.
    • Quote: “The other aspect which we have seen before is that Allah himself does something extraordinary on his own behalf, that is, it does not happen through the hands of the Prophet, but through Allah.”
    • Key Idea: This explanation makes clear the difference between Allah working through a prophet and Allah doing an act independent of a prophet.
    1. The Nature of the Shak-e-Qamar Event: The central question is whether the splitting of the moon was a miracle performed by the Prophet Muhammad as proof of his prophethood, or an extraordinary sign from Allah marking the coming of the Day of Judgement.
    • Quote: “Similarly, a sign of Rasulullah It was revealed to the Tai of the angel of peace (peace be upon him) in the form of the moon bursting, that is, the sign was revealed; it was an extraordinary event from Allah Ta’ala It happened for the Tai of the Prophet Muhammad (peace be upon him) but it did not happen in the way in which the blessing of salvation is good from any prophet i.e. I did not reveal the intention of the blessing nor was it given to the Prophet, he reveals it as a gift from Allah Ta’ala himself An extraordinary thing becomes apparent.”
    • Key Idea: This makes clear that this sign was given by Allah, not an act done through the Prophet, nor was it a blessing.
    • Quote: “He writes, “Mo Tarjan, there are two types of arguments on this. Firstly, in his opinion, it is not possible that two pieces of a huge object like the moon break apart and the distance between them is hundreds of miles. After moving away from each other for hundreds of miles, they again joined together. That is, we try to explain how this is possible.”
    • Key Idea: This addresses the seemingly impossible nature of the event and addresses the question about why people didn’t see the event globally.
    1. Interpretation of Quranic Text & Narrations: The discussion dives into the specific language of the Quranic verses relating to Shak-e-Qamar, examining whether the past tense implies a historical event or a future occurrence, as well as referencing hadith (narrations about the Prophet’s life) to understand the incident.
    • Quote: “The question I have for you is that you always insist that the words of the Quran regarding the tongue, Jumle ki taali and Siyaq, this is the verse of the Quran in which this has been referred to, is there any denial in it that this The incident did not happen with Rasulallah but with Allah Taala or it happened far from Allah Taala, there is no proof in words for this neither of that nor of this, it has only been said there that this incident happened, i.e. the moon exploded”
    • Key Idea: This passage highlights how people are using the language of the Quran to back up their opinions.
    • Quote: “Many people have taken the meaning of this fable to be that the moon will burst, which means it is not that the moon has burst, rather the statement of the future has been narrated in the context of Islam, most people have taken the meaning of this fable this it is that the moon will burst but in terms of Arabic language it is possible to take this meaning i.e. this happens, it happens in Arabic language as well as in our Urdu that we call any sentence of the future as Uluberia as if it So it has happened as it happened there is good news, it is obviously a statement of the future”
    • Key Idea: This passage shows a difference of opinion about whether the splitting of the moon was a past event or a future event described in the past tense.
    1. Addressing Skepticism & Scientific Claims: The conversation tackles modern skepticism, including lack of scientific evidence for a split moon and counter arguments from religious scholars and some scientists.
    • Quote: “I have before me this from NASA’s Lunar Science Institute. There is a statement by a famous scientist, he says that no current scientific evidence reports that the moon was split into two. Similarly, many who are Muldoonians or who attack on religion say that the date of 6000 years is void of this statement that The moon had once fallen in this world…”
    • Key Idea: This illustrates the conflict between modern scientific thinking and religious explanations, specifically in regard to the splitting of the moon.
    • Quote: “The ground had cracked at many places in Kota, but is there any possibility of it now? If you investigate at this time, you will get to know about many things, it is possible that it may happen, so wait for it for this reason…”
    • Key Idea: This explanation pushes the skeptic to not write it off completely, but instead to see that science is not the be-all end-all, and that future scientific discoveries could prove some religious claims true.
    1. The importance of scholarly discourse and independent thought: The discussion underscores the importance of engaging with different interpretations and coming to an understanding through reason, discourse and investigation.
    • Quote: “…that if you have an elder with a different mindset or someone from your school of thought, then if his ideology appeals to you, then adopt him. We should not feel any hesitation in presenting it and considering it as our independence, this is how it is, this is the scholarly way…”
    • Key Idea: This passage emphasizes the value of intellectual honesty and the willingness to consider different perspectives.
    • Quote: “So what do I do, that is, what is my method, that when an issue comes before me, I will see how the people of knowledge explained it, how they saw it, then I will reveal it that when their If Aara comes forward then I will investigate about his broker.”
    • Key Idea: This passage explains the method of the speaker in understanding theological issues.

    Most Important Ideas/Facts:

    • The Splitting of the Moon as an Extraordinary Event: The central agreement is that Shak-e-Qamar was not an ordinary astronomical event, but a unique sign from Allah.
    • Distinction Between Miracle and Sign: The key point of contention is whether it was a miracle performed by the Prophet or a sign from God that happened during the Prophet’s lifetime. The speaker and referenced scholars emphasize that it was a sign from Allah, not a miracle done through the Prophet.
    • The Purpose of the Sign: The event is primarily interpreted as a sign pointing to the imminence of the Day of Judgement, rather than an affirmation of the Prophet’s prophethood in the moment it happened.
    • Lack of Universal Record: The text addresses why the event wasn’t recorded worldwide, arguing that awareness was localized at the time, and investigation technologies were not as sophisticated.
    • Importance of Context and Narrations: The discussion highlights the importance of analyzing Quranic verses, related narrations (Hadith) and scholarly interpretations.

    Conclusion:

    The “Pasted Text” provides a deep dive into the theological debate surrounding the Shak-e-Qamar event. The discussion emphasizes careful analysis of religious texts, the importance of differentiating between various concepts like miracle and sign, and the need to address modern skepticism with reasoned arguments. Ultimately, the text advocates for independent thinking, informed by both traditional scholarship and scientific advancements. The event is posited as a sign from Allah, not a miracle done through the Prophet, and is an important reminder of the nearness of Doomsday.

    This briefing document should provide a clear understanding of the complex topics covered in the source text.

    Shaq-e-Qamar: The Splitting of the Moon

    Frequently Asked Questions on the Splitting of the Moon (Shaq-e-Qamar)

    1. What is the incident of Shaq-e-Qamar being discussed, and why is it significant?
    2. The incident of Shaq-e-Qamar, or the splitting of the moon, refers to a specific event described in the Quran and Hadith where the moon is said to have split into two pieces and then rejoined. It’s significant because it is presented as a sign from Allah, an extraordinary occurrence that is debated as either a miracle shown through the Prophet or a sign directly from God signaling the approach of the Day of Judgment. It is not considered an ordinary natural event like an eclipse, but an unusual event meant to draw attention to the divine power.
    3. The Quran uses the word “Ayat” (verse) in different contexts. How does it relate to the Shaq-e-Qamar?
    4. The word “Ayat” is used in the Quran to describe various things, including verses of the Quran, natural phenomena (like the sun and moon), and extraordinary events. In the context of Shaq-e-Qamar, the Quran refers to it as a ‘verse’, but this doesn’t mean the incident itself is a verse from the Quran. Rather, it is a sign or a manifestation of God’s power that is different from ordinary signs. It’s neither a verse of the Quran nor an ordinary natural occurrence but rather a unique extraordinary sign from God. The ‘Ayat’ in this case is not meant to be taken as a verse of scripture.
    5. What is the difference between a ‘miracle’ performed by a Prophet and an extraordinary sign directly from Allah, as applied to Shaq-e-Qamar?
    6. A miracle performed by a Prophet (Mu’jiza) is usually an extraordinary act done through the Prophet’s hand or will, with God’s support, like Moses splitting the sea with his staff. These miracles are often done to support the Prophet’s message and are linked to the prophet. On the other hand, an extraordinary sign directly from Allah is an event that occurs by Allah’s will and power without the Prophet’s direct involvement. For example, Allah providing manna and quail to the Israelites. The key difference in this context is that a miracle is generally done through a prophet, while an extraordinary sign is from Allah directly, and this is the understanding of the Shaq-e-Qamar incident being discussed.
    7. How do scholars interpret the Quranic verses about the splitting of the moon? Is it a past event or a future event?
    8. While some scholars interpret the verses as referring to a future event near the Day of Judgment, the prevailing scholarly consensus in the sources given is that the verses narrate a past event that occurred during the time of the Prophet Muhammad. This incident is presented as an extraordinary sign from Allah that served to warn the people of the impending Day of Judgment and a testament to His power. The Quran uses the past tense, and the arguments based on Arabic language and the consistency of other verses indicate that it is indeed a past event.
    9. Why do some scholars insist that this incident of the moon splitting is not a miracle done by the Prophet but is rather a sign from Allah?
    10. The primary reasoning for this distinction is that there is no Quranic text or evidence that states that the prophet had anything to do with causing this to happen. The Quran typically details the miracles of other prophets very differently and this is not the case here. The Quranic text presents the splitting of the moon as a sign from Allah. Some companions who witnessed it and then spoke of it did not say that it was done through the prophet. It is seen as a sign of Allah’s power in order to underscore the nearness of the Day of Judgement. The purpose of these signs is that they are meant to complete Allah’s argument to the people, not as a proof of the Prophet’s Prophethood.
    11. What was the purpose behind the incident of Shaq-e-Qamar, according to the sources?
    12. The primary purpose of the incident, as interpreted from these sources, was to serve as a sign of the approaching Day of Judgment. It was a divine spectacle, not a miracle performed by the Prophet, intended to alert people to the end times. By displaying such an extraordinary event, Allah demonstrated His power over all creation, including celestial bodies like the moon, and to warn those who deny the Day of Judgement.
    13. Was the Shaq-e-Qamar witnessed globally, and what about its absence in other historical records?
    14. The text acknowledges that the event was likely not witnessed globally. It happened suddenly, not like an eclipse where people would anticipate it and be looking at the sky. It is said to have happened at night in Arabia, and there was no real time way of relaying this to others far away in the world. The sources also acknowledge the limitations in communication and astronomical observation at the time. Therefore, it is not surprising that the incident is not widely documented in historical records outside of the regions that could see the moon at that particular time, and it is not a requirement for the sign to have had global impact for it to have been important.
    15. Is the lack of scientific evidence, like geological evidence from the moon, a reason to deny the Shaq-e-Qamar incident?
    16. The absence of current scientific evidence is not seen as a reason to deny the event. The source highlights that this event occurred as a divine sign that was not subject to common scientific laws. Also, it states that scientific knowledge and investigation methods are much more advanced now than in the past. The sign of Allah was meant for the specific people of that time, and any future scientific confirmations are independent. The text emphasizes the importance of accepting the Quranic account and narratives from trustworthy companions, and to remain patient for science to perhaps catch up in the future. It is a matter of belief, rather than of science.

    The Splitting of the Moon: A Historical and Theological Examination

    Okay, here’s the timeline and cast of characters based on the provided text:

    Timeline of Main Events:

    • Pre-Islamic Arabia: The text establishes a context in which people are living and experiencing regular astronomical events like moon and solar eclipses.
    • 5 Years Before Hijra (Approx. 617 AD): The central event of the text, the “Shak-e-Qamar” (splitting of the moon) occurs. This happens on the 14th night of the lunar month. The moon is seen to split into two pieces, with each piece appearing on either side of a mountain. The pieces then quickly rejoin.
    • During the Lifetime of the Prophet Muhammad: The Prophet is present in Mina at the time the moon split and calls the people to witness it.
    • Immediate Aftermath of the Moon Splitting: Some infidels (specifically referred to as the “Mushrikin”) claim the event was a magic trick performed by Prophet Muhammad. Others disagree that this could have been a trick performed on everyone and begin asking outsiders if they had seen it. Those who had seen it confirm the incident.
    • Over Time: Various interpretations of the event emerge. Some consider it a miracle performed by the Prophet, while others consider it a sign from Allah, a precursor to the Day of Judgment. Some interpretations suggest it will happen in the future.
    • Later Islamic Scholarship: Scholars like Ustad Imam and Maulana Syed Abla Sahib discuss the event in their commentaries on the Quran.
    • Modern Times: The debate continues, with some modern, educated minds questioning the event’s historical accuracy due to the lack of scientific evidence. Scientific statements have been made claiming no evidence exists the moon has ever split.

    Cast of Characters:

    • Prophet Muhammad (Risalat Maab Salam): The central figure around whom the Shak-e-Qamar event occurs. He calls people to witness the splitting of the moon. He is not cited as having any hand in the event itself.
    • Syedna Musa (Moses): Referenced as an example of a prophet who performed miracles through Allah’s power, like splitting the sea, which is compared to the Shak-e-Qamar in its status as an extraordinary occurrence.
    • Syedna Masih (Jesus): Referenced as an example of a prophet who performed miracles through Allah’s power, like raising the dead and being born without a father, these events are compared to the Shak-e-Qamar in its status as an extraordinary occurrence.
    • Ustad Imam: A scholar whose commentary on the Quran, “Tadhab Quran” is cited. He interprets the Shak-e-Qamar as a sign of punishment and a warning about the coming Day of Judgment. He is said to believe that Allah reveals signs to warn the people of doomsday and to reveal the true nature of the Prophet’s message.
    • Maulana Syed Abla Sahib: A scholar who has written the commentary “Tafheem ul Quran”, where he interprets the Shak-e-Qamar as a sign of the approaching doomsday, using Quranic text and narrations. He also speaks of the event being a demonstration that the universe is not indestructible.
    • Hazrat Ali: A companion of the Prophet mentioned as one of the people who witnessed and narrated the Shak-e-Qamar event.
    • Hazrat Abdullah bin Masood: A companion of the Prophet mentioned as one of the people who witnessed and narrated the Shak-e-Qamar event.
    • Hazrat Abdullah bin Abbas: A companion of the Prophet mentioned as a narrator of the Shak-e-Qamar event though it is noted he could not have seen it.
    • Hazrat Abdullah bin Umar: A companion of the Prophet mentioned as one of the people who witnessed and narrated the Shak-e-Qamar event.
    • Hazrat Huzaifa: A companion of the Prophet mentioned as one of the people who witnessed and narrated the Shak-e-Qamar event.
    • Hazrat Anas bin Malik: A companion of the Prophet mentioned as a narrator of the Shak-e-Qamar event, though it’s noted he was a child at the time. His version of events is also questioned due to inconsistencies within its retelling.
    • Hazrat Zubair bin Matim: A companion of the Prophet mentioned as one of the people who witnessed and narrated the Shak-e-Qamar event.
    • Sultan Ghaznavi: Mentioned in reference to the claim that it was written in history books at the time of his repeated attacks on India that the moon had split, as a way to show that people all over the world had observed the incident.
    • Allama Alasi: The author cited as a source claiming it was written in history that when Sultan Ghaznavi was repeatedly attacking India, then there also people wrote plaques on the buildings that the moon had split into two pieces.
    • Ibn Hajar: A scholar with an expertise in hadith narration who is cited as examining several versions of the Shak-e-Qamar story and finding no evidence except from Hazrat Anas bin Malik that the incident occurred at the demand of infidels.
    • Abu Nayeem: A scholar cited as an author of a work who referenced a narration of Abdullah bin Abbas that says the moon splitting was a demand made by the infidels, but it is dismissed due to a lack of validity.
    • Maulana Amin Hasan Ilai: Another scholar who discussed the Shak-e-Qamar event, stating that it was an event that was local.

    Key Concepts and Points:

    • Shak-e-Qamar (Splitting of the Moon): The central event being discussed.
    • Ayat (Verse/Sign): The Quran uses the word “ayat” in multiple ways. It can mean a verse of the Quran but also a sign or miracle from Allah.
    • Mu’jiza (Miracle): The text explores whether the Shak-e-Qamar was a miracle performed by the Prophet or a sign from Allah, with scholars leaning toward the latter interpretation.
    • Takdhib: The message of the prophets of Allah are given to those who have disbelief in God and seek to argue against the message.
    • Doomsday: A major theme related to the splitting of the moon, with many viewing it as a sign of the approaching Day of Judgment.
    • Hadith: The text references hadith, which are the recorded sayings and actions of Prophet Muhammad, as a supplementary source to the Quran.
    • Tafsir: The text references the tafsir, which are commentaries on the Quran.

    Let me know if you have any other questions.

    The Splitting of the Moon: A Sign from Allah

    The sources discuss the incident of the moon splitting (Shak-e-Qamar) during the time of Prophet Muhammad, exploring its nature, purpose, and interpretations. Here’s a breakdown of the key points:

    • The Incident: The incident of the moon splitting is described as an extraordinary event, not a routine occurrence like a lunar eclipse [1-3]. It’s presented as a sign from Allah, not a miracle performed by the Prophet in the traditional sense [4-8].
    • The moon is said to have split into two pieces, with each piece visible on opposite sides of a hill [9]. Then the pieces rejoined quickly [9, 10].
    • The Prophet, present in Mina at the time, called people to witness the event [10].
    • Some people, especially disbelievers, claimed it was magic [10, 11]. They also said that the Prophet had cast a spell on them and deceived their eyes [10].
    • Interpretations of the word ‘Ayat’: The word “ayat” (verse) is used in the Quran in several ways [1, 4]:
    • It can refer to common signs of Allah, like the sun, moon, and creation [4].
    • It can refer to events that happen according to the common law of Allah like moon and solar eclipses [2, 4].
    • It can refer to extraordinary events or miracles performed by prophets [4].
    • It can refer to extraordinary events done by Allah [5].
    • The splitting of the moon is considered an “ayat” in the sense of an extraordinary sign from Allah, meant to signify the approaching Day of Judgment [2, 3, 7, 12, 13].
    • Purpose of the Incident: The incident served as a sign of the coming Day of Judgment [3, 7, 10, 12].
    • It was not intended as a miracle to prove the Prophet’s prophethood in the way that miracles are typically understood. It was not a sign performed by the Prophet but rather an event caused by Allah [6-8, 14].
    • It was not a response to a specific demand or challenge by disbelievers [15].
    • Miracle vs. Sign: The sources make a distinction between miracles performed by prophets and signs from Allah [5].
    • Miracles are often done through the Prophet’s actions with the power of Allah [4].
    • Signs from Allah are extraordinary events done directly by Allah and not through the actions of the Prophet [3, 5, 7].
    • Examples of signs include the birth of Prophet Isa (Jesus) without a father, the manna and salwa sent to the Israelites, and the cloud that shaded them [5].
    • The moon splitting is presented as a sign from Allah, not a miracle performed by Prophet Muhammad [3, 5-8].
    • Narrations and their Analysis: The incident is narrated in the Quran and Hadith [9, 13].
    • The Quran only mentions the incident as a sign [7, 10].
    • The Hadith provides details about when and how it happened [9, 13].
    • Some narrations, particularly from Hazrat Anas, suggest the moon split twice, but this is not accepted by most scholars as there is only one incident mentioned in the Quran [10]. The companions of the Prophet, like Hazrat Abdullah bin Masood, Hazrat Huzaifa, and Hazrat Zubair bin Matim witnessed the incident directly [9, 15].
    • Some stories about the Prophet pointing at the moon and it breaking, or a piece entering his sleeve, are considered baseless [14].
    • Rejection of alternative explanations: Some people have interpreted this event as one that will happen near the Day of Judgment and not as a historical event [16]. This interpretation is rejected, as the text makes more sense when the event is interpreted as a sign that occurred during the time of the Prophet [13, 17, 18].
    • Global Witness: The sources address the question of whether this event was witnessed globally [19].
    • It’s argued that such an incident wouldn’t necessarily be witnessed worldwide as there was no prior announcement, and it happened suddenly [20].
    • There was no technology or global communication at the time to make this a widely witnessed event [20, 21].
    • Reports from the Malabar region in India suggest that the event was witnessed [20].
    • Also, there are those who believe it is not possible for two pieces of a huge object like the moon to break apart and then rejoin, however this belief is not well founded [19, 20].
    • Scientific Perspective: Modern scientific evidence does not support the claim that the moon was split [21].
    • The sources argue that scientific verification is not necessary to prove the Quranic accounts [22].
    • The lack of current scientific evidence does not invalidate the event as described in the Quran, rather it is a test of faith [22, 23].

    In conclusion, the sources present the moon-splitting incident as a significant sign from Allah, an extraordinary event that occurred during the time of Prophet Muhammad, meant to signify the nearing of the Day of Judgment, and that this event does not have to be scientifically validated to be true [8].

    Quranic Interpretation of the Moon Splitting

    The sources discuss Quranic interpretation in the context of the moon splitting incident (Shak-e-Qamar), particularly focusing on the word “ayat” (verse) and how different scholars have approached the text [1].

    Here’s a breakdown of the key aspects of Quranic interpretation discussed in the sources:

    • Meanings of “Ayat”: The word “ayat” has multiple meanings in the Quran [1, 2]:
    • Common signs of Allah: This includes natural phenomena like the sun, moon, and the creation of day and night, which are all considered signs of Allah [2].
    • Events according to common law: This includes things like moon and solar eclipses which occur repeatedly according to the laws of nature [2].
    • Miracles performed by prophets: These are extraordinary events done through the prophet by the power of Allah [2].
    • Extraordinary events done by Allah: These are unusual occurrences that are not performed by a prophet [2, 3].
    • In the context of the moon splitting, “ayat” refers to an extraordinary sign from Allah, not a routine occurrence or a miracle performed by the Prophet [1].
    • The Incident as an “Ayat”: The splitting of the moon is considered an “ayat” in the sense of an extraordinary sign from Allah, meant to signify the approaching Day of Judgment [4, 5]. It is not a sign of the Prophet’s power but rather a sign of Allah’s power [3].
    • This interpretation distinguishes it from miracles, which are typically performed by prophets with the power of Allah [2, 3].
    • Contextual Analysis: The sources emphasize the importance of understanding the Quranic text within its context [6].
    • The incident is presented in the Quran as a statement, not as a detailed account of a miracle performed by the Prophet [7, 8].
    • The Quran does not explicitly link the moon splitting to the Prophet in the way it links miracles to other prophets like Moses and Jesus [7].
    • The verses following the mention of the moon splitting refer to the Day of Judgment [9].
    • Rejection of Alternative Interpretations: Some scholars have interpreted the verses about the moon splitting as a future event related to the Day of Judgment, using the past tense to describe a future event. However, this interpretation is rejected by the scholars who are referenced in the text [10, 11].
    • The sources argue that the Quran’s language and the context of the verses support the interpretation that it was a past event that occurred during the Prophet’s time [11].
    • Interpreting it as a future event makes the subsequent verses seem out of place [11, 12].
    • The Role of Hadith: While the Quran mentions the moon splitting, Hadith provides additional details, like when and how it happened [13, 14].
    • The Hadith narratives of the incident are considered to be in agreement with the Quran’s mention of the incident [13].
    • The Hadith provides information regarding the time of the incident, that it was witnessed by the Prophet and other companions, and that the pieces of the moon rejoined [14, 15].
    • Scholarly Differences: The sources highlight the differences in opinion among scholars regarding the nature and purpose of the moon splitting [16, 17].
    • Some scholars believe that the moon splitting was a miracle performed by the Prophet in response to a demand from disbelievers. This view is considered less valid as it is based primarily on the narration of only one companion of the Prophet [16, 17].
    • The dominant opinion, supported by the Quran and multiple narrations, is that it was an extraordinary sign from Allah and not a miracle of the Prophet [17].
    • Importance of Scholarly Analysis: The sources emphasize the importance of relying on the interpretations of learned scholars, while also encouraging independent thought and analysis [18].
    • The approach should be to consider different scholarly viewpoints, analyze their reasoning, and then form an opinion [18].
    • It is important to look at the Quranic text, the context, and the supporting Hadith narratives in making the most accurate interpretation [18, 19].

    In summary, the Quranic interpretation of the moon splitting incident involves understanding the word “ayat” in its various contexts, analyzing the Quranic verses within their context, and considering the relevant Hadith narratives. The sources emphasize that the incident is an extraordinary sign from Allah, not a miracle performed by the Prophet, and that its purpose is to indicate the approaching Day of Judgment.

    Prophetic Miracles vs. Signs from Allah: The Case of the Split Moon

    The sources discuss the concept of prophetic miracles in the context of the moon splitting incident (Shak-e-Qamar), making a clear distinction between miracles performed by prophets and signs from Allah [1-3]. Here’s a breakdown of how the sources address prophetic miracles:

    • Definition of a Prophetic Miracle:A prophetic miracle, often referred to as “Moza,” is an extraordinary event or act that occurs through the hands of a prophet by the power of Allah [2].
    • These miracles are usually given to prophets to protect them, to be used as an argument for their message, or to demonstrate their connection with Allah [2].
    • They serve as a means of confirming the prophet’s claim to prophethood, and they are often performed in response to a challenge or demand from disbelievers [4].
    • Examples of Prophetic Miracles:The sources mention the miracles of Prophet Musa (Moses), such as his staff turning into a snake and the parting of the sea [2].
    • The sources also reference the miracles of Prophet Isa (Jesus), such as bringing the dead back to life [2].
    • These miracles were performed by the prophets with the power of Allah, and they were a clear demonstration of their unique status [2].
    • The Moon Splitting is Not a Prophetic Miracle:The sources emphasize that the moon splitting (Shak-e-Qamar) is not a prophetic miracle in the traditional sense [1, 4].
    • It was not performed by Prophet Muhammad through his actions or as a response to a demand [5].
    • Instead, it was an extraordinary event that was created directly by Allah [3].
    • The moon splitting is presented as a sign from Allah to confirm the truth of the Prophet’s message and the nearness of the Day of Judgment, not as a miracle that establishes his prophethood [6, 7].
    • Distinction between Miracles and Signs:The sources make a clear distinction between miracles (performed by prophets) and signs (done directly by Allah) [2, 3].
    • Miracles are typically associated with a prophet’s actions and are often a direct response to a specific situation or challenge [2, 4]. They are also given for the protection of the prophet [2].
    • Signs, on the other hand, are extraordinary events that occur through the direct will and action of Allah [3, 4]. These signs are not performed by the Prophet [3].
    • The moon splitting is categorized as a sign of Allah, an extraordinary event not caused by the Prophet or through his actions [2, 4, 6].
    • Other Signs from Allah:The sources list other signs from Allah that are not considered miracles, such as the birth of Prophet Isa without a father, the manna and salwa sent to the Israelites, and the clouds that shaded them [3].
    • These signs are extraordinary events that happen directly through Allah and not through the hands of the prophet [3].
    • Rejection of Certain Narratives:The sources reject narratives that claim the Prophet pointed at the moon, causing it to split, or that a piece of the moon entered his sleeve [7, 8]. These accounts are considered baseless and have no reliable evidence [8].
    • These narratives are also rejected because they portray the moon splitting as a miracle performed by the Prophet, which is not how the incident is presented in the Quran [6].
    • Purpose of the Moon Splitting Event:The moon splitting event was intended to be a sign of the nearing Day of Judgment [6, 9].
    • It was not a miracle given to Prophet Muhammad in response to a challenge from the disbelievers to prove his prophethood [5].
    • Quranic PerspectiveThe Quran presents the moon splitting as a sign of the Day of Judgement, and does not describe the event as a miracle of the Prophet [6].
    • The Quran doesn’t mention any action of the prophet in connection with the splitting of the moon [6].
    • It mentions the miracles of other prophets with a specific structure [6].

    In summary, the sources clarify that the moon splitting was not a miracle performed by Prophet Muhammad, but rather a sign from Allah. The distinction between miracles and signs is important, as miracles are performed by prophets through the power of God, while signs are extraordinary events that happen directly from Allah. The moon splitting was meant to be a sign of the nearing Day of Judgment and not a proof of the Prophet’s prophethood [6, 7].

    The Moon Splitting Incident: Science, Faith, and History

    The sources discuss scientific evidence related to the moon splitting incident (Shak-e-Qamar) and address arguments from both those who seek scientific confirmation and those who use the lack of scientific evidence to deny the event [1]. Here’s a breakdown of the scientific evidence and related arguments:

    • Lack of Current Scientific Evidence: The sources acknowledge that there is no current scientific evidence that confirms the moon was split into two pieces and then rejoined [1]. A statement from a scientist at NASA’s Lunar Science Institute is mentioned, stating that there is no scientific report that supports the moon splitting [1].
    • This lack of evidence is used by some to question the validity of the event, claiming it is not possible based on current scientific knowledge [1].
    • Arguments Against Scientific Impossibility: The sources present arguments against dismissing the event purely based on a lack of scientific evidence [1, 2].
    • It is stated that in the past, such an event may have been considered impossible based on the scientific knowledge of the time, but that with modern understanding of celestial bodies, such an event is not impossible [3].
    • The possibility of a celestial body bursting apart and then reforming is discussed. The argument is made that the moon, with its molten core, could have had an internal explosion that caused the split [3].
    • The Nature of the Event: The sources emphasize that the moon splitting was an extraordinary event and a sign from Allah, not a regular, observable phenomenon [1, 4].
    • It was not an event that occurred due to natural laws but by the will of Allah [5].
    • The event was also brief and occurred in a specific area (Arabia and its eastern part) when the moon had risen [3]. Because the event was so brief, it is unlikely that it was witnessed all over the world [3].
    • It was not an explosion that would have drawn the world’s attention, nor was there any prior announcement of the event [3].
    • Limitations of Historical Observation: The sources point out that in the past, astronomical observation and record-keeping were limited [2, 3].
    • There was no expectation for the entire world to observe the event at that moment [3].
    • News and investigations were confined to certain regions in the past, unlike today, when they are immediately global [2].
    • The lack of global historical records of the event is not proof of it not happening, since the methods of investigation and record-keeping were not as advanced as they are now [1, 3].
    • Historical Accounts: Despite the lack of scientific evidence, the sources emphasize that the event was narrated in historical records, specifically in the Quran, and in Hadith by numerous companions of the Prophet [6, 7].
    • The narrations came from reliable and learned people at the time, including companions of the Prophet who were present during the event [2, 7].
    • Analogy to Other Historical Events:
    • The sources provide an analogy to the 1935 earthquake where the ground cracked, stating that even though evidence of the event may not be visible now, that doesn’t negate the fact that it occurred [1].
    • The sources also discuss the theory that land masses were once connected, and that now, through scientific investigation, evidence of those theories can be found [2].
    • The Role of Faith: The sources suggest that the event should be accepted based on faith and that one should not rely solely on scientific proof [2].
    • If science hasn’t confirmed it, it is a temporary limitation of science, which may or may not be resolved later [2].
    • The Quran and Hadith are the primary evidence for the event, and if scientific investigation confirms those accounts, it will further validate the event [2].
    • Future Discoveries: The sources suggest the possibility that future scientific exploration may find evidence related to the moon splitting [2].
    • The sources posit that future scientific investigations of the moon may reveal that the moon was once in two pieces.
    • This future confirmation would strengthen the existing historical evidence of the event from the Quran and Hadith.

    In summary, the sources acknowledge the lack of current scientific evidence for the moon splitting incident, but they argue that the absence of scientific proof is not a reason to deny it. They highlight that the event was extraordinary and that it happened by the will of Allah, that historical observation was limited, and that the event was recorded in religious texts and narratives. The sources emphasize the importance of faith and suggest that future scientific discoveries may eventually align with the historical record of the event.

    The Moon Splitting Incident: A Scholarly Debate

    The sources present a detailed scholarly debate surrounding the moon splitting incident (Shak-e-Qamar), with different interpretations of the event’s nature, purpose, and implications. Here’s an overview of the key points of contention among scholars:

    • Nature of the Event:
    • Miracle vs. Sign: One of the primary points of debate is whether the moon splitting was a miracle performed by the Prophet Muhammad or a sign from Allah [1-3].
    • Some scholars consider it a miracle, citing traditions where the Prophet points at the moon and it splits [4, 5]. They believe it was a demonstration of his prophethood [4].
    • Others argue it was a sign from Allah, an extraordinary event not caused by the Prophet but by the will of Allah, meant as a sign of the approaching Day of Judgment [3, 6].
    • Extraordinary Event: There’s agreement that the moon splitting was not an ordinary event like a lunar eclipse or earthquake [5-7]. It was unique and outside the normal course of nature [3, 5, 6, 8].
    • Purpose of the Event:
    • Sign of the Doomsday: Most scholars agree that the primary purpose was to serve as a sign of the nearing Day of Judgment [5, 6, 9, 10]. This was to warn people of the impending end of the world [6-8, 11].
    • Not a Proof of Prophethood: Many scholars argue that the event was not a miracle given to the Prophet to prove his prophethood, and it was not done in response to a demand from disbelievers [4, 10]. They state that the Quran itself does not present it as a miracle of the Prophet [12].
    • Instead, it was a sign from Allah directly, not through the actions of the Prophet [3].
    • Interpretation of Quranic Verses:
    • Past Tense: Some scholars interpret the Quranic verses describing the event as a past incident that occurred during the time of the Prophet [9, 13, 14]. Others see it as a description of an event that will occur closer to the Day of Judgment, using the past tense to describe the future with certainty [14, 15].
    • Redundant Meaning: Scholars argue that if the moon splitting is interpreted as a future event, then the verses of the Quran that follow become redundant, as they refer to a sign that was shown to the people [16].
    • Hadith and Narrations:
    • Multiple Narrations: The sources acknowledge various narrations of the incident in Hadith, with some variations. Some narrations say the moon split twice, but others dispute that it happened only once [11].
    • Reliability of Narrations: Some scholars reject narrations that claim the Prophet pointed at the moon, causing it to split, or that a piece of the moon entered his sleeve, considering them to be baseless [4]. These narratives have no reliable evidence and are not consistent with how the event is described in the Quran [4, 10].
    • Consensus on the Event: The sources mention that there is consensus (Ijma) among companions of the Prophet about the event of the moon splitting, and this is narrated in the Hadith by multiple sources [17]. There are differences in the details of how it happened, but not that it happened [14, 17].
    • Companions’ Testimony: The sources cite companions of the Prophet, such as Hazrat Abdullah bin Masood, Hazrat Huzaifa, and Hazrat Zubair bin Matim, as those who were present at the time of the event and testified to it [10, 17].
    • Scholarly Opinions:
    • Ustad Imam: Ustad Imam views the moon splitting as a sign of punishment and the arrival of the hour of punishment, a warning to the people [6-8]. He emphasizes that such signs are special and reveal the true nature of the Prophet’s message [18].
    • Maulana Syed Abla Sahib: This scholar considers the moon splitting a sign of the nearing doomsday, and states that the event was real, not a talisman or an incident close to doomsday [6, 9]. He also emphasizes that it is supported by the Quran and Hadith [9]. He also clarifies that the event was not unique to Mecca, and that people in the east also witnessed the event [19].
    • Rejection of Miracle Narrative: Scholars like Maulana Syed Abla Sahib argue against the interpretation of the moon splitting as a miracle given to the Prophet in response to disbelievers. They claim the Quran and other reliable narrations support this view [10, 12]. They also reject the narrative where the Prophet pointed at the moon and it split into two parts, stating it has no basis [4, 5].
    • Modern Scholarly Perspectives:
    • Addressing Modern Minds: Some scholars acknowledge that modern, educated minds struggle with this event as there isn’t scientific evidence [20]. They try to reconcile the religious text with the scientific view, often by explaining the limitations of science in investigating historical events [20].
    • Scientific Possibility: Some modern scholars also argue that with today’s scientific knowledge, the moon splitting is not impossible [19, 21]. They argue that the moon could have broken due to some kind of internal event, and then rejoined because of its gravity [19].
    • Methodological Approach:
    • Emphasis on Quran and Hadith: Scholars emphasize the importance of understanding the Quranic verses and Hadith narratives in their original context to interpret the moon splitting [1, 12, 13]. They rely on the consensus (Ijma) of the companions of the Prophet on the occurrence of the event.
    • Analytical Approach: Scholars analyze the text, language, and context of the verses and narratives, including the syntax, to come to a comprehensive understanding of the event [14, 16].

    In summary, the scholarly debate around the moon splitting incident involves a complex interpretation of religious texts, historical narratives, and scientific understanding. Scholars agree that the event was extraordinary, but they differ on whether it was a miracle performed by the Prophet, or a sign directly from Allah. They all agree it is a sign of the nearing Doomsday. They also disagree on how to interpret the Quran and Hadith, and how to address the lack of scientific evidence. The debate continues, with scholars striving to provide a holistic understanding of the event that is consistent with both religious and intellectual frameworks.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Al Riyadh Newspaper: February 26, 2025 Global News & Saudi Events

    Al Riyadh Newspaper: February 26, 2025 Global News & Saudi Events

    The provided texts encompass a diverse range of topics, predominantly focusing on Saudi Arabian news and events. A significant portion highlights celebrations and acknowledgements related to the Kingdom’s Founding Day, along with various cultural and sports-related news. Diplomatic relations and international collaborations, particularly in areas like investment and sports, are also featured. Furthermore, the sources touch upon global issues such as the Ukrainian conflict and the Iranian oil industry, demonstrating Saudi Arabia’s engagement with broader international concerns. Economic indicators, particularly regarding non-petroleum exports are spotlighted. The documents also discuss the significance of the Arabic language and literary contributions related to Saudi Arabian culture and heritage.

    Saudi Arabia Review and Study Guide

    I. Quiz

    Answer each question in 2-3 sentences.

    1. According to the text, how does the Kingdom support countries and peoples in need?
    2. What is cited as evidence of the Kingdom’s improved economic performance in the non-oil sectors?
    3. What role does the Kingdom play in global trade, according to the text?
    4. What does the Saudi Founding Day represent, and what significance does it hold for the Kingdom’s identity?
    5. According to the text, what is the Saudi government doing to improve education?
    6. What concerns are driving up oil prices, according to the text?
    7. How did non-oil exports increase in December 2024, compared with December 2023?
    8. According to the text, what is the Heet Union and what challenge does it pose to the Kingdom?
    9. What are the Saudis doing to preserve Architectural heritage, according to the text?
    10. What is one thing that the text says is a symbol of shared values, meanings, and goals for Saudi Arabia?

    Quiz Answer Key

    1. The Kingdom provides aid and assistance to countries and peoples most in need and offers relief to those affected by disasters around the world, demonstrating its commitment to humanitarian efforts. This has been the case since its establishment.
    2. The rise in non-oil exports is attributed to the significant improvements in infrastructure, investments, and the performance of various sectors, including petrochemicals, building materials, and food products. Government programs, initiatives, and incentives are also credited with enhancing the competitiveness of Saudi products in international markets.
    3. The Kingdom seeks to reach an international trade system characterized by partnership, efficiency, and achievement. The Kingdom will also head the General Council of the World Trade Organization.
    4. It represents the deep history of the Kingdom and the link between the past, present, and future. It is a chance for the new generation to learn about their history and to present a new vision of the Kingdom.
    5. The Saudi government is investing in education with a budget that keeps pace with the requirements of growth and development. This investment aims to make Saudi education one of the top 20 educational systems in the world, in line with the Kingdom’s Vision 2030.
    6. Rising concerns over potential supply disruptions due to new U.S. sanctions targeting the Iranian oil industry are pushing oil prices higher. These sanctions aim to intensify economic pressure on Iran and halt its oil exports, especially to major consumers like China.
    7. Non-oil exports increased by 18.1% in December 2024 compared to December 2023. Also, the value of re-exports also increased by 23.4% during the same period.
    8. The biggest challenge in the way of citizenship is The Heet Union and the challenge of division and fragmentation. Together, they want to work in a spirit of unity and responsibility to serve the Kingdom.
    9. The Saudi government is trying to keep architectural heritage by creating a balance between vision and the importance of heritage. They are emphasizing the important role that architectural storytelling plays in preserving the Kingdom’s cultural heritage while embracing modernity.
    10. The Kingdom’s historical legacy is a symbol of shared values, meanings, and goals for Saudi Arabia. The reference number 966 was another symbol.

    II. Essay Questions

    Answer each question in essay format with supporting evidence from the provided source material.

    1. Discuss the Kingdom of Saudi Arabia’s role in international humanitarian efforts and diplomacy, providing specific examples from the text. How do these efforts contribute to the Kingdom’s image and standing on the global stage?
    2. Analyze the Saudi Vision 2030 plan. What are the key objectives of this plan, and how are they being implemented across different sectors? How does it improve the Saudi brand?
    3. Examine the economic trends and developments highlighted in the text, focusing on both the oil and non-oil sectors. What strategies are being employed to diversify the Saudi economy, and what are the early indicators of their success?
    4. Explore the significance of Saudi Founding Day as a symbol of national identity and cultural heritage. How does the celebration of this day contribute to a sense of unity and pride among Saudi citizens?
    5. Assess the challenges and opportunities facing Saudi Arabia in the current geopolitical landscape. How is the Kingdom navigating these challenges to achieve its strategic objectives, and what role does international cooperation play in this process?

    III. Glossary of Key Terms

    • Vision 2030: Saudi Arabia’s strategic framework to reduce the country’s dependence on oil, diversify its economy, and develop public service sectors such as health, education, infrastructure, recreation, and tourism.
    • Non-Oil Exports: Goods and services exported by Saudi Arabia that do not include crude oil or petroleum products.
    • Humanitarian Aid: Material or logistical assistance provided for humanitarian purposes, typically in response to crises or for long-term development.
    • Diversification: The process of expanding an economy’s production and export base beyond a single commodity, such as oil, to reduce vulnerability to market fluctuations.
    • Foreign Direct Investment (FDI): An investment made by a firm or individual in one country into business interests located in another country.
    • Sanctions: Penalties imposed by one country or group of countries against another, typically for political reasons.
    • WTO (World Trade Organization): An international organization dealing with the rules of trade between nations.
    • Cultural Heritage: The legacy of physical artifacts and intangible attributes of a group or society inherited from past generations, maintained in the present, and bestowed for the benefit of future generations.
    • The Heet Union: Challenge in the way of citizenship.
    • OPEC+: A coalition of oil-producing countries, including OPEC (Organization of the Petroleum Exporting Countries) members and non-OPEC countries like Russia, that coordinate production policies.

    Saudi Arabia: Vision 2030, Global Role, and Transformation

    Okay, here’s a briefing document based on the provided sources, extracting key themes, ideas, and facts, along with relevant quotes:

    Briefing Document: Analysis of “20700.pdf” Excerpts

    Overall Themes:

    • Saudi Arabia’s Vision 2030 & National Day Celebrations: The excerpts highlight the kingdom’s focus on economic diversification, infrastructure development, and promoting national pride through events like the Foundation Day celebrations.
    • Economic Diversification and Growth: There’s a consistent emphasis on moving away from oil dependency, boosting non-oil exports, and improving the investment climate.
    • International Relations and Partnerships: The documents touch upon Saudi Arabia’s role in global humanitarian efforts, its economic cooperation with international organizations, and strengthening bilateral ties with countries like Italy.
    • Regional and International Issues: The document touches on the war in Ukraine and what the Saudis are doing to facilitate a peaceful solution. The Israel – Palestine conflict and Saudis commitment towards peace was also a main theme.
    • Cultural Preservation and Modernization: The document explores how Saudi Arabia is balancing preserving its heritage with embracing modern advancements in various sectors.

    Key Ideas and Facts:

    • Saudi Arabia as a Trusted Government: ” This highlights Saudi Arabia’s high ranking in government trust, attributed to ongoing development efforts.
    • Economic Diversification Success: This indicates a positive trend in non-oil exports. The document also specifies sectors like petrochemicals, building materials, and food products as examples.
    • Saudi Arabia’s Global Role: The kingdom is actively involved in humanitarian aid.
    • Focus on Youth Empowerment: The “النطالقة” program in the Qassim region aims to empower young entrepreneurs. Quotes like “.” emphasize the importance of youth in economic development.
    • Digital Transformation: Efforts to develop digital systems and electronic services in the Qassim region are highlighted to improve efficiency and institutional performance.
    • National Identity and Heritage: The Foundation Day celebrations emphasize national pride and the connection to the kingdom’s history, aligning with Vision 2030.
    • Commitment to Palestine: A commitment to the plight of Palestine and a need for an end to suffering of Gazans is clearly visible.

    Specific Examples and Projects:

    • Al-Ula Conference: The excerpt mentions the Al-Ula conference on emerging markets economies, co-organized by Saudi Arabia and the International Monetary Fund.
    • Qassim Region’s “النطالقة” Program: This initiative focuses on training and empowering young entrepreneurs.
    • King Fahd Medical City: The excerpt describes the advanced kidney dialysis unit at the King Fahd Medical City, highlighting its high standards and comprehensive services.
    • Italian Partnership: Italy and Saudi Arabia are looking to build closer trade and cultural ties. As indicated by the Italian ambassador”

    Economic and Market Trends:

    • Gold Prices and Trade Wars: The document notes fluctuations in gold prices influenced by trade war concerns and tariffs imposed by the U.S.
    • Oil Prices and Sanctions: Rising oil prices are linked to concerns about supply disruptions due to U.S. sanctions on Iran.
    • Decline in Gold Smuggling in February: A note that India is expected to have reduced its gold smuggling by as much as 85%

    Cautionary notes:

    • North West Bank facing ethnic clensing
    • European allies pushing to not surrender to Putin’s advances in the Ukrainian conflict

    Quotes:

    • “إنها شراكة شاملة، تشمل الطاقة والبنية التحتية والدفاع والثقافة.” (Regarding Saudi-Italian partnership – “It’s a comprehensive partnership that includes energy, infrastructure, defense, and culture.”)
    • “…النفط الخام الإيرانية إلى الصفر.” (President Trump wants Iranian crude oil exports to be zero.)
    • “…من شأنه أن يتيح بيع مادة إي 15 على مستوى البلاد.” (Regarding a U.S. Senate bill that would allow the sale of E15 fuel nationwide.)
    • “…أنه هو الأساس في أي حراك تنموي وخطط طموحة لنهضة الدول وعزها ورفعتها.” (Crown Prince Mohammed bin Salman describing Saudi youth are the bedrock of development.)
    • “…لتسوية القضية الفلسطينية.” (Israel’s plans to dominate the land and bring the conflict to a close.)
    • “…أنها مصدر قلق في المنطقة والإرهاب، وأنها…” (Attitude towards Jewish people in the document)

    Conclusion:

    The provided excerpts paint a picture of Saudi Arabia as a nation undergoing significant economic and social transformation, actively engaging on the international stage, and striving to balance tradition with modernization. The emphasis on Vision 2030, youth empowerment, and strategic partnerships underscores the kingdom’s ambitions for the future.

    Saudi Arabia: Vision 2030, Global Role, and Economic Strategy

    FAQ on Themes and Ideas from Provided Sources

    Here are 8 frequently asked questions (FAQs) with thorough answers, capturing the main themes and ideas present in the given sources:

    1. What are the key elements of Saudi Arabia’s Vision 2030, and how are they being implemented across different sectors?

    Vision 2030 emphasizes economic diversification away from oil, improving the quality of life for citizens, and enhancing Saudi Arabia’s global standing. Implementation involves attracting foreign investment, developing infrastructure (particularly in logistics), supporting non-oil sectors (like petrochemicals, manufacturing, and food industries), promoting tourism and cultural heritage, and increasing the competitiveness of Saudi products in international markets. Digital transformation and technology adoption are crucial, alongside developing human capital through education and training programs. The focus is on creating a sustainable and diversified economy while preserving cultural identity.

    2. What is Saudi Arabia’s role in international humanitarian aid and diplomacy, particularly in conflict resolution?

    Saudi Arabia is portrayed as a significant provider of humanitarian aid to countries and populations in need across the globe. It is a key mediator in international conflicts, as evidenced by its efforts to facilitate prisoner exchanges between Russia and Ukraine. The kingdom also plays a role in fostering economic cooperation and strategic partnerships with various nations, reflecting its growing influence on the global stage. Saudi Arabia works towards de-escalation of conflicts, stability in the region, and providing assistance to those affected by crises.

    3. How does Saudi Arabia balance preserving its cultural heritage with embracing modernity and innovation?

    The text highlights efforts to preserve Saudi Arabia’s cultural heritage while embracing modernity. Architectural design integrates traditional elements with modern aesthetics to create culturally rich and functional spaces. Emphasis is placed on architectural storytelling, preservation of heritage, and creation of environments that balance respect for the past with forward-looking development. Initiatives like celebrating Founding Day and supporting artistic expressions of national identity reinforce this balance.

    4. What are the main economic challenges and opportunities currently facing Saudi Arabia, and what strategies are being employed to address them?

    Challenges include dependence on oil revenues, fluctuations in global commodity prices (like gold and oil), and the need to diversify the economy. Opportunities lie in developing non-oil sectors, attracting foreign investment, expanding trade relationships, and leveraging its strategic location. Strategies to address challenges involve increasing competitiveness, promoting sustainable development, developing a robust logistics infrastructure, fostering innovation, and implementing financial reforms. The Kingdom is working towards sustainable economic development by empowering local entrepreneurs, supporting technological advancements, and diversifying energy sources.

    5. How is Saudi Arabia investing in education and human capital development to achieve its long-term goals?

    Saudi Arabia is heavily investing in education and training to create a skilled workforce aligned with Vision 2030. This includes modernizing the education system, attracting investment in private sector educational initiatives, and promoting vocational training. Initiatives like the “Notalqa” program in the Qassim region aim to equip young entrepreneurs with the skills and knowledge needed for success in the modern economy. The strategic goal is to elevate the Saudi education system to be among the top 20 globally, focusing on preparing citizens for future job market demands.

    6. What is Saudi Arabia’s perspective on the Israeli-Palestinian conflict, and what role does it play in addressing the humanitarian crisis in Gaza?

    The text reveals a strong condemnation of Israeli actions in the West Bank and Gaza, especially the displacement of Palestinians from their land. There is strong emphasis on the Palestinian people remaining on their land and an importance of quickly rebuilding Gaza.

    7. What are the growing ties between Saudi Arabia and Italy, and how will those ties be strengthened in the future? Saudi Arabia and Italy are increasingly collaborating on trade, investment, and cultural initiatives. Italy recognizes the great potential of Saudi Arabia and views the nation as a strategic partner to improve cooperation in numerous ways, as well as an increasing trade partner that could surpass previous trade agreements. Future collaboration plans include an expansive partnership between 2025 and 2030 that focuses on political dialogue, economic cooperation, trade and investment, and cultural exchange. Focus will also be placed on art, antiquities, and the study of ancient history.

    8. What challenges are facing global gold and oil markets, and what external factors influence the market in 2025?

    Challenges include global trade wars, economic sanctions, and fluctuating demand. Political instability in regions like Ukraine and the Middle East impact supply chains and investor sentiment. Factors like decisions by OPEC+ regarding production cuts and potential resolutions to ongoing conflicts are crucial. Additionally, US monetary policy, interest rates, and trade policies significantly influence market dynamics.

    Saudi Arabia: Global Leadership, Economic Growth, and National Identity

    Saudi Arabia is committed to strengthening global peace and entrenching dialogue. The Kingdom plays a vital role in the international arena, exemplified by Riyadh becoming a diplomatic hub.

    Key Aspects of Saudi Arabia Highlighted in the Source:

    • Global Leadership & Alliances: Saudi Arabia aims to promote global peace. Saudi Arabia is a center of international stability, fostering strong relationships with major powers while developing bilateral defense relations.
    • Economic Growth & Investment: The nation seeks to attract foreign investments and diversify income sources, moving beyond oil. The Kingdom is the top commercial partner to Italy in the region.
    • Cultural & National Identity: The Kingdom emphasizes preserving customs, values, and heritage. Celebrations such as the Founding Day on February 1727 reinforce national unity.
    • Technological Advancement: The Kingdom is integrating technology and AI to improve government performance and create new opportunities.
    • Humanitarian Efforts: The nation extends a helping hand to countries and people in need, offering aid and relief to those affected by disasters worldwide. The Kingdom seeks to enhance humanitarian responses globally.
    • Commitment to Education: Saudi Arabia aims to develop education within the country to be among the best.
    • Tourism and Development: Saudi Arabia is committed to developing tourism, and has plans for mega projects.
    • Real Estate Registration: The Real Estate General Authority ( عقاراتي ) calls on property owners within the area to expedite the registration of their properties through the Real Estate Registry platform.
    • Non-Oil Exports: Saudi Arabia’s non-oil exports increased by 18.1% in December 2024.
    • Government Transformation: The Saudi government is undergoing a transformation using AI.

    Russia-Ukraine Conflict: Diplomacy, Global Impact, and Oil Production

    The sources mention the conflict between Russia and Ukraine in the context of international relations and Saudi Arabia’s role in seeking peaceful resolutions.

    Key points related to the Ukraine conflict:

    • Mediation and Diplomacy: Saudi Arabia is mentioned as a country where discussions on the Russia-Ukraine war have occurred, aiming to de-escalate the conflict. The Saudi Crown Prince expressed gratitude to the Russian President, Vladimir Putin, for his cordial feelings during their phone call, and for Saudi Arabia’s efforts towards Russia.
    • Global Impact: The conflict in Ukraine impacts the global economy and influences decisions related to oil production.
    • Oil Production: While not directly about the Ukraine conflict, one source notes that potential ceasefire agreements between Russia and Ukraine may alleviate some market concerns, offsetting price increases. OPEC+ is considering further delays to increasing oil production due to weak demand and high output from non-member countries.

    Saudi Arabia’s Day of Foundation: History, Pride, and Celebration

    The sources discuss the celebration of “Day Foundation” in Saudi Arabia, reflecting the Kingdom’s emphasis on its cultural and national identity.

    Key aspects of the “Day Foundation” (يوم التأسيس) discussed in the sources:

    • Historical Significance: The “Day Foundation” commemorates the establishment of the first Saudi state in 1727 by Imam Muhammad bin Saud.
    • National Pride: It’s a national occasion to remember the Kingdom’s long history and heritage. The celebrations underscore the importance of preserving heritage and traditions, connecting the past and present while looking towards the future.
    • Celebrations and Events: Celebrations include various activities that reflect national values. These activities include:
    • Traditional Performances: Showcasing folk dances and music.
    • Historical Exhibitions: Featuring displays and artifacts related to the first Saudi state.
    • Cultural Presentations: Highlighting Saudi culture and heritage.
    • Marches and Parades: Featuring displays of national pride and achievements.
    • Educational Activities: Educational institutions, such as “teach الرياض” (تعليم الرياض), participate in celebrating the “Day Foundation”.
    • Community Involvement: Celebrations involve people of all ages and cultural backgrounds.
    • Promotion of Values: Activities and events are designed to instill values, enhance national pride, and strengthen ties to the Kingdom’s historical roots.
    • Economic Activity: Commemorations such as the “Day of Foundation” stimulate economic activity through festivals and tourism.

    The “Day Foundation” celebrations in Saudi Arabia serve to reinforce national identity, celebrate the Kingdom’s rich history, and promote unity and pride among its citizens.

    The Arabic Language: Culture, Heritage, and Innovation

    The Arabic language and its significance are highlighted in the sources in several ways:

    • Preservation of Arabic Content: King Salman Global Academy for Arabic Language supports innovation in the Arabic language. One of its initiatives is “Business Accelerator” (مسرعة الأعمال), which aims to enrich Arabic content, develop innovative solutions, and foster creativity in the linguistic economy. This initiative aligns with Saudi Arabia’s Vision 2030.
    • Emphasis on Cultural Identity: The Arabic language is integral to Saudi Arabia’s cultural and national identity, and the Kingdom emphasizes preserving customs, values, and heritage.
    • Poetry: Classical Arabic poetry is used to celebrate the founding of Saudi Arabia, and the legacy and values of its founder, King Abdulaziz. The poetry is seen to reflect and preserve Saudi heritage and values. The source notes that this poetry is meant to instill values, enhance national pride and strengthen ties to historical roots.
    • Linguistic beauty: A source speaks to the beauty and eloquence of the language.
    • The Holy Quran: One source references the importance of the “Kabah of Revelation”, possibly the holy Quran.
    • Arabic Language Day: One source mentions that ” but it is unclear if the holiday is specifically about the Arabic Language.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Visual FoxPro One-To-Many Form

    Visual FoxPro One-To-Many Form

    User Interface Creation without Programming

    Visual FoxPro provides powerful controls that you add with the Form Designer which gives you interfaces that require little or no coding. For example, having the grid control linked to one of your tables makes developing one-to-many forms easy. Just drag a table onto a form to create the grid control. For consistency with other applications you can also create tabbed dialog boxes or your own builder interfaces with the page frame control.

    Creating a One-to-Many Form

    Visual FoxPro makes it easy to set up forms to display records from related tables. Using the Project Manager Window and the Form Designer you can just “drag and drop” the fields you need to set up a form.

    One-to-many forms display data from related tables.

    Try setting up a one-to-many form using two related tables, such as the Customers and Orders tables from Testdata.dbc.

    After four steps, one-to-many forms are…

    …ready to run.

    Specify Tables and Views for Your Form in the Data Environment   You can use the data environment for your form or a report to specify the tables or views used by your form. After you have added the tables and views that have the records you want to display in your form, you can drag the fields to the Form Designer.

    Create Grids by Selecting Multiple Fields   You can select multiple fields and drag them to a form to create a grid object. If you select multiple fields and drag them with the right mouse button, you can choose between a grid or multiple controls. You can also click the Fields item in a table and drag it onto a form to create a grid incorporating all fields in the table. If you right-click a single field and drag it onto a form, you can create a different object class than the one that is assigned as the default object class.

    Giving Your Form a Professional Look

    Be creative and customize your forms with layout, colors, shapes, and graphics.

    Align Controls Exactly   Use the Layout toolbar to quickly line up controls and space them evenly on the form.

    Change the Background Color   Use the Color Palette toolbar.

    Add Graphics and Pictures   Use the Line, Shape, and Image buttons on the Form Controls toolbar.

    Control Display and Data Entry in a Combo Box   You can set the Format Property and InputMask Property for a Combo Box control.

    Remove a Border on a Combo Box or Spinner   You can use the BorderStyle Property to remove a border from the control. For example, if you are using combo box or spinner controls in a grid, you can clean up the display by removing the extra lines the border adds to the grid.

    Use Current Windows Colors for Form Colors   You can set an additional option on the ColorSource Property that lets you set the form colors based on the current Windows color scheme.

    Setting the Properties on Controls

    You can enhance your user interface with the control properties in Visual FoxPro. Using the Properties Window you can see and set the properties associated with each object in your form to determine how a form control looks and behaves.

    Use Data Binding with ActiveX Controls   To bind data to ActiveX controls you can use the ControlSource Property (if the control supports it) in the Properties window to specify a field or variable to which the control is bound.

    Control Navigation in Page Frames   By setting the tab order on your page frame you can control the order that pages are displayed. This also adds the ability to navigate to the different pages in a page frame with the right and left arrow keys.

    Control Item Selection in List Box and Combo Box Controls   To collect the actual value of the selected item in the control, you can set the BoundTo Property to True. To collect the item’s list index number, set the BoundTo property to False.

    Select More Than 60 Items in a List Box   You can now select an unlimited number of multiple items in a ListBox Control.

    Create Hidden Properties and Methods   You can set accessibility properties on the properties and methods you create to Public, Protected, or Hidden. To change the accessibility of properties and methods, use the Members Tab, Class Info Dialog Box.

    For more information aboutSee
    Creating formsCreating Forms
    Using form wizardsHelp by pressing F1 from the wizard.
    Using buildersHelp by pressing F1 from the builder.
    Using controlsHelp by searching on the control name or Using Controls
    Using forms in applicationsCreating Forms

    Customizing Your Form Designer

    To make your work easier, you can customize the Form Designer to match your work style and needs.

    Save Changes Automatically   You can set options so Visual FoxPro saves your forms automatically when you quit the Form Designer. In the Forms Tab, Options Dialog Box you can choose the option to Save Changes Before Running Form. If you select this option, you skip the confirmation dialog box, and the changes you made to the current form are saved automatically.

    Change the Font in the Properties Window   You can choose one of three font settings from the Properties window shortcut menu.

    Use the Keyboard in the Property Window   The Properties window supports keyboard navigation for scrolling through the hierarchy of objects, controls, and tab orders. Use CTRL+PGUP and CTRL+PGDN to move up and down through the list.

    For more information aboutSee
    The Form Designer and form controlsForm Designer
    Creating formsCreating Forms

    Add Controls from a Class Library

    When you need to add controls to a form so you can navigate through the records in it, you can choose from a library of controls, drag in the controls you need, and run the form. It’s that simple.

    Adding VCR Controls to a One-to-Many Form

    You can use the following example to see how easy it is to streamline your work using controls from class libraries.

    Store complicated control sets in a class library for reuse.

    Add VCR Controls to a Form   By opening the sample button class library (Buttons.vcx) supplied with Visual FoxPro, you can easily add a set of VCR-style navigation control buttons to your form. The sample libraries are in the Visual FoxPro …\Samples\Classes directory.

    A class for VCR controls can be added to your toolbar.

    Controls are easy to add to your form.

    Set the SkipTable Property   Because this is a one-to-many form, you need to specify that the next record in the main table is selected when you choose the Next button. To do this, open the Properties Window and set the SkipTable property so that it refers to the main table.

    The SkipTable property adds the final functionality to your control.

    Expanding Your Class Libraries

    You don’t have to wait for someone else to sell you their control classes and libraries; you can make your own.

    Create Your Own Classes   You can create your own controls and save them in class libraries. You can start with standard Visual FoxPro classes and customize them to create your own version, or you can create your own classes.

    Point to Classes in Compiled Applications   You can use the SET CLASSLIB Command to point to a class included in a compiled application.

    Add and Keep Classes on the Forms Control Toolbar   When you add a class to the Forms Control toolbar, the class remains on the toolbar until you click the View Classes button again and select Standard.

    View Detailed Information about Your Classes   Using the Class Browser Window, you can view the entire hierarchy of classes and objects in a class library or form.

    Create Your Own Subclasses of ActiveX Controls   You can create subclasses of all the ActiveX controls shipped with Visual FoxPro.

    For more information aboutSee
    Using the Class DesignerHelp by pressing F1 from the Class Designer.
    Setting propertiesCreating Forms
    Creating classes and using class librariesObject-Oriented Programming

    Creating a Menu Bar and Shortcut Menus

    You can use the Menu and Shortcut Designers to add a menu bar and menus to forms in your application. With the Menu and Shortcut Designers you can create shortcut menus and menus for SDI forms.

    When you create a menu, you have the option of adding a menu to the menu bar or creating a shortcut menu. The Shortcut Designer presents the familiar Menu Designer interface, but allows you to design shortcut menus rather than menu bars and menus.

    After you have generated your shortcut menu, you can attach it to any control by running the menu in the control’s RightClick Event.

    Creating Reports

    When it’s time to print out important data, you don’t want to spend a lot of time formatting reports. That’s why Visual FoxPro provides report wizards to streamline the reporting process. With report wizards you can select the data you want from your tables and views, and present it in your choice of professional looking formats.

    It’s easy to combine information from two different tables in a one-to-many report.

    Using the Visual FoxPro report design features, you can:

    Use the Preview Button   The last screen of a report wizard has a Preview button so you can quickly see if your report is the way you like it. If not, use the Back button in the wizard and make the necessary adjustments.

    Use Quick Report for Fast Results   If you’re setting up your own report in the Report Designer, choose Quick Report from the Report menu to add selected fields from a table to a report.

    Use Query or View Results in a Report   Want to print out the results of a query? Choose the Report option in the Query Destination Dialog Box. You can send the query results to a pre-formatted report or send the query to a report wizard.

    Create a One-To-Many Report   The One-To-Many Report Wizard makes it easy to set up a report that shows fields from two tables joined in a one-to-many relationship. For example, try using the wizard to create a report from two related tables in Testdata.dbc.

    Report Wizards retrieve records and format the report layout.

    Use Other Report Wizards   Try using the other report wizards. For simple one-table reports or summary reports with totals, choose Report Wizard.

    Use the Report Designer   If you want to customize your wizard-generated report further, just open it in the Report Designer and add the enhancements you need.

    For more information aboutSee
    Report WizardsHelp by pressing F1 from the wizard.
    Report DesignerAdding Reports and Labels

    Providing a Help System

    You can add value to your application by creating a Help system. Using the Help compiler included with Visual FoxPro, you can turn your document files into a graphical Help system to distribute with your applications. If you prefer to use a Visual FoxPro table to store your help information, you can create .DBF-style help. You can find a sample, Ttrade.dbf, in the …\Samples\Taztrade\Help directory. For more information about creating WinHelp and HTML Help, see Creating Graphical Help or Creating .DBF-Style Help.

    See Also
    Overview of Visual FoxPro Features | Application Management with the Project Manager | Rapid Application Creation | Application Customization with Designers | Form Designer. | Creating Forms

    Rapid Application Creation

    You can develop applications rapidly with help from Visual FoxPro wizards, builders, toolbars, and designers. In addition, with the Visual FoxPro object and event model, you can create prototypes and implement applications quickly.

    Getting Quick Results with Wizards and Builders

    Using wizards and builders, you can have any or all of the components of your application completed in a matter of minutes. In addition, if any component you create with a wizard or builder does not fully meet your needs, you can alter the component using a designer.

    Creating an Application Now

    For quick results, wizards are the answer. They provide step-by-step prompts for common tasks you perform in Visual FoxPro. For example, the Table Wizard guides you through the process of creating a table, the Form Wizard creates a form, and the Web Publishing Wizard helps you create a Web page that searches your tables.

    Take a look at what you can do:

    • Develop Instant Applications   Using the Application Wizard, you can quickly create an application by using your tables and forms, or by using a sample set of application components.
    • Create an Internet Web Page   You can create a Web page that provides Web surfers with search and retrieval access to your tables.
    • Add Page Frames to Forms   If you choose more fields than can fit on the form, you can add a page frame to display the additional fields on additional pages.
    • Populate Pivot Tables through ODBC   The PivotTable Wizard uses the Visual FoxPro ODBC driver.
    • Show Nulls in a Cross-Tab Report   The Cross-Tab Wizard now supports displaying null values.
    • Move Your Data to a Back-End Server   You can move Visual FoxPro databases, tables, and views from your system to a back-end server with the SQL Server Upsizing Wizard.

    If you are in a hurry, use the table in Wizards Overview to select a wizard, and begin creating your application or component.

    If you do not want to experiment with your own data and application components, use the samples provided with Visual FoxPro. You can work in the sample database Testdata.dbc, located in the …\Samples\Data directory.

    Taking Shortcuts with Toolbars

    Like other Microsoft applications, Visual FoxPro includes toolbars containing buttons that represent common tasks you perform or objects you use frequently. To perform a specific task or use a particular object, choose the appropriate button.

    You can customize the toolbars that come with Visual FoxPro. You can also define custom toolbars for the applications you write. For more information about toolbars, see Customizing the Visual FoxPro Environment or Designing Menus and Toolbars.

    Building Controls Quickly

    Just as wizards can help to create reports and forms, builders are visual tools that help you design controls to your specifications. Builders can save you time when you are setting up many forms or prototyping applications. All you do is start the builder and answer a series of questions. Using your answers, the builder sets properties for the control you are adding.

    Add a Combo Box to Your Form   Suppose you want to enhance a simple form you created by adding the ability to select field values from a list, rather than moving through all the records with VCR buttons and viewing the values in a text box. Just replace the current text box with a combo box and use a builder to set the properties.

    Modify Existing Controls with a Builder   If you want to change an existing control, you can select the control and use a builder to help you set the control’s properties.

    For example, the Combo Box Builder is a tabbed dialog box that helps you design a combo box on a form. A combo box gives you the same view of a value as a text box control, but allows you to choose from a list like a list box control. With this builder you can set properties of a combo box. As you set each property, the control on the form changes to match the settings.

    The Builder Lock button and Combo Box button

    The tabs in the Combo Box Builder dialog box

    Build a Grid Control   To display a small spreadsheet-like view of your data, you can use a grid control. Even if you aren’t familiar with all the properties of a grid control, you can still take advantage of their functionality using a builder. The builder helps you choose the fields for your grid, select a style and layout, and establish relationships between tables bound to the grid control. As you make changes in the builder, they are reflected in the Form Designer.

    Visual FoxPro offers a wide selection of builders.

    ToUse this builder
    Format a group of controlsAutoFormat Builder
    Build a combo boxCombo Box Builder
    Build a command groupCommand Group Builder
    Build an edit boxEdit Box Builder
    Create and edit expressionsExpression Builder
    Build a formForm Builder
    Build a gridGrid Builder
    Build a list boxList Box Builder
    Build an option groupOption Group Builder
    Ensure referential integrityReferential Integrity Builder
    Build a text boxText Box Builder

    The Advantages of More Power

    Visual FoxPro is much more powerful than its predecessors. Object-oriented programming speeds up application development through features such as subclassing. The Visual FoxPro event model eliminates the need to use foundation READ or write event handlers. Optimizing your system settings and implementing Rushmore technology improves the performance of Visual FoxPro.

    Harnessing the Power of Object-Oriented Programming

    Using the Visual FoxPro object model, you can employ all the features of object-oriented programming including inheritance, encapsulation, polymorphism, and subclassing. For details about object-oriented programming with Visual FoxPro, see Object-Oriented Programming.

    You can speed up application development by using classes. For example, you can create a basic form, toolbar, or page frame by using the form, toolbar, or page frame base class provided with Visual FoxPro.

    Then you can reuse your code and forms by subclassing the classes you defined. For example, you can subclass the Form base class to create a custom class that automatically gives all the forms in your application the look and feel you want.

    The Visual FoxPro class model gives you extensive control over the objects in your application. You have as much control of the appearance and behavior of objects on forms at run time as you do in the Form Designer at design time.

    With Visual FoxPro, you can create classes visually with the Class Designer or programmatically with the DEFINE CLASS Command. For more information, see Object-Oriented Programming.

    Handling Events with Ease

    With Visual FoxPro you can create fully event-driven applications. You can access all standard Windows events such as mouse movements that permit dragging or dropping objects. You can control events visually through the Properties window or programmatically through the Visual FoxPro language. For more information about the event model, see Understanding the Event Model.

    Testing and Debugging Immediately

    Using the debug environment you can test and debug your code at the same time you design each component of your application and write the code. The Visual FoxPro language has been enhanced to include support for debugging capabilities, collection properties, checking the lock status of files and the current record, Value tips, and more. Also, the debugging tools work independently from the main application and do not interfere with the interface you are trying to test.

    Test as You Design   The enhanced Visual FoxPro development environment gives you more power to test your component design and code. For example, if you are designing a form, you can click the Run button to run the code. If you want to change something, just click the Design button and make your changes.

    Catch Syntax Errors Early   The editor now features color-coded editing: you can specify colors for syntax, normal text, variables, comments, and more in the Edit Properties Dialog Box. If you mistype a command or keyword, you’ll know right away because it’s the wrong color.

    Debug with Power

    You can debug and monitor your application components more easily in this version of Visual FoxPro using the Debugger Window.

    • View Properties of an Object   In the debugger you can view the elements within a collection or array using the Watch Window to show a hierarchical display of an object’s properties.
    • Trace the Execution Process of Your Code   In the Trace Window you can see each line of code as it executes and check the values of all variables, properties, and environment settings.
    • Control Execution with Breakpoints   Using breakpoints you can control when execution stops using one of four types of breakpoints. You can stop at a particular line, when a certain value changes, if a condition evaluates to true, or if a condition for a certain line is true.
    • Set Asserts and Display Assert Messages   You can use the ASSERT Command to specify conditions that verify that the code is running properly. When an error occurs, the Debug Output Output Window records the message.
    • Check the Current Value of a Variable   To quickly check values you can place the cursor over a variable in the Trace Window to display a Value Tip.
    • Watch and Change Values   In the Watch Window and Locals Window you can change values for properties or variables while you run the code.
    • Display Output from Message Requests   In the Debug Output Window you can conveniently display interactive or coded information requests in a separate window from the active window or screen.
    • Use a Coverage Log File   In the Debugger Window you can use the coverage option to log the execution information about your code such as how long the line took to execute, the line number, and more.

    For more information about testing and debugging your application, see Testing and Debugging Applications.

    Optimizing Your System

    Visual FoxPro brings you improved performance across all these product areas:

    • Engine
    • Form/Object
    • OLE
    • Client/Server
    • Wizards/Builders
    • Language

    You can also improve performance by enhancing startup speed and optimizing SET commands. For more information about optimizing your system, see Optimizing Your System.

    Optimizing Applications with Rushmore Technology

    You can dramatically improve the performance of queries by using Rushmore technology. Rushmore is an exclusive technology for rapidly selecting sets of records from tables. It can reduce query response times from hours or minutes to seconds. For more information about using the Rushmore technology, see Optimizing Applications.

    Interaction with Other Applications

    With Visual FoxPro you can share data with other applications such as Microsoft Excel and Word, use objects from other applications, and control other applications using Automation.

    Sharing Data with Other Applications

    You can take advantage of all the software tools on your desktop with Visual FoxPro.

    Use Your FoxPro Data in Other Applications   Sharing data with other applications is easy – for example, you can share Visual FoxPro data with Microsoft Excel by using the PivotTable Wizard, or with Microsoft Word by using the Mail Merge Wizard.

    Display or Store Objects from Other Applications   You can include objects from another application by linking or embedding them in tables or in forms. Then you can edit the objects directly, without leaving Visual FoxPro.

    Editing included objects is easy in Visual FoxPro.

    Importing and Exporting Data

    You can import and export data between Visual FoxPro and many other applications using a variety of file formats: text, spreadsheets, and tables, to name a few. The data can be appended to or copied from existing tables easily. The Import Wizard helps you make decisions about the structure you want the data to take in Visual FoxPro.

    For more information, see Importing and Exporting Data.

    Integrating with Automation

    With Visual FoxPro you have the power to fully integrate your application with other applications.

    Control Other Applications   You can extend the power of your application by controlling other applications programmatically. For example, you can direct Microsoft Excel to perform some calculations, instruct Microsoft Graph to chart the results, and then store the chart in a General field of a Visual FoxPro table, all from Visual FoxPro code. Or, you can add ActiveX controls that you or someone else developed.

    Optimize Automation Requests   You can determine how much time your system uses for requests and how long it takes for messages to appear for your user. For example, you can control how much time your system spends retrying Automation requests before displaying a “server busy” message.

    You can also control the number of milliseconds that pass during user input, such as using the mouse or keyboard while an Automation request is pending, and a “busy” message appearing.

    Control Visual FoxPro from Other Applications   Using Visual FoxPro as an Automation server, you can create references to Visual FoxPro objects, execute Visual FoxPro commands, and run Visual FoxPro programs from other applications.

    For more information on Automation, see Adding OLE.

    Creating Active Documents

    Active Documents are non-HTML documents viewed in a web browser such as Microsoft Internet Explorer. You can now create Active Document applications in Visual FoxPro. A Visual FoxPro Active Document is an application (.app) created from a Visual FoxPro project whose main file is set to a class based on the ActiveDoc base class.

    Use the Project Manager and the Class Designer to create your Active Doc application. For more information on creating Visual FoxPro Active Documents, see Interoperability and the Internet. See ActiveDoc Object for details on its properties events and methods.

    Client/Server Solution Development

    You can use Visual FoxPro as a front end for developing robust client/server applications. Visual FoxPro combines the higher-level support of updatable views of server data with direct access to native server syntax using SQL pass-through. This gives you a solid foundation on which to build versatile client/server solutions. A full-featured data dictionary, local and remote views, null support, transactions, international application support, and access to any ODBC data source all contribute to the features you need for client/server development.

    Increasing Client/Server Performance

    You can increase the performance of your client/server application using the properties and ODBC driver provided in Visual FoxPro.

    Controlling Performance with Properties

    You can increase performance by using the following cursor and remote view properties:

    • CompareMemo
    • FetchAsNeeded
    • Prepared

    You can display these properties using the DBGETPROP( ) Function and CURSORGETPROP( ) Function functions, or set the properties with the DBSETPROP( ) Function and CURSORSETPROP( ) Function functions.

    Include or Exclude Memo Fields in Update Detection   You can use the CompareMemo property to control when memo fields are used to detect update conflicts. This view and cursor property determines whether memo fields (types M or G) are included in the update WHERE clause. The default setting, True (.T.), means that memo fields are included in the WHERE clause. If you set this property to False (.F.), memo fields don’t participate in the update WHERE clause, regardless of the settings of UpdateType.

    Optimistic conflict detection on Memo fields is disabled when CompareMemo is set to False (.F.). For conflict detection on memo values, CompareMemo should be set to True (.T.).

    Fine Tune Record Fetching   Use the FetchAsNeeded property to specify if all rows are fetched progressively, or only those within the row set determined by the FetchSize property. If you want to fetch all of the rows in the result set using the Visual FoxPro idle loop, use the default setting, False (.F.). If you want to fetch only when the user scrolls beyond the row set determined by the FetchSize property, set FetchAsNeeded to True (.T.) to fetch the next row set.

    Speed Up Re-query Operations on Parameterized Views   Using the Prepared property, you can set whether the query for the view is prepared before it is executed. If you set this property to True (.T.), Visual FoxPro sends a request to the ODBC driver to prepare or compile the SQL query that defines the view. If the ODBC driver for your back-end data source supports the use of prepared statements, subsequent re-queries on the open view are executed faster.

    Using ODBC for Quick Access to Visual FoxPro Data

    The Visual FoxPro ODBC Driver provides quick access to Visual FoxPro data. End users and developers of many applications, including Microsoft Access, Microsoft Excel, Visual C++, and Visual Basic, can use this driver to retrieve, manipulate and update Visual FoxPro data. For more information about the Visual FoxPro ODBC Driver, see the Drvvfp.hlp file.

    Defining Rules with the Data Dictionary

    Visual FoxPro databases (.dbc files) provide a data dictionary that allows you to add rules, views, triggers, persistent relationships, and connections to every table in a database.

    Within a database you can define:

    • Field-level or record-level rules that Visual FoxPro enforces wherever the table is used in an application.
    • Primary and candidate index keys.
    • Local and remote views.
    • Triggers.
    • Persistent relationships between database tables.
    • Connections to remote data sources.
    • Stored procedures.
    • Default values on fields.
    • Long table and field names.

    In addition, you can enforce referential integrity for every persistent relationship by using the Referential Integrity Builder to define rules for inserts, updates, and deletes.

    Visual FoxPro also supports null values in tables, greatly improving compatibility and connectivity with other data sources such as Microsoft Access, Visual Basic, and SQL-based servers. For details about null values, search for “null” and “null values”.

    Each Visual FoxPro database is completely user-extensible, with access through language enhancements and the visual designers. For more information about databases and data dictionaries, see Creating Databases.

    View Local, Remote, and Offline Data   You can design and test a client/server application on your local computer using data from remote, local, or multiple-table heterogeneous views. Local views use tables on your local computer rather than tables on a remote server, and multiple table views use related data from separate tables. You can create parameterized views to minimize the amount of data you download from the server, take the data on the road, or update remote data from your Visual FoxPro application. For more information about views see Creating Views.

    Manage Shared Access with Transactions   You can design your application to provide shared access to data. Shared access involves sharing data among users and restricting access when necessary. Transactions and buffering — pessimistic or optimistic, record-level or table-level — mean less programming for you. Built-in batch processing and detailed control over handling update conflicts simplifies updating data in a multiuser environment. For details about designing your application for shared access, see Programming for Shared Access.

    Develop International Applications   Visual FoxPro provides several areas of support for developing international applications. For example, Visual FoxPro supports several code pages. The code pages for Greek and Russian are supported on MS-DOS, Microsoft Windows, and Macintosh platforms. Visual FoxPro also supports double-byte character sets for languages such as Japanese, Korean, Traditional Chinese, and Simplified Chinese. In addition, Visual FoxPro supports collation sequences for languages such as Japanese, German, Traditional Chinese, and Icelandic. For more information about international applications, see Developing International Applications.

    Implement a Client/Server Application   In addition to using views for client/server development, you can send any native server syntax you want directly to a server with Visual FoxPro SQL pass-through functions. These functions permit additional server access and control beyond the capability of views. For details about SQL pass-through see Implementing a Client/Server Application.

    After designing your application locally, you can upsize and implement it against a back-end data source. Upsizing applies the benefits of client/server architecture to the local application and allows you to create a remote server database with the same table structure and data as the original Visual FoxPro tables. When you upsize, you choose which tables move to the server and which remain locally for more immediate access. For details about upsizing see Upsizing Visual FoxPro Databases.

    Visual FoxPro and XML

    Extensible Markup Language (XML) is the standard language for describing and delivering data on the Web, just as Hypertext Markup Language (HTML) is the standard language for creating and displaying Web pages. XML uses tags and attributes to delimit pieces of data, and leaves the interpretation of the data completely to the application that reads it. For more details, see XML Functions.

    To make it possible for you to more easily implement data exchange via XML, Visual FoxPro provides new functions and functionality in the following functions:

    • CURSORTOXML( )   Converts a Visual FoxPro cursor into XML.
    • XMLUPDATEGRAM( )   Creates an XML UpdateGram from changes made to a buffered table or cursor.
    • XMLTOCURSOR( )   Converts XML data to a Visual FoxPro cursor or table.

    Miscellaneous XBase Features

    Visual FoxPro includes a number of new and improved XBase features, those written in the Visual FoxPro language itself. These include new tools such as the Task List Manager, Object Browser, IntelliSense Manager, Accessibility Browser, Automated Test Harness and Web Services wizard. These are described in more detail in other What’s New topics.

    In addition to the above-mentioned features, Visual FoxPro contains a wealth of other XBase improvements.

    • New Foundation Classes have been added for use with Microsoft Agent, Regular Expressions, Cryptography, Enhanced File Open dialog boxes, Windows 2000 Logo information, and Web Services.
    • The SQL Server Upsizing wizard contains a number of new improvements.
    • New Solution samples have been added to better illustrate some of the new Visual FoxPro features and foundation classes.
    • A new set of COM+ Service samples show how you can use Visual FoxPro servers with COM+ Services such as Transactions, Queued Components, COM+ Events and Compensating Resource Managers. Many of these samples use new Visual FoxPro server enhancements.
    • GENMENU has been updated to support new image support for menus. A new directive (#IMAGEPATHS) has been added to control if full paths are generated for menu images.

    Visual FoxPro OLE DB Provider

    The Visual FoxPro OLE DB Provider makes it possible for application developers to access Visual FoxPro data from other languages and applications, as well as from Visual FoxPro when appropriate. The Visual FoxPro provider exposes OLE DB interfaces to consumers wanting access to data on one or more Visual FoxPro databases. You can use it as part of an OLE DB consumer for Visual FoxPro databases.

    The Visual FoxPro OLE DB Provider supports new Visual FoxPro features, such as database container (DBC) events, access to stored procedures, and the ability to create, modify, and delete functions and procedures in the DBC stored procedure module.

    In the Visual FoxPro OLE DB Provider, you will find an improved threading model for better scalability and all the functionality of the Visual FoxPro ODBC driver of earlier versions of FoxPro.

    Behavior Changes since the Previous Version

    This section describes behavioral characteristics of Visual FoxPro that differ from those of the previous version. It is possible that these changes affect existing code.

    • _SCREEN and _VFP coordinate properties (Top, Left, Height, Width) have been changed to better distinguish between the two windows they represent. The _VFP coordinates represent the entire Visual FoxPro application window (including menu and status bars). The _SCREEN coordinates represent the desktop area (for example, the window to which ? output is directed).
    • For performance reasons, the CreateObject( ) function no longer adds a sequential number to the value for a dynamically created Name property. This applies to class definitions in .PRG files that do not have an explicitly set Name property and base classes.
    • Because of new support for IntelliSense and COM server typing (for example, LOCAL cName AS string), the use of a variables list separated by spaces only (for example, LOCAL x y z) is no longer allowed. You must separate variables with commas (for example, LOCAL x, y, z).
    • The Session class now hides intrinsic properties, methods, and events in the generated type library for an OLEPUBLIC subclass. Additionally, when using a private data session with a Session object, the default setting for SET TALK, SET EXCLUSIVE, SET SAFETY is now OFF.
    • The VERSION( ) format has changed. The Build number is now the last set of digits. This also might affect usage of the AGETFILEVERSION() function in your code.
    • Some of the values of HOME([n]) have changed. Some of these changes only apply to an installation of Visual Studio. The location of the Samples and Graphics folders is now under the Visual FoxPro root directory.
    • The new default location to save files has been changed for compliance with Windows 2000 Logo guidelines. You can view (and change) this location from the Options dialog box (File Locations tab).
    • The format for menus (MNX file) has changed to include new Picture support.
    • The format for a database (DBC) file will be altered if DBC Events is enabled. This will render the DBC incompatible with prior versions of Visual FoxPro and the ODBC driver. You can restore backward compatibility by disabling DBC events for the DBC. The Visual FoxPro OLE DB provider does support DBC Events.
    • The Command window contents are now persisted between sessions of Visual FoxPro. The contents are stored in a file named _command.prg.
    • The resource file (for example, FOXUSER) is now opened shared, so you can run multiple instances of Visual FoxPro using the same FOXUSER file. As in prior versions, you can set the resource file from the Options dialog box.
    • The Visual FoxPro run-time libraries (for example, VFP7T.DLL) are no longer installed in the WinSys directory. Additionally, resource files for other languages are now installed with the English product.
    • The Properties window stays open when it is set as Dockable, even if the current form/class designer is closed.
    • Old FoxBASE+ support for FOXGRAPH, FOXVIEW, FOXGEN, FOXCODE, CENTRAL, and ASSIST is no longer supported.
    • The Windows Explorer shell open functionality for known Visual FoxPro file types now launches a new instance of Visual FoxPro. Additionally, Program and Query files support both Open and Run support. The default for Program files is now Open instead of Run as in previous versions.
    • The Class/Form Designer surface grid now displays in actual grid coordinates instead of the behavior of previous versions of Visual FoxPro, which was to display in 2x actual setting.
    • Grid column headers now allow for display of keyboard shortcuts. This is for display only, so developers must write code to handle the shortcut action.
    • Search path for #INCLUDES has been extended for PRGs, SCXs and VCXs.
    • The format of the event-tracking log generated using the SET EVENTTRACKING command now includes a TimeStamp column.
    • The _DBLCLICK system variable no longer controls incremental search duration for controls such as list boxes. Now this is handled by a new system variable called _INCSEEK.
    • A startup application (for example, VFP7Strt.app) no longer ships with Visual FoxPro.
    • The nStartPos parameter for ASCAN() will only produce an error if a value of 0 is passed. Values passed which are larger than the length of the array will return 0.
    • In previous versions, CREATE TABLE ... NAME LongTableName substituted spaces with underscores (“_”) for the LongTableName when called programmatically. This would not occur when specified in the Table Designer. In this version, spaces are now preserved, which is now consistent with the behavior of the Table Designer.

    Feature Changes since the Previous Version of Visual FoxPro

    The following features from the previous version of Visual FoxPro have been removed from the product:

    • The Spell Checker is no longer included with the product.
    • The Setup wizard is no longer included with the product. A Microsoft Installer based deployment tool will be available. For details, see Distributing Applications.
    • The Graph runtime is no longer included, because it was primarily for distribution with the Setup wizard.
    • The Run ActiveDoc menu item is no longer in the product, but the program is still available and can be called from the Do menu.
    • Several of the MSDN menu items have been removed from the Help menu. Online documentation for the product is available in a stand-alone help file as well as in the MSDN Library. Additionally, the Microsoft on the Web submenu has been replaced with a single Visual FoxPro on the Web menu item.
    • The Calendar, Outline, and FoxHWnd controls no longer ship with Visual FoxPro.
    • The Visual FoxPro ODBC Driver no longer ships with Visual FoxPro. This is available from the Visual FoxPro Web site (http://msdn.microsoft.com/vfoxpro/). The Visual FoxPro OLE DB Provider is the preferred solution for clients accessing Visual FoxPro data remotely.

    Classes and Objects: The Building Blocks of Applications

    Classes and objects are closely related, but they are not the same. A class contains information about how an object should look and behave. A class is the blueprint or schematic of an object. The electrical schematic and design layout of a telephone, for example, would approximate a class. The object, or an instance of the class, would be a telephone.

    Objects Have Properties

    An object has certain properties, or attributes. For example, a phone is a certain color and size. When you put a phone in your office, it has a certain position on your desk. The receiver can be on or off the hook.

    Objects you create in Visual FoxPro also have properties that are determined by the class the object is based on. These properties can be set at design time or at run time.

    For example, some of the properties that a check box can have are listed in the following table:

    PropertyDescription
    CaptionThe descriptive text beside the check box.
    EnabledSpecifies whether a user can choose the check box.
    ForeColorThe color of the caption text.
    LeftThe position of the left side of the check box.
    MousePointerHow the mouse pointer looks when over the check box.
    TopThe position of the top of the check box.
    VisibleSpecifies whether the check box is visible.

    Objects Have Associated Events and Methods

    Each object recognizes and can respond to certain actions called events. An event is a specific and predetermined activity, initiated by either a user or the system. Events, in most cases, are generated by user interaction. For example, with a phone, an event is triggered when a user takes the receiver off the hook. Events are also triggered when the user presses the buttons to make a call.

    In Visual FoxPro, user actions that trigger events include clicks, mouse moves, and key presses. Initializing an object and encountering a line of code that causes an error are system-initiated events.

    Methods are procedures that are associated with an object. Methods are different from normal Visual FoxPro procedures: methods are inextricably bound with an object and are called differently than normal Visual FoxPro procedures are called.

    Events can have methods associated with them. For example, if you write method code for the Click event, that code is executed when the Click event occurs. Methods can also exist independently of any events. These methods must be explicitly called in code.

    The event set, while extensive, is fixed. You can’t create new events. The method set, however, is infinitely extendible.

    The following table lists some of the events associated with a check box:

    EventDescription
    ClickUser clicks the check box.
    GotFocusUser selects the check box by clicking it or tabbing to it.
    LostFocusUser selects another control.

    The following table lists some of the methods associated with a check box:

    MethodDescription
    RefreshThe value of the check box is updated to reflect any changes that may have occurred to the underlying data source.
    SetFocusThe focus is set to the check box just as though the user had pressed the TAB key until the check box was selected.

    Classes in Visual FoxPro

    All of the properties, events, and methods for an object are specified in the class definition. In addition, classes have the following characteristics that make them especially useful for creating reusable, easily maintained code:

    • Encapsulation
    • Subclasses
    • Inheritance

    Hiding Unnecessary Complexity

    When you include a phone in your office, you probably don’t care how the phone internally receives a call, initiates or terminates connections to electronic switchboards, or translates key presses into electronic signals. All you need to know is that you can lift the receiver, dial the appropriate numbers, and talk to the person you want to talk to. The complexity of making that connection is hidden. The benefit of being able to ignore the inner details of an object so you can focus on the aspects of the object you need to use is called abstraction.

    Encapsulation, which involves packaging method and property code together in an object, contributes to abstraction. For example, the properties that determine the items in a list box and the code that executes when you choose an item in the list can be encapsulated in a single control that you add to a form.

    Leveraging the Power of Existing Classes

    A subclass can have all the functionality of an existing class, plus any additional controls or functionality you want to give it. If your class is a basic telephone, you can have subclasses that have all the functionality of the original telephone and any specialized features you want to give them.

    Subclassing is one way to decrease the amount of code you have to write. Start with the definition of an object that is close to what you want, and customize it.

    Streamlining Code Maintenance

    With inheritance, if you make a change to a class, that change is reflected in all subclasses based on the class. This automatic update saves you time and effort. For example, if a phone manufacturer wanted to change from dial to push-button style phones, it would save a lot of work to be able to make the change to the master schematic and have all previously manufactured phones based on that master schematic automatically inherit this new feature, rather than having to add the new feature to all the existing phones individually.

    Inheritance doesn’t work with hardware, but you do have this capability in software. If you discover a bug in your class, instead of having to go to each subclass and change the code, you fix it once in the class and the change propagates throughout all subclasses of the class.

    Containers and Non-Containers

    The two primary types of Visual FoxPro classes, and by extension Visual FoxPro objects, are container classes and control classes.

    Container Classes

    Containers can contain other objects and allow access to the objects contained within them. For example, if you create a container class that consists of two list boxes and two command buttons, and then add an object based on this class to a form, each individual object can be manipulated at run time and design time. You can easily change the positions of the list boxes or the captions of the command buttons. You can also add objects to the control at design time; for example, you can add labels to identify the list boxes.

    The following table lists what each container class can contain:

    ContainerCan contain
    Command button groupsCommand buttons
    ContainerAny controls
    ControlAny controls
    CustomAny controls, page frame, container, custom
    Form setsForms, toolbars
    FormsPage frames, any controls, containers, custom
    Grid columnsHeaders and any objects except form sets, forms, toolbars, timers, and other columns
    GridsGrid columns
    Option button groupsOption buttons
    Page framesPages
    PagesAny controls, containers, custom
    ProjectFiles, servers
    ToolbarsAny controls, page frame, container

    Control Classes

    Control classes are more completely encapsulated than container classes are, but can be less flexible for that reason. Control classes do not have an AddObject method.

    Preparation for Class Creation

    You want to be able to use classes in many different contexts. Smart planning will enable you to most effectively decide what classes to design and what functionality to include in the class.

    Deciding When to Create Classes

    You could create a class for every control and every form you might ever use, but this isn’t the most effective way to design your applications. You’ll likely end up with multiple classes that do much the same thing but must be maintained separately.

    Encapsulate Generic Functionality

    You can create a control class for generic functionality. For example, command buttons that allow a user to move the record pointer in a table, a button to close a form, and a help button, can all be saved as classes and added to forms any time you want the forms to have this functionality.

    You can expose properties and methods on a class so that the user can integrate them into the particular data environment of a form or form set.

    Provide a Consistent Application Look and Feel

    You can create form set, form, and control classes with a distinctive appearance so that all the components of your application have the same look. For example, you could add graphics and specific color patterns to a form class and use that as a template for all forms you create. You could create a text box class with a distinctive appearance, such as a shadowed effect, and use this class throughout your application any time you want to add a text box.

    Deciding What Type of Class to Create

    Visual FoxPro allows you to create several different kinds of classes, each with its own characteristics. You specify the type of class you want to create in the New Class dialog box or in the AS clause in the CREATE CLASS command.

    The Visual FoxPro Base Classes

    You can create subclasses of most of the Visual FoxPro base classes in the Class Designer.

    Visual FoxPro Base Classes

    ActiveDocCustomLabelPageFrame
    CheckBoxEditBoxLineProjectHook
    Column*FormListBoxSeparator
    CommandButtonFormSetOLEBoundControlShape
    CommandGroupGridOLEContainerControlSpinner
    ComboBoxHeader*OptionButton*TextBox
    ContainerHyperlink ObjectOptionGroupTimer
    ControlImagePage*ToolBar

    * These classes are an integral part of a parent container and cannot be subclassed in the Class Designer.

    All Visual FoxPro base classes recognize the following minimum set of events:

    EventDescription
    InitOccurs when the object is created.
    DestroyOccurs when the object is released from memory.
    ErrorOccurs whenever an error occurs in event or method procedures of the class.

    All Visual FoxPro base classes have the following minimum set of properties:

    PropertyDescription
    ClassWhat type of class it is.
    BaseClassThe base class it was derived from, such as Form, Commandbutton, Custom, and so on.
    ClassLibraryThe class library the class is stored in.
    ParentClassThe class that the current class was derived from. If the class was derived directly from a Visual FoxPro base class, the ParentClass property is the same as the BaseClass property.

    Extending the Visual FoxPro Base Classes

    You can subclass these classes to set your own default control properties. For example, if you want the default names of controls you add to forms in your applications to automatically reflect your naming conventions, you can create classes based on the Visual FoxPro base classes to do this. You can create form classes with a customized look or behavior to serve as templates for all the forms you create.

    You could also subclass the Visual FoxPro base classes to create controls with encapsulated functionality. If you want a button to release forms when the button is clicked, you can create a class based on the Visual FoxPro command button class, set the caption property to “Quit” and include the following command in the Click event:

    THISFORM.Release

    You can add this new button to any form in your application.

    Creating Controls with Multiple Components

    Your subclasses aren’t limited to single base classes. You can add multiple controls into a single container class definition. Many of the classes in the Visual FoxPro sample class library fall into this category.

    Creating Non-Visual Classes

    A class based on the Visual FoxPro custom class doesn’t have a run-time visual element. You can create methods and properties for your custom class using the Class Designer environment. For example, you could create a custom class named StrMethods and include a number of methods to manipulate character strings. You could add this class to a form with an edit box and call the methods as needed. If you had a method called WordCount, you could call it when needed:

    THISFORM.txtCount.Value = ;
      THISFORM.StrMethods.WordCount(THISFORM.edtText.Value)

    Non-visual classes (like the custom control and the timer control) have a visual representation only at design time in the Form Designer. Set the picture property of the custom class to the .bmp file you want displayed in the Form Designer when the custom class is added to a form.

    Operating the Class Designer

    When you specify what class your new class is based on and the library to store the class in, the Class Designer opens.

    The Class Designer provides the same interface that the Form Designer does, allowing you to see and edit the properties of your class in the Properties window. Code editing windows allow you to write code to be executed when events occur or methods are called.

    Adding Objects to a Control or Container Class

    If you base the new class on the control or container class, you can add controls to it the same way you add controls in the Form Designer: choose the control button on the Form Controls toolbar and drag to size in the Class Designer.

    No matter what type of class you base the new class on, you can set properties and write method code. You can also create new properties and methods for the class.

    IF you press and hold the CTRL key while dragging objects from the toolbar to a form class, you disengage the default snap-to-grid behavior.

    Adding Properties and Methods to a Class

    You can add as many new properties and methods to the new class as you want. Properties hold values; methods hold procedural code to be run when you call the method.

    Creating New Properties and Methods

    When you create new properties and methods for classes, the properties and methods are scoped to the class, not to individual components in the class.

    To add a new property to a class

    1. From the Class menu, choose New Property.
    2. In the New Property dialog box, type the name of the property.
    3. Specify the visibility: Public, Protected, or Hidden. A Public property can be accessed anywhere in your application. Protected and Hidden properties and methods are discussed in Protecting and Hiding Class Members.
    4. Choose Add. You can also include a description of the property that will be displayed at the bottom of the Properties window in the Class Designer and in the Form Designer when the control is added to a form. Caution   When you add a property to a class that can be set by a user of the class, the user could enter an invalid setting for your property that could cause run-time errors. You need to explicitly document the valid settings for the property. If your property can be set to 0, 1, or 2, for example, say so in the Description box of the New Property dialog box. You might also want to verify the value of the property in code that references it.

    To create an array property

    • In the Name box of the New Property dialog box, specify the name, size, and dimensions of the array. For example, to create an array property named myarray with ten rows and two columns, type the following in the Name box: myarray[10,2]

    The array property is read-only at design time and is displayed in the Properties window in italics. The array property can be managed and redimensioned at run time. For an example of using an array property, see Managing Multiple Instances of a Form, Creating Forms.

    To add a new method to a class

    1. From the Class menu, choose New Method.
    2. In the New Method dialog box, type the name of the method.
    3. Specify the visibility: Public, Protected, or Hidden.
    4. Select the Access check box to create an Access method, select the Assign check box to create an Assign method, or select both check boxes to create Access and Assign methods.

    Access and Assign methods let you execute code when the value of a property is queried or when you attempt to change the property’s value.

    The code in an Access method is executed when the value of a property is queried, typically by using the property in an object reference, storing the value of the property to a variable, or displaying the value of property with a question mark (?).

    The code in an Assign method is executed when you attempt to change the value of a property, typically by using the STORE or = command to assign a new value to the property.

    You can also include a description of the method.

    Creating Classes

    You can create new classes in the Class Designer and you can see how each object will appear to the user as you design it.

    To create a new class

    • In the Project Manager, select the Classes tab and choose New. -or-
    • From the File menu, choose New, select Class, and choose New File. -or-
    • Use the CREATE CLASS command.

    The New Class dialog box lets you specify what to call the new class, the class to base the new class on, and the library to store it in.

    Modifying a Class Definition

    Once you have created a class, you can modify it. Changes made to a class affect all the subclasses and all the objects based on this class. You can add an enhancement to a class or fix a bug in the class, and all the subclasses and objects based on the class will inherit the change.

    To modify a class in the Project Manager

    1. Select the class you want to modify.
    2. Choose Modify. The Class Designer opens.

    You can also modify a visual class definition with the MODIFY CLASS command.

    Caution   Don’t change the Name property of a class if the class is already being used in any other application components. Otherwise, Visual FoxPro will not be able to locate the class when needed.

    Subclassing a Class Definition

    You can create a subclass of a user-defined class in one of two ways.

    To create a subclass of a user-defined class

    1. In the Project Manager New Class dialog box, click the dialog button to the right of the Based On box.
    2. In the Open dialog box, choose the class you want to base the new class on. -or-
    • Use the CREATE CLASS command. For example, to base a new class, x, on parentclass in Mylibrary.vcx, use this code: CREATE CLASS x OF y AS parentclass ; FROM mylibrary

    Class Member Protection and Hiding

    Properties and methods in a class definition are Public by default: code in other classes or procedures can set the properties or call the methods. Properties and methods that you designate as Protected can be accessed only by other methods in the class definition or in subclasses of the class. Properties and methods designated as Hidden can be accessed only by other members in the class definition. Subclasses of the class cannot “see” or reference hidden members.

    To ensure correct functioning in some classes, you need to prevent users from programmatically changing the properties or calling the method from outside the class.

    The following example illustrates using protected properties and methods in a class.

    The stopwatch class included in Samples.vcx, in the Visual FoxPro …\Samples\Classes directory, includes a timer and five labels to display the elapsed time:

    The Stopwatch class contains labels and a timer.

    Property Settings for the Stopwatch Class

    ControlPropertySetting
    lblSecondsCaption00
    lblColon1Caption:
    lblMinutesCaption00
    lblColon2Caption:
    lblHoursCaption00
    tmrSWatchInterval1000

    This class also has three protected properties, nSec, nMin, and nHour, and one protected method, UpdateDisplay. The other three custom methods in the class, Start, Stop, and Reset, are not protected.

    Tip   Choose Class Info on the Class menu to see the visibility of all properties and methods of a class.

    The protected properties are used in internal calculations in the UpdateDisplay method and the Timer event. The UpdateDisplay method sets the captions of the labels to reflect the elapsed time.

    The UpdateDisplay Method

    CodeComments
    cSecDisplay = ALLTRIM(STR(THIS.nSec)) cMinDisplay = ALLTRIM(STR(THIS.nMin)) cHourDisplay = ALLTRIM(STR(THIS.nHour))Convert the numeric properties to Character type for display in the label captions.
    THIS.lblSeconds.Caption = ; IIF(THIS.nSec < 10, ; “0” ,””) + cSecDisplay THIS.lblMinutes.Caption = ; IIF(THIS.nMin < 10, ; “0”, “”) + cMinDisplay THIS.lblHours.Caption = ; IIF(THIS.nHour < 10, ; “0”, “”) + cHourDisplaySet the label captions, retaining the leading 0 if the value of the numeric property is less than 10.

    The following table lists the code in the tmrSWatch.Timer event:

    The Timer Event

    CodeComments
    THIS.Parent.nSec = THIS.Parent.nSec + 1 IF THIS.Parent.nSec = 60 THIS.Parent.nSec = 0 THIS.Parent.nMin = ; THIS.Parent.nMin + 1 ENDIFIncrement the nSec property every time the timer event fires: every second.
    If nSec has reached 60, reset it to 0 and increment the nMin property.
    IF THIS.Parent.nMin = 60 THIS.Parent.nMin = 0 THIS.Parent.nHour = ; THIS.Parent.nHour + 1 ENDIF THIS.Parent.UpdateDisplayIf nMin has reached 60, reset it to 0 and increment the nHour property. Call the UpdateDisplay method when the new property values are set.

    The stopwatch class has three methods that are not protected: Start, Stop, and Reset. A user can call these methods directly to control the stopwatch.

    The Start method contains the following line of code:

    THIS.tmrSWatch.Enabled = .T.

    The Stop method contains the following line of code:

    THIS.tmrSWatch.Enabled = .F.

    The Reset method sets the protected properties to zero and calls the protected method:

    THIS.nSec = 0
    THIS.nMin = 0
    THIS.nHour = 0
    THIS.UpdateDisplay

    The user cannot directly set these properties or call this method, but code in the Reset method can.

    Specifying the Default Value for a Property

    When you create a new property, the default setting is false (.F.). To specify a different default setting for a property, use the Properties window. In the Other tab, click on your property and set it to the desired value. This will be the initial property setting when the class is added to a form or form set.

    You can also set any of the base class properties in the Class Designer. When an object based on the class is added to the form, the object reflects your property settings rather than the Visual FoxPro base class property settings.

    Tip   If you want to make the default setting of a property an empty string, select the setting in the Property Editing box and press the BACKSPACE key.

    Specifying Design-Time Appearance for a Class

    You can specify the toolbar icon and the container icon for your class in the Class Info dialog box.

    To set a toolbar icon for a class

    1. In the Class Designer, choose Class Info from the Class menu.
    2. In the Class Info dialog box, type the name and path of the .bmp file in the Toolbar icon box. Tip   The bitmap (.bmp file) for the toolbar icon is 15 by 16 pixels. If the picture is larger or smaller, it is sized to 15 by 16 pixels and might not look the way you want it to.

    The toolbar icon you specify is displayed in the Form Controls toolbar when you populate the toolbar with the classes in your class library.

    You can also specify the icon to be displayed for the class in the Project Manager and Class Browser by setting the container icon.

    To set a container icon for a class

    1. In the Class Designer, choose Class Info from the Class menu.
    2. In the Container icon box, type the name and path of the .bmp file to be displayed on the button in the Form Controls toolbar.

    Creating, Copying, and Removing Class Library Files

    Every visually designed class is stored in a class library with a .vcx file extension.

    Creating a Class Library

    You can create a class library in one of three ways.

    To create a class library

    • When you create a class, specify a new class library file in the Store In box of the New Class dialog box. -or-
    • Use the CREATE CLASS command, specifying the name of the new class library. For example, the following statement creates a new class named myclass and a new class library named new_lib: CREATE CLASS myclass OF new_lib AS CUSTOM -or-
    • Use the CREATE CLASSLIB command. For example, type the following command in the Command window to create a class library named new_lib: CREATE CLASSLIB new_lib

    Copying and Removing Class Library Classes

    Once you add a class library to a project, you can easily copy classes from one library to another or simply remove classes from libraries.

    To copy a class from one library to another

    1. Make sure both libraries are in a project (not necessarily the same project).
    2. In the Project Manager, select the Classes tab.
    3. Click the plus sign (+) to the left of the class library that the class is now in.
    4. Drag the class from the original library and drop it in the new library. Tip   For convenience and speed, you might want to keep a class and all the subclasses based on it in one class library. If you have a class that contains elements from many different class libraries, these libraries must all be open, so it will take a little longer to initially load your class at run time and at design time.

    To remove a class from a library

    To change the name of a class in a class library, use the RENAME CLASS command. Remember, however, that when you change the name of a class, forms that contain the class and subclasses in other .vcx files continue to reference the old name and will no longer function correctly.

    Visual FoxPro includes a Class Browser to facilitate using and managing classes and class libraries. For more information, see Class Browser.

    Adding Classes to Forms

    You can drag a class from the Project Manager to the Form Designer or to the Class Designer. You can also register your classes so that they can be displayed directly on the Form Controls toolbar in the Class Designer or Form Designer and added to containers the same way the standard controls are added.

    To register a class library

    1. From the Tools menu, choose Options.
    2. In the Options dialog box choose the Controls tab.
    3. Select Visual Class Libraries and choose Add.
    4. In the Open dialog box, choose a class library to add to the registry and choose Open.
    5. Choose Set as Default if you want the class library to be available in the Form Controls toolbar in future sessions of Visual FoxPro.

    You can also add your class library to the Form Controls toolbar by choosing Add in the submenu of the View Classes button. To make these classes available in the Form Controls toolbar in future sessions of Visual FoxPro, you still need to set the default in the Options dialog box.

    Default Property Setting Override

    When you add objects based on a user-defined class to a form, you can change the settings of all the properties of the class that are not protected, overriding the default settings. If you change the class properties in the Class Designer later, the settings in the object on the form are not affected. If you have not changed a property setting in the form and you change the property setting in the class, the change will take effect in the object as well.

    For example, a user could add an object based on your class to a form and change the BackColor property from white to red. If you change the BackColor property of the class to green, the object on the user’s form will still have a background color of red. If, on the other hand, the user did not change the BackColor property of the object and you changed the background color of the class to green, the BackColor property of the object on the form would inherit the change and also be green.

    Calling Parent Class Method Code

    An object or class based on another class automatically inherits the functionality of the original. However, you can easily override the inherited method code. For example, you can write new code for the Click event of a class after you subclass it or after you add an object based on the class to a container. In both cases, the new code is executed at run time; the original code is not executed.

    More frequently, however, you want to add functionality to the new class or object while keeping the original functionality. In fact, one of the key decisions you have to make in object-oriented programming is what functionality to include at the class level, at the subclass level, and at the object level. You can optimize your class design by using the DODEFAULT( ) function or scope resolution operator (::) to add code at different levels in the class or container hierarchy.

    Adding Functionality to Subclasses

    You can call the parent class code from a subclass by using the DODEFAULT( ) function.

    For example, cmdOK is a command button class stored in Buttons.vcx, located in the Visual FoxPro …\Samples\Classes directory. The code associated with the Click event of cmdOk releases the form the button is on. CmdCancel is a subclass of cmdOk in the same class library. To add functionality to cmdCancel to discard changes, for example, you could add the following code to the Click event:

    IF USED( ) AND CURSORGETPROP("Buffering") != 1
       TABLEREVERT(.T.)
    ENDIF
    DODEFAULT( )

    Because changes are written to a buffered table by default when the table is closed, you don’t need to add TABLEUPDATE( ) code to cmdOk. The additional code in cmdCancel reverts changes to the table before calling the code in cmdOk, the ParentClass, to release the form.

    Writing Class Definitions Programmatically

    You can define classes visually in the Class Designer and the Form Designer or programmatically in .PRG files. This section describes how to write class definitions. For more information about forms, see Creating Forms.

    In This Section

    Programmatic Class Definitions Displays the syntax of the basic shell for class creation. Protection and Hiding of Class Members Through example, illustrates how to protect or hide properties and methods in a class definition with keywords of the DEFINE CLASS command. Creation of Objects from Classes Describes how to create an object based on a saved visual class. Addition of Objects to a Container Class Details how to add objects to a container through use of the ADD OBJECT clause in the DEFINE CLASS command or the AddObject method. Method and Event Code Guidelines Lays out the rules for authoring event code and methods. Creating a Set of Table Navigation Buttons Provides an explanation of how to design and build table navigation buttons through code. Definition of a Grid Control Outlines how to define grid control programmatically. Object Reference Creation Explains how to make a reference to an object, and describes the benefits of creating references over making copies of objects. Arrays of Members and Objects Tells how to define members of classes as arrays and how to build arrays of objects. Data Storage with Objects Describes when and how to store data in objects. Object and Data Integration Contains information on why integrating objects and data is important.

    Related Sections

    Programming in Visual FoxPro Microsoft® Visual FoxPro® is a powerful interactive data management tool, but you also can access the full power of Visual FoxPro by creating applications. Understanding object-oriented programming techniques and the event-driven model can maximize your programming productivity. Application Development As you develop an application, organize its pieces with the Project Manager, an integrated way to build and test your application as you go. Object-Oriented Programming With object-oriented programming, you can create self-contained application components that respond to user actions and to the system and which can be easily maintained and reused. Understanding the Event Model The event model defines when and how user and system interactions occur.

    Programmatic Class Definitions

    In a program file, you can have program code prior to the class definitions, but not after the class definitions, in the same way that program code cannot come after procedures in a program. The basic shell for class creation has this syntax:

    DEFINE CLASS ClassName1 AS ParentClass [OLEPUBLIC]
       [[PROTECTED | HIDDEN PropertyName1, PropertyName2 ...]
          [Object.]PropertyName = eExpression ...]
       [ADD OBJECT [PROTECTED] ObjectName AS ClassName2 [NOINIT]
          [WITH cPropertylist]]...
       [[PROTECTED | HIDDEN] FUNCTION | PROCEDURE Name[_ACCESS | _ASSIGN]
          [NODEFAULT]
          cStatements
       [ENDFUNC | ENDPROC]]...
    ENDDEFINE

    Protection and Hiding of Class Members

    You can protect or hide properties and methods in a class definition with the PROTECTED and HIDDEN keywords of the DEFINE CLASS command.

    For example, if you create a class to hold employee information, and you don’t want users to be able to change the hire date, you can protect the HireDate property. If users need to find out when an employee was hired, you can include a method to return the hire date.

    DEFINE CLASS employee AS CUSTOM
    PROTECTED HireDate
      First_Name = ""
      Last_Name = ""
      Address = ""
      HireDate = { - - }
    
    PROCEDURE GetHireDate
      RETURN This.HireDate
    ENDPROC
    ENDDEFINE

    Creation of Objects from Classes

    When you have saved a visual class, you can create an object based on it with the CREATEOBJECT( ) function. The following example demonstrates running a form saved as a class definition in the class library file Forms.vcx:

    Creating and Showing a Form Object Whose Class Was Designed in the Form Designer

    CodeComments
    SET CLASSLIB TO Forms ADDITIVESet the class library to the .vcx file that the form definition was saved in. The ADDITIVE keyword prevents this command from closing any other class libraries that happen to be open.
    frmTest = CREATEOBJECT(“TestForm”)This code assumes that the name of the form class saved in the class library is TestForm.
    frmTest.ShowDisplay the form.

    Addition of Objects to a Container Class

    You can use the ADD OBJECT clause in the DEFINE CLASS command or the AddObject method to add objects to a container.

    For example, the following class definition is based on a form. The ADD OBJECT command adds two command buttons to the form:

    DEFINE CLASS myform AS FORM
      ADD OBJECT cmdOK AS COMMANDBUTTON
      ADD OBJECT PROTECTED cmdCancel AS COMMANDBUTTON
    ENDDEFINE

    Use the AddObject method to add objects to a container after the container object has been created. For example, the following lines of code create a form object and add two command buttons to it:

    frmMessage = CREATEOBJECT("FORM")
    frmMessage.AddObject("txt1", "TEXTBOX")
    frmMessage.AddObject("txt2", "TEXTBOX")

    You can also use the AddObject method in the method code of a class. For example, the following class definition uses AddObject in the code associated with the Init event to add a control to a grid column.

    DEFINE CLASS mygrid AS GRID
    ColumnCount = 3
    PROCEDURE Init
      THIS.Column2.AddObject("cboClient", "COMBOBOX")
      THIS.Column2.CurrentControl = "cboClient"
    ENDPROC
    ENDDEFINE

    Adding and Creating Classes in Method Code

    You can programmatically add objects to a container with the AddObject method. You can also create objects with the CREATEOBJECT( ) function in the Load, Init, or any other method of the class.

    When you add an object with the AddObject method, the object becomes a member of the container. The Parent property of the added object refers to the container. When an object based on the container or control class is released from memory, the added object is also released.

    When you create an object with the CREATEOBJECT( ) function, the object is scoped to a property of the class or a variable in the method that calls this function. The parent property of the object is undefined.

    Method and Event Code Guidelines

    In addition to writing code for the methods and events of an object, you can extend the set of methods in subclasses of Visual FoxPro base classes. Here are the rules for writing event code and methods:

    • The event set for the Visual FoxPro base classes is fixed and cannot be extended.
    • Every class recognizes a set of fixed default events, the minimum set of which includes Init, Destroy, and Error events.
    • When you create a method in a class definition with the same name as an event that the class can recognize, the code in the method is executed when the event occurs.
    • You can add methods to your classes by creating a procedure or function within the class definition.
    • You can create Access and Assign Methods for your classes by creating a procedure or function with the same name as a class property and _ACCESS or _ASSIGN appended to the procedure or function name.

    Calling Event Code up the Class Hierarchy

    When you create a class, the class automatically inherits all the properties, methods, and events of the parent class. If code is written for an event in the parent class, that code is executed when the event occurs with respect to an object based on the subclass. You can, however, overwrite the parent class code by writing code for the event in the subclass.

    To explicitly call the event code in a parent class when the subclass has code written for the same event, use the DODEFAULT( ) function.

    For example, you could have a class named cmdBottom based on the command button base class that has the following code in the Click event:

    GO BOTTOM
    THISFORM.Refresh

    When you add an object based on this class to a form, named, for example, cmdBottom1, you might decide that you also want to display a message for the user so that he or she knows that the record pointer is at the bottom of the table. You could add the following code to the Click event of the object to display the message:

    WAIT WINDOW "At the Bottom of the Table" TIMEOUT 1

    When you run the form, however, the message is displayed, but the record pointer doesn’t move because the code in the Click event of the parent class is never executed. To make sure the code in the Click event of the parent class is also executed, include the following lines of code in the Click event procedure of the object:

    DODEFAULT( )
    WAIT WINDOW "At the Bottom of the Table" TIMEOUT 1

    Note   You can use the ACLASS( ) function to determine all the classes in an object’s class hierarchy.

    Preventing Base Class Code from Executing

    Sometimes you’ll want to prevent the base class default behavior from taking place in an event or method. You can do this by including the NODEFAULT keyword in the method code you write. For example, the following program uses the NODEFAULT keyword in the KeyPress event of a text box to prevent the typed characters from being displayed in the text box:

    frmKeyExample = CREATEOBJECT("test")
    frmKeyExample.Show
    READ EVENTS
    DEFINE CLASS test AS FORM
      ADD OBJECT text1 AS TEXTBOX
      PROCEDURE text1.KeyPress
       PARAMETERS nKeyCode, nShiftAltCtrl
       NODEFAULT
       IF BETWEEN(nKeyCode, 65, 122) && between 'A' and 'z'
        This.Value = ALLTRIM(This.Value) + "*"
        ACTIVATE SCREEN      && send output to main Visual FoxPro window
        ?? CHR(nKeyCode)
       ENDIF
      ENDPROC
      PROCEDURE Destroy
       CLEAR EVENTS
      ENDPROC
    ENDDEFINE

    Creating a Set of Table Navigation Buttons

    A common feature of many applications is a series of navigation buttons that allow users to move through a table. These typically include buttons to move the record pointer to the next or prior record in the table, as well as to the top or bottom record in the table.

    Designing the Navigation Buttons

    Each of the buttons will have some characteristics and functionality in common, so it is a good idea to create a navigation button class. Then the individual buttons can easily derive this common appearance and functionality. This parent class is the Navbutton class defined later in this section.

    Once the parent class is defined, the following subclasses define the functionality and appearance specific to each of the four navigation buttons: navTop, navPrior, navNext, navBottom.

    Finally, a container class, vcr, is created and each of the navigation buttons is added to the container class. The container can be added to a form or a toolbar to provide table navigation functionality.

    NAVBUTTON Class Definition

    To create Navbutton, save the following six class definitions (Navbutton, navTop, navBottom, navPrior, navNext, and vcr) to a program file such as Navclass.prg.

    Definition of the Generic Navigation Commandbutton Class

    CodeComments
    DEFINE CLASS Navbutton AS COMMANDBUTTON Height = 25 Width = 25 TableAlias = “”Define the parent class of the navigation buttons.

    Give the class some dimensions. Include a custom property, TableAlias, to hold the name of the alias to navigate through.
    PROCEDURE Click IF NOT EMPTY(This.TableAlias) SELECT (This.TableAlias) ENDIF ENDPROCIf TableAlias has been set, this parent class procedure selects the alias before the actual navigation code in the subclasses is executed. Otherwise, assume that the user wants to navigate through the table in the currently selected work area.
    PROCEDURE RefreshForm _SCREEN.ActiveForm.Refresh ENDPROCUsing _SCREEN.ActiveForm.Refresh instead of THISFORM.Refresh allows you to add the class to a form or a toolbar and have it function equally well.
    ENDDEFINEEnd the class definition.

    The specific navigation buttons are all based on the Navbutton class. The following code defines the Top button for the set of navigation buttons. The remaining three navigation buttons are defined in the following table. The four class definitions are similar, so only the first one has extensive comments.

    Definition of the Top Navigation Button Class

    CodeComments
    DEFINE CLASS navTop AS Navbutton Caption = “|<“Define the Top navigation button class and set the Caption property.
    PROCEDURE ClickCreate method code to be executed when the Click event for the control occurs.
    DODEFAULT( ) GO TOP THIS.RefreshFormCall the Click event code in the parent class, Navbutton, so that the appropriate alias can be selected if the TableAlias property has been set.

    Include the code to set the record pointer to the first record in the table: GO TOP.

    Call the RefreshForm method in the parent class. It is not necessary to use the scope resolution operator (::) in this case because there is no method in the subclass with the same name as the method in the parent class. On the other hand, both the parent and the subclass have method code for the Click event.
    ENDPROCEnd the Click procedure.
    ENDDEFINEEnd the class definition.

    The other navigation buttons have similar class definitions.

    Definition of the Other Navigation Button Classes

    CodeComments
    DEFINE CLASS navNext AS Navbutton Caption = “>”Define the Next navigation button class and set the Caption property.
    PROCEDURE Click DODEFAULT( ) SKIP 1 IF EOF( ) GO BOTTOM ENDIF THIS.RefreshForm ENDPROC ENDDEFINE


    Include the code to set the record pointer to the next record in the table.



    End the class definition.
    DEFINE CLASS navPrior AS Navbutton Caption = “<“Define the Prior navigation button class and set the Caption property.
    PROCEDURE Click DODEFAULT( ) SKIP –1 IF BOF( ) GO TOP ENDIF THIS.RefreshForm ENDPROC ENDDEFINE


    Include the code to set the record pointer to the previous record in the table.



    End the class definition.
    DEFINE CLASS navBottom AS Navbutton Caption = “>|”Define the Bottom navigation button class and set the Caption property.
    PROCEDURE Click DODEFAULT( ) GO BOTTOM THIS.RefreshForm ENDPROC ENDDEFINE

    Include the code to set the record pointer to the bottom record in the table.

    End the class definition.

    The following class definition contains all four navigation buttons so that they can be added as a unit to a form. The class also includes a method to set the TableAlias property of the buttons.

    Definition of a Table Navigation Control Class

    CodeComments
    DEFINE CLASS vcr AS CONTAINER Height = 25 Width = 100 Left = 3 Top = 3Begin the class definition. The Height property is set to the same height as the command buttons it will contain.
    ADD OBJECT cmdTop AS navTop ; WITH Left = 0 ADD OBJECT cmdPrior AS navPrior ; WITH Left = 25 ADD OBJECT cmdNext AS navNext ; WITH Left = 50 ADD OBJECT cmdBot AS navBottom ; WITH Left = 75Add the navigation buttons.
    PROCEDURE SetTable(cTableAlias) IF TYPE(“cTableAlias”) = ‘C’ THIS.cmdTop.TableAlias = ; cTableAlias THIS.cmdPrior.TableAlias = ; cTableAlias THIS.cmdNext.TableAlias = ; cTableAlias THIS.cmdBot.TableAlias = ; cTableAlias ENDIF ENDPROCThis method is used to set the TableAlias property of the buttons. TableAlias is defined in the parent class Navbutton.

    You could also use the SetAll method to set this property:
    IF TYPE ("cTableAlias") = 'C'
    This.SetAll("TableAlias", "cTableAlias")
    ENDIF
    However, this would cause an error if an object were ever added to the class that did not have a TableAlias property.
    ENDDEFINEEnd class definition.

    Once you have defined the class, you can subclass it or add it to a form.

    Creating a Subclass Based on the New Class

    You can also create subclasses based on vcr that have additional buttons such as Search, Edit, Save, and Quit. For example, vcr2 includes a Quit button:

    Definition of a Table Navigation Control Subclass

    CodeComments
    DEFINE CLASS vcr2 AS vcr ADD OBJECT cmdQuit AS COMMANDBUTTON WITH ; Caption = “Quit”,; Height = 25, ; Width = 50 Width = THIS.Width + THIS.cmdQuit.Width cmdQuit.Left = THIS.Width – ; THIS.cmdQuit.WidthDefine a class based on vcr and add a command button to it.
    PROCEDURE cmdQuit.CLICK RELEASE THISFORM ENDPROCWhen the user clicks cmdQuit, this code releases the form.
    ENDDEFINEEnd class definition.

    Vcr2 has everything that vcr does, plus the new command button, and you don’t have to rewrite any of the existing code.

    Changes to VCR Reflected in the Subclass

    Because of inheritance, changes to the parent class are reflected in all subclasses based on the parent. For example, you could let the user know that the bottom of the table has been reached by changing the IF EOF( ) statement in navNext.Click to the following:

    IF EOF( )
       GO BOTTOM
       SET MESSAGE TO "Bottom of the table"
    ELSE
       SET MESSAGE TO
    ENDIF

    You could let the user know that the top of the table has been reached by changing the IF BOF( ) statement in navPrior.Click to the following:

    IF BOF()
       GO TOP
       SET MESSAGE TO "Top of the table"
    ELSE
       SET MESSAGE TO
    ENDIF

    If these changes are made to the navNext and navPrior classes, they will also apply automatically to the appropriate buttons in vcr and vcr2.

    Adding VCR to a Form Class

    Once vcr is defined as a control, the control can be added in the definition of a container. For example, the following code added to Navclass.prg defines a form with added navigation buttons:

    DEFINE CLASS NavForm AS Form
       ADD OBJECT oVCR AS vcr
    ENDDEFINE

    Running the Form Containing VCR

    Once the form subclass is defined, you can display it easily with the appropriate commands.

    To display the form

    1. Load the class definition: SET PROCEDURE TO navclass ADDITIVE
    2. Create an object based on the navform class: frmTest = CREATEOBJECT(“navform”)
    3. Invoke the Show method of the form: frmTest.Show

    If you don’t call the SetTable method of oVCR (the VCR object in NavForm) when the user clicks the navigation buttons, the record pointer moves in the table in the currently selected work area. You can call the SetTable method to specify what table to move through.

    frmTest.oVCR.SetTable("customer")

    Note   When the user closes the form, frmTest is set to a null value (.NULL.). To release the object variable from memory, use the RELEASE command. Object variables created in program files are released from memory when the program is completed.

    Definition of a Grid Control

    A grid contains columns, which in turn can contain headers and any other control. The default control contained in a column is a text box, so that the default functionality of the grid approximates a Browse window. However, the underlying architecture of the grid opens it up to endless extensibility.

    The following example creates a form that contains a Grid object with two columns. The second column contains a check box to display the values in a logical field in a table.

    Grid control with a check box in one column

    Definition of a Grid Class with a Check Box in a Grid Column

    CodeComments
    DEFINE CLASS grdProducts AS Grid Left = 24 Top = 10 Width = 295 Height = 210 Visible = .T. RowHeight = 28 ColumnCount = 2Start the class definition and set properties that determine the grid appearance.

    When you set the ColumnCount property to 2, you add two columns to the grid. Each column contains a header with the name Header1. In addition, each column has an independent group of properties that determines its appearance and behavior.
    Column1.ControlSource =”prod_name” Column2.ControlSource =”discontinu”When you set the ControlSource of a column, the column displays that field’s values for all the records in the table.
    Discontinu is a logical field.
    Column2.Sparse = .F.Column2 will contain the check box. Set the column’s Sparse property to .F. so that the check box will be visible in all rows, not just in the selected cell.
    Procedure Init THIS.Column1.Width = 175 THIS.Column2.Width = 68 THIS.Column1.Header1.Caption = ; “Product Name” THIS.Column2.Header1.Caption = ; “Discontinued” THIS.Column2.AddObject(“chk1”, ; “checkbox”) THIS.Column2.CurrentControl = ; “chk1” THIS.Column2.chk1.Visible = .T. THIS.Column2.chk1.Caption = “” ENDPROCSet column widths and header captions.







    The AddObject method allows you to add an object to a container — in this case, a check box named chk1.
    Set the CurrentControl of the column to the check box so that the check box will be displayed.
    Make sure that the check box is visible.
    Set the caption to an empty string so that the default caption “chk1” won’t be displayed.
    ENDDEFINEEnd of the class definition.

    The following class definition is the form that contains the grid. Both class definitions can be included in the same program file.

    Definition of a Form Class that Contains the Grid Class

    CodeComments
    DEFINE CLASS GridForm AS FORM Width = 330 Height = 250 Caption = “Grid Example” ADD OBJECT grid1 AS grdProductsCreate a form class and add an object, based on the grid class, to it.
    PROCEDURE Destroy CLEAR EVENTS ENDPROC ENDDEFINEThe program that creates an object based on this class will use READ EVENTS. Including CLEAR EVENTS in the Destroy event of the form allows the program to finish running when the user closes the form.
    End of the class definition.

    The following program opens the table with the fields to be displayed in the grid columns, creates an object based on the GridForm class, and issues the READ EVENTS command:

    CLOSE DATABASE
    OPEN DATABASE (HOME(2) + "data\testdata.dbc")
    USE products
    frmTest= CREATEOBJECT("GridForm")
    frmTest.Show
    READ EVENTS

    This program can be included in the same file with the class definitions if it comes at the beginning of the file. You could also use the SET PROCEDURE TO command to specify the program with the class definitions and include this code in a separate program.

    Object Reference Creation

    Instead of making a copy of an object, you can create a reference to the object. A reference takes less memory than an additional object, can easily be passed between procedures, and can aid in writing generic code.

    Returning a Reference to an Object

    Sometimes, you might want to manipulate an object by means of one or more references to the object. For example, the following program defines a class, creates an object based on the class, and returns a reference to the object:

    *--NEWINV.PRG
    *--Returns a reference to a new invoice form.
    frmInv = CREATEOBJECT("InvoiceForm")
    RETURN frmInv
     
    DEFINE CLASS InvoiceForm AS FORM
       ADD OBJECT txtCompany AS TEXTBOX
       * code to set properties, add other objects, and so on
    ENDDEFINE

    The following program establishes a reference to the object created in Newinv.prg. The reference variable can be manipulated in exactly the same way as the object variable can:

    frmInvoice = NewInv() && store the object reference to a variable
    frmInvoice.SHOW

    You can also create a reference to an object on a form, as in the following example:

    txtCustName = frmInvoice.txtCompany
    txtCustName.Value = "Fox User"

    Tip   Once you’ve created an object, you can use the DISPLAY OBJECTS command to display the object’s class hierarchy, property settings, contained objects, and available methods and events. You can fill an array with the properties (not the property settings), events, methods, and contained objects of an object with the AMEMBERS( ) function.

    Releasing Objects and References from Memory

    If a reference to an object exists, releasing the object does not clear the object from memory. For example, the following command releases frmInvoice, the original object:

    RELEASE frmInvoice

    However, because a reference to an object belonging to frmInvoice still exists, the object is not released from memory until txtCustName is released with the following command:

    RELEASE txtCustName

    Checking to See if an Object Exists

    You can use the TYPE( ), ISNULL( ), and VARTYPE( ) functions to determine if an object exists. For example, the following lines of code check to see whether an object named oConnection exists:

    IF TYPE("oConnection") = "O" AND NOT ISNULL(oConnection)
       * Object exists
    ELSE
       * Object does not exist
    ENDIF

    NoteISNULL( ) is necessary because .NULL. is stored to the form object variable when a user closes a form, but the type of the variable remains “O”.

    Arrays of Members and Objects

    You can define members of classes as arrays. In the following example, choices is an array of controls:

    DEFINE CLASS MoverListBox AS CONTAINER
    DIMENSION choices[3]
    ADD OBJECT lstFromListBox AS LISTBOX
    ADD OBJECT lstToListBox AS LISTBOX
    ADD OBJECT choices[1] AS COMMANDBUTTON
    ADD OBJECT choices[2] AS COMMANDBUTTON
    ADD OBJECT choices[3] AS CHECKBOX
    PROCEDURE choices.CLICK
       PARAMETER nIndex
       DO CASE
          CASE nIndex = 1
             * code
          CASE nIndex = 2
             * code
          CASE nIndex = 3
             * code
       ENDCASE
    ENDPROC
    ENDDEFINE

    When the user clicks a control in an array of controls, Visual FoxPro passes the index number of the control to the Click event procedure. In this procedure, you can use a CASE statement to execute different code depending on which button was clicked.

    Creating Arrays of Objects

    You can also create arrays of objects. For example, MyArray holds five command buttons:

    DIMENSION MyArray[5]
    FOR x = 1 TO 5
       MyArray[x] = CREATEOBJECT("COMMANDBUTTON")
    ENDFOR

    There are some considerations to keep in mind with arrays of objects:

    • You can’t assign an object to an entire array with one command. You need to assign the object to each member of the array individually.
    • You can’t assign a value to a property of an entire array. The following command would result in an error: MyArray.Enabled = .F.
    • When you redimension an object array so that it is larger than the original array, the new elements are initialized to false (.F.), as is the case with all arrays in Visual FoxPro. When you redimension an object array so that it is smaller than the original array, the objects with a subscript greater than the largest new subscript are released.

    Data Storage with Objects

    In object-oriented languages, a class offers a useful and convenient vehicle for storing data and procedures related to an entity. For example, you could define a customer class to hold information about a customer as well as a method to calculate the customer’s age:

    DEFINE CLASS customer AS CUSTOM
       LastName = ""
       FirstName = ""
       Birthday = { - - }
       PROCEDURE Age
          IF !EMPTY(THIS.Birthday)
             RETURN YEAR(DATE()) - YEAR(THIS.Birthday)
          ELSE
             RETURN 0
          ENDIF
       ENDPROC
    ENDDEFINE

    However, data stored in objects based on the customer class are stored only in memory. If this data were in a table, the table would be stored on disk. If you had more than one customer to keep track of, the table would give you access to all of the Visual FoxPro database management commands and functions. As a result, you could quickly locate information, sort it, group it, perform calculations on it, create reports and queries based on it, and so on.

    Storing and manipulating data in databases and tables is what Visual FoxPro does best. There are times, however, when you’ll want to store data in objects. Usually, the data will be significant only while your application is running and it will pertain to a single entity.

    For example, in an application that includes a security system, you would typically have a table of users who have access to the application. The table would include user identification, password, and access level. Once a user has logged on, you won’t need all the information in the table. All you need is information about the current user, and this information can be easily stored and manipulated in an object. The following class definition, for example, initiates a logon when an object based on the class is created:

    DEFINE CLASS NewUser AS CUSTOM
       PROTECTED LogonTime, AccessLevel
       UserId = ""
       PassWord = ""
       LogonTime = { - - : : }
       AccessLevel = 0
       PROCEDURE Init
          DO FORM LOGON WITH ; && assuming you have created this form
             This.UserId, ;
             This.PassWord, ;
             This.AccessLevel
          This.LogonTime = DATETIME( )
       ENDPROC
    * Create methods to return protected property values.
       PROCEDURE GetLogonTime
          RETURN This.LogonTime
       ENDPROC
       PROCEDURE GetAccessLevel
          RETURN This.AccessLevel
       ENDPROC
     
    ENDDEFINE

    In the main program of your application, you could create an object based on the NewUserclass:

    oUser = CREATEOBJECT('NewUser')
    oUser.Logon

    Throughout your application, when you need information about the current user, you can get it from the oUser object. For example:

    IF oUser.GetAccessLevel( ) >= 4
       DO ADMIN.MPR
    ENDIF

    Object and Data Integration

    In most applications, you can best utilize the power of Visual FoxPro by integrating objects and data. Most Visual FoxPro classes have properties and methods that allow you to integrate the power of a relational database manager and a full object-oriented system.

    Properties for Integrating Visual FoxPro Classes and Database Data

    ClassData properties
    GridRecordSource, ChildOrder, LinkMaster
    All other controlsControlSource
    List box and combo boxControlSource, RowSource
    Form and form setDataSession

    Because these data properties can be changed at design or run time, you can create generic controls with encapsulated functionality that operate on diverse data.

    For more information about integrating data and objects, see Creating Forms, and Using Controls

    Setting Properties

    You can set the properties of an object at run time or design time.

    To set a property

    • Use this syntax: Container.Object.Property = Value For example, the following statements set various properties of a text box named txtDate on a form named frmPhoneLog: frmPhoneLog.txtDate.Value = DATE( ) && Display the current date frmPhoneLog.txtDate.Enabled = .T. && The control is enabled frmPhoneLog.txtDate.ForeColor = RGB(0,0,0) && black text frmPhoneLog.txtDate.BackColor = RGB(192,192,192) && gray background

    For the property settings in the preceding examples, frmPhoneLog is the highest-level container object. If frmPhoneLog were contained in a form set, you would also need to include the form set in the parent path:

    frsContacts.frmPhoneLog.txtDate.Value = DATE( )

    Setting Multiple Properties

    The WITH … ENDWITH structure simplifies setting multiple properties. For example, to set multiple properties of a column in a grid in a form in a form set, you could use the following syntax:

    WITH THISFORMSET.frmForm1.grdGrid1.grcColumn1
     .Width = 5
     .Resizable = .F.
     .ForeColor = RGB(0,0,0)
     .BackColor = RGB(255,255,255)
     .SelectOnEntry = .T.
    ENDWITH

    Calling Methods

    Once an object has been created, you can call the methods of that object from anywhere in your application.

    To call a method

    • Use this syntax: Parent.Object.Method

    The following statements call methods to display a form and set the focus to a text box:

    frsFormSet.frmForm1.Show
    frsFormSet.frmForm1.txtGetText1.SetFocus

    Methods that return values and are used in expressions must end in open and closed parentheses. For example, the following statement sets the caption of a form to the value returned from the user-defined method GetNewCaption:

    Form1.Caption = Form1.GetNewCaption( )

    Note   Parameters passed to methods must be included in parentheses after the method name; for example, Form1.Show(nStyle). passes nStyle to Form1’s Show method code.

  • AutoCAD Tips and Tricks: Mastering Design and Drafting

    AutoCAD Tips and Tricks: Mastering Design and Drafting

    This comprehensive AutoCAD tutorial covers a wide range of essential commands and techniques. It begins with basic drawing and editing functions, including lines, circles, rectangles, and modifying objects. It then moves to more advanced topics such as working with layers, creating blocks, and setting up units. The series includes practical tips for efficient workflows, annotative scaling, dynamic blocks, and using the Design Center and tool palettes. Finally, it explains working in isometric view, line type settings, dimensioning, and working with different objects. This content is aimed at intermediate users looking to advance their AutoCAD proficiency.

    AutoCAD Drawing and Modification Study Guide

    Quiz

    1. What is polar tracking, and why is it useful? Polar tracking is a feature that helps you draw lines at specific angles (e.g., 0, 90, 180, 270 degrees) by providing visual cues. It is useful for creating precise horizontal and vertical lines and drawings.
    2. How do you draw a line with a specific length and angle? Use the line command, click for the start point, type the length, and then press the Tab key to lock the length, which allows you to enter the desired angle.
    3. Explain the difference between a line and a polyline. A line is a single, independent segment, while a polyline is a sequence of connected line or arc segments treated as a single object.
    4. What is object snap (OSNAP), and give two examples of OSNAP modes? Object snap allows you to accurately select specific points on existing objects, such as the endpoint or midpoint. Two examples are Endpoint (extremity of a line segment) and Midpoint (center of a line segment).
    5. How can object snap tracking help you draw a line a specific distance from an existing point? Activate the command line. Hover the cursor over an endpoint, drag in the desired direction to see the “Extension” label, and then type the distance from the endpoint to start the new line.
    6. Describe two ways to create a rectangle in AutoCAD. You can use the rectangle command and specify two opposite corners, either by clicking or by entering coordinates. Alternatively, you can draw four individual lines (or polylines) connected to form a rectangle.
    7. Explain the difference between specifying the radius and diameter when drawing a circle. The radius is the distance from the center of the circle to its edge, while the diameter is the distance across the entire circle through the center (diameter = 2 * radius).
    8. How do you move an object in AutoCAD and what is the importance of the base point? Select the “Move” command, select the object, and press enter. The base point is the reference point on the object that you use to move it to the new location.
    9. How does the trim command work, and how does selecting different objects at the beginning affect the outcome? Trim is used to erase portions of objects. If you select all objects before trimming, you can trim any segment between intersections. If you select only specific objects, you can only trim segments up to those objects’ intersections.
    10. What are grips, and how can they be used to edit objects? Grips are small blue squares that appear when you select an object. Clicking on a grip allows you to stretch, move, rotate, or otherwise modify the object.

    Answer Key

    1. Polar tracking is a feature that helps you draw lines at specific angles (e.g., 0, 90, 180, 270 degrees) by providing visual cues. It is useful for creating precise horizontal and vertical lines and drawings.
    2. Use the line command, click for the start point, type the length, and then press the Tab key to lock the length, which allows you to enter the desired angle.
    3. A line is a single, independent segment, while a polyline is a sequence of connected line or arc segments treated as a single object.
    4. Object snap allows you to accurately select specific points on existing objects, such as the endpoint or midpoint. Two examples are Endpoint (extremity of a line segment) and Midpoint (center of a line segment).
    5. Activate the command line. Hover the cursor over an endpoint, drag in the desired direction to see the “Extension” label, and then type the distance from the endpoint to start the new line.
    6. You can use the rectangle command and specify two opposite corners, either by clicking or by entering coordinates. Alternatively, you can draw four individual lines (or polylines) connected to form a rectangle.
    7. The radius is the distance from the center of the circle to its edge, while the diameter is the distance across the entire circle through the center (diameter = 2 * radius).
    8. Select the “Move” command, select the object, and press enter. The base point is the reference point on the object that you use to move it to the new location.
    9. Trim is used to erase portions of objects. If you select all objects before trimming, you can trim any segment between intersections. If you select only specific objects, you can only trim segments up to those objects’ intersections.
    10. Grips are small blue squares that appear when you select an object. Clicking on a grip allows you to stretch, move, rotate, or otherwise modify the object.

    Essay Questions

    1. Discuss the importance of layers in AutoCAD. How do layers contribute to organization, and how can you control the visibility and properties of objects within different layers? Provide specific examples of how effective layer management can improve the efficiency of your workflow.
    2. Explain the process of creating and using blocks in AutoCAD. What are the advantages of using blocks, and how can dynamic blocks enhance your design capabilities? Discuss the steps involved in creating a block, including selecting objects, defining a base point, and setting attributes.
    3. Describe the steps involved in setting up a layout in AutoCAD for printing. How do you create viewports, manage scales, and add annotations in paper space? Discuss the importance of using layouts for creating professional-quality drawings.
    4. Discuss the various methods for importing and exporting files in AutoCAD. What are the advantages and disadvantages of each format (e.g., DWG, DXF, PDF)? How can you ensure that your drawings are compatible with different software and platforms?
    5. Explain the concept of external references (XREFs) in AutoCAD. How do XREFs facilitate collaboration and ensure consistency in large projects? Discuss the advantages and disadvantages of using XREFs, and provide examples of how they can be effectively implemented in a real-world design scenario.

    Glossary of Key Terms

    • Alias: A shortened command name that you can type instead of the full command name (e.g., “L” for “Line”).
    • Angle: The direction of a line or arc in relation to the X-axis, measured in degrees.
    • Arc: A curved line segment that is part of a circle.
    • Base Point: The reference point used when moving, copying, rotating, or scaling an object.
    • Block: A collection of objects that are combined into a single, reusable entity.
    • Command Line: A text-based interface where you can type commands and view prompts.
    • Diameter: The distance across a circle through its center.
    • Endpoint: The point at which a line segment begins or ends.
    • Extend: A command used to lengthen a line or arc to meet another object.
    • Grips: Small blue squares that appear when you select an object, used for editing.
    • Horizontal: Parallel to the X-axis.
    • Isolate: To make the rest of layers disappear.
    • Join: To bring objects together.
    • Layers: Virtual sheets on which you place objects, used for organization and controlling visibility.
    • Layout: A paper space environment used for preparing drawings for printing.
    • Line: A straight line segment defined by two endpoints.
    • Midpoint: The point exactly halfway between the endpoints of a line segment.
    • Mirror: A command to copy objects symmetrically
    • Modify: To edit objects.
    • Object Snap (OSNAP): A feature that allows you to accurately select specific points on objects, such as endpoints, midpoints, and centers.
    • Offset: A command that creates a parallel copy of a line, curve, or polyline at a specified distance.
    • Orthogonal: At right angles; vertical or horizontal.
    • Polar Tracking: A feature that guides the cursor to specific angles, making it easier to draw lines at those angles.
    • Polyline: A connected sequence of line or arc segments treated as a single object.
    • Radius: The distance from the center of a circle to its edge.
    • Rectangle: A four-sided polygon with right angles.
    • Rotate: To rotate objects around it.
    • Stretch: To stretch figures.
    • Tab: the button above the caps lock.
    • Trim: A command used to erase portions of objects.
    • UCS (User Coordinate System): A coordinate system that defines the XY plane for drawing and editing.
    • Units: The measurement scale used in a drawing (e.g., millimeters, meters, inches).
    • Vertical: Perpendicular to the X-axis and parallel to the Y-axis.
    • Viewport: A window in paper space that displays a view of model space.
    • WCS (World Coordinate System): The default coordinate system in AutoCAD.
    • XREF (External Reference): A drawing file that is linked to another drawing file. Changes made to the XREF drawing are automatically reflected in the host drawing.

    AutoCAD Tutorial: Mastering Essential Techniques and Features

    Okay, here’s a briefing document summarizing the main themes and important ideas from the provided AutoCAD tutorial excerpts.

    Briefing Document: AutoCAD Tutorial Excerpts

    I. Overview:

    This document summarizes key concepts and procedures covered in a multi-part AutoCAD tutorial. The excerpts focus on fundamental drawing techniques, object modification, advanced drawing features, annotation, and customization. The overall aim is to guide beginners through essential AutoCAD functionalities and enhance their precision and efficiency.

    II. Main Themes and Ideas:

    • Fundamental Drawing Techniques: The tutorial emphasizes precise drawing through the use of polar tracking, object snaps, and orthogonal mode (“Ortho mode restrict cursor orthogonally”). It covers drawing lines, polylines, rectangles, circles, and arcs.
    • Polar Tracking: “I strongly suggest you to use the polar tracking whenever you are making precise drawings.” Polar tracking ensures lines are drawn at specific angles (e.g., 0, 90, 180, 270 degrees).
    • Object Snaps (OSNAP): Enable accurate connections between objects by snapping to endpoints, midpoints, intersections, etc. “This will allow us to make our drawings with the maximum precision.” The tutorial highlights endpoint, midpoint, and object snap tracking. “Object snap tracking this is a very useful function and I will explain it with an example because I think it’s easier to understand”
    • Polylines: Polylines create a connected sequence of lines as a single object. “A polyline is a connect sequence of lines created as a single object”
    • Object Modification: Essential commands like move, copy, rotate, offset, trim, extend, and mirror are explained.
    • Offset: Creates parallel lines or polylines at a specified distance. “With the command offset I can inscribe that polyline inside with a specific distance that distance is called offset distance”
    • Trim and Extend: Trim is used to cut parts of objects: “In AutoCAD we often need to cut parts of objects we have drawn before for that we can use the command trim”. Extend is used to extend lines to intersect with other objects: “This command is used to extend lines in the example here I want to extend this line to intersect the vertical line on the left”
    • Mirror: Creates symmetrical copies of objects. “with this command we can copy objects symmetrically This is how it looks also when we need to make a symmetrical drawing we can just draw half of it and then use mirror in order to complete the process without spending time in drawing”
    • Editing with Grips: The tutorial demonstrates how to use grips (small blue squares) to modify object geometry directly.
    • Grips at the extremities of lines can change the length or position of that point while keeping the other end in the same place
    • Grip in the middle can move the line without changing the length and direction
    • Units and Layers: The tutorial explains how to set drawing units and use layers to organize objects.
    • Units: “AutoCAD uses a dimensional units this means that it’s up to me to decide what is the unit of a line that has length of 2050 or 100”. Users can choose decimal (mm, meters) or architectural/engineering (inches, feet) units.
    • Layers: Layers allow for grouping and controlling the visibility and properties of objects. “Layers is how AutoCAD organizes objects” “There are also other advantages in using layers I can set up specific colors to to distinguish them another thing for easy access I can drag this window to the left and then I click on this icon to hide it automatically then I just need to drag over the tab to see the layers”
    • Blocks: Blocks are reusable objects composed of multiple entities. This segment covers creating, inserting, and editing blocks, including annotative blocks and dynamic blocks.
    • “Sometimes we draw something that it’s easier if it would be a single unit for example a door if we want to copy it I have to select all the objects that compound the door if we convert all these objects to a block they add like a single object”
    • Dynamic blocks are created with parameters to have variable options: “There are four possibilities to linear parameters so we add the stretch then select the stretch frame and I need to cover all this part and for the objects I select those here and also at the left I press enter then I have to close the block editor and you can see again the result of stretching a part of a block the parameter alignment this parameter can be useful to ali”
    • Layouts and Printing: Explains creating layouts (paper space) to prepare drawings for printing, including viewports and scaling.
    • Layouts have a paper space where text and annotations are inserted, and the model space where the objects are created: “In AutoCAD we have two modes paper mode and model mode where the objects I drew are and to go from one place to another it is by the layouts tab”
    • “With the layout we are able to print the drawing as we want it”
    • “We set a viewport to show a specific drawing with a specific scale we realize that in a small destruction we scroll the mouse wheel and it messes up all the scale and then I have to go to the scale list and click again in this case in one per 150. however there is a very useful tool here I can lock the viewport by clicking on this icon now even I am in the model space I can zoom or move in the same way as I was in the paper mode”
    • Importing and Exporting: Covers importing PDF files and exporting to PDF format. “This video will teach you how to import drawings from a PDF that was previously created in AutoCAD I can recover all the layers and the objects as this PDF has two pages first I need to click on the one that I want to import on PDF data to import itcom Vector geometry to import the lines poly lines circles arcs and so on if I click on true type text text created with a font that has this symbol will be automatically recognized as text in AutoCAD most fonts available are to type so usually this is not a problem”
    • Customization and Utilities: Includes setting up units, working with layers, setting up default printing configurations, and using utilities such as quick select and the calculator. It shows how to modify the AutoCAD interface like color setting of the grid.
    • It also shows that there is a quick calculator that goes from basic calculations to a bit more complex ones
    • “In the utilities panel you can find other tools at a small icons at the right the first one above is quick select if I click there I open this window where I can select objects by using filters for example I can specify a type of object or select by color”
    • Stretch Command: “Sometimes in AutoCAD we need to stretch figures let’s learn how it works first it’s important to have in mind that this operation doesn’t work for blocks as you can see here I have only lines and polylines let’s do it I am going to click on the command stretch it’s this icon here then I have to select the parts to actually stretch so I open the selection from the right just until here that I specify this base points as you can see I’m extending and moving objects to this side and as the dementia line was in the selection it is also readjusting”
    • Hatches: Is a drawing tool that is used to fill in closed areas: “In this section I will be talking about a drawing tool which is used to fill in closed areas it’s the command hatch but first I am going to create a new layer in this file”
    • Arrays: with this we can copy objects arranged in a pattern there are three different modes rectangular array polar array and path array I start with rectangular array and for that I just need to click on the button that’s the mode set by default”
    • Dimension Lines: The tutorial teaches how to draw dimension lines with precision:
    • “Now I am going to teach you how to draw dimension lines this is a classic feature for annotation in your drawings in this video you can see the dimension lines indicating its distances now to draw dimension lines there is a panel on the Home tab here or if we go to The annotation tab we can have all the tools”
    • Isometric Drafting “I’m going to focus on some functions of the status bar that I haven’t explained before in the previous tutorials I will start with the isometric Drafting and to understand how it works we are going to draw this simple Cube which is represented as a 2d isometric projection there are three different planes that we can work on the left right and top”
    • Object Snap Overrides Has a useful tool that not a lot of people know suppose we are drawing a line here and we want to connect it perpendicular with the diagonal line below as you see it’s only showing up the midpoint and the end point but if I click with the right button I can see object snap overrides I go there and I can choose a different mode in this case I click on perpendicular and now you can see the symbol appearing just click on it to make those lines orthogonal twitch other
    • Text Heights Text styles can be updated by selecting and then quick select and edit them all for size and other options
    • Customized Palletes Allows you to organize design tools by drag and dropping to specific tabs and ordering the tab
    • Design Center Tool allows you to drag and drop various objects from various templates into one to copy settings over to your drawing.

    III. Key Takeaways:

    • Mastering fundamental drawing commands and object snaps is crucial for precision.
    • Layers are essential for organizing complex drawings.
    • Blocks save time and ensure consistency.
    • Layouts provide a structured way to prepare drawings for printing.
    • AutoCAD offers extensive customization options to suit individual workflows.

    IV. Suggested Next Steps:

    • Practice the exercises provided in the video descriptions to reinforce learning.
    • Explore advanced features such as dynamic blocks and parametric design.
    • Customize AutoCAD’s interface and settings to optimize your workflow.

    FAQ on AutoCAD Essentials

    1. How do I draw a perfectly horizontal or vertical line in AutoCAD?

    To draw precise horizontal or vertical lines, activate Polar Tracking (an icon in the status bar). With polar tracking on, dashed green lines will appear, indicating snapping to specific angles (0, 90, 180, 270 degrees by default). If Polar Tracking is off, even a line that looks horizontal may have a slight deviation. Alternatively, activate Ortho mode (another icon in the status bar). Ortho mode restricts cursor movement to only orthogonal directions (horizontal or vertical).

    2. How do I draw a line with a specific length and angle?

    Start the line command. Click to place the start point. Type the desired length and then press the Tab key. This locks the length, allowing you to specify the angle. Type the angle (e.g., 30 degrees) and press Enter. The line will be drawn with the specified length and angle relative to the X-axis (UCS coordinates).

    3. What is the difference between a line and a polyline?

    A line is a single, independent segment. A polyline is a sequence of connected line segments (and arcs) treated as a single object. If you draw a series of connected lines using the line command, each segment is a separate entity. If you draw the same shape using the polyline command, the entire shape is a single object. You can convert separate lines into a single polyline using the JOIN command.

    4. What is Object Snap (OSNAP), and how do I use it?

    Object Snap allows you to precisely snap to specific points on existing objects (e.g., endpoints, midpoints, intersections, centers). Activate Object Snap (an icon in the status bar). Click the small arrow next to the Object Snap icon to view and select active OSNAP modes (endpoint, midpoint, etc.). When drawing, move the cursor near the desired snap point; a green marker (e.g., square for endpoint, triangle for midpoint) will appear, indicating the snap point. Click to precisely snap to that point.

    5. What is Object Snap Tracking, and how is it useful?

    Object Snap Tracking allows you to create extension lines from object snap points. This lets you start a new line at a precise distance from an existing point. For example, to start a line 30 units to the right of an endpoint: activate Object Snap Tracking, hover the cursor over the endpoint, drag it to the right without clicking until an extension line appears, type “30,” and press Enter. This starts the new line 30 units from the endpoint. You can also use it to intersect extension lines with polar tracking to make more complex, yet precise drawings.

    6. How do I move, copy, rotate, or offset objects in AutoCAD?

    These are fundamental modifying commands:

    • Move: Select the object, specify a base point, and move the object to the desired location, typing in a distance if needed.
    • Copy: Works similarly to move but creates a duplicate of the object.
    • Rotate: Select the object, specify a base point (around which the object will rotate), and specify the rotation angle (or use the “Reference” option for rotation relative to an existing angle).
    • Offset: Creates a parallel copy of a line or a polyline at a specified distance. Type the offset distance, select the object, and click on the side where you want to create the offset (inside or outside).

    7. How do I trim or extend lines in AutoCAD?

    • Trim: Removes parts of objects that lie beyond a defined boundary (another object or intersection). Activate trim, select the cutting edges (boundaries), press Enter, and then click on the parts of the objects you want to trim away.
    • Extend: Extends lines or other objects to meet a defined boundary. Activate extend, select the boundary object, press Enter, and then click on the part of the object you want to extend.

    8. How do I set up units for my AutoCAD drawing?

    AutoCAD works with dimensional units, meaning that lines can be drawn with a length of 2, 50 or 100 without specifying if it’s meters, millimeters or inches. This makes it necessary to set up the unit properties to have accurate drawings. Type UNITS and press Enter to open the Drawing Units dialog box. Under “Length,” choose the desired format (Decimal for millimeters or meters, Engineering or Architectural for inches and feet). Select the desired precision. Under “Angle,” select the desired angle units. Under “Insertion scale,” choose the unit you intend to use for your drawing (millimeters, meters, inches, etc.).

    Introduction to AutoCAD for Beginners

    Overview of the Course

    Hello friends, my name is Fabio, and welcome to this complete course for beginners in AutoCAD. This video is intended for learners who are using the software for the first time. The course is 4 hours long, giving us ample time to explore all the basics and delve deeper into some topics that I find particularly useful. This video is a compilation of three tutorials that I decided to combine into one, as I know some users prefer to have all the content in a single video. However, if you prefer to watch them separately, you can find the links in the description of this video. In this course, I will be using AutoCAD 2020 and AutoCAD 2022 in the last tutorial. Don’t worry if you have a different version, even if it’s a bit older, as I will conduct the lessons in a way that works for all versions.

    AutoCAD Interface and Basic Tools

    The Default Display

    When you open AutoCAD, you are greeted with the default display, which consists of different areas. At the top left, you’ll find the application icon, which is the menu where you can open a new document, open a file, or perform operations related to saving or exporting a file. The main part at the top is called the ribbon, where you’ll find the majority of tools you’ll need during your work. The ribbon is divided into tabs, such as the Home tab, which contains the most frequently used icons. If you switch to the Insert tab, you’ll find icons related to inserting objects into your drawing. Within each tab, the icons are further subgrouped into panels. For example, in the Home tab, the first panel contains icons for drawing actions, the second panel for modifying objects, and the third panel for annotation icons. Additionally, when you click on a panel that has an arrow facing down, it shows extra icons that are used less frequently.

    Using Tools in AutoCAD

    Let’s start by learning how to use some basic tools in AutoCAD. For example, if you want to draw a line, you can click on the line icon, go to the workspace, click for the first point, and then click again for the second point. It’s that simple. However, I want you to pay attention to the command bar, which shows the operations that are taking place during your project. For instance, when you click on the line icon, the command bar will display “Line specify first point.” The first word in capitals is the command name, in this case, “Line.” The prompt sentence tells you what you should do next. After specifying the first point, it will ask you to specify the next point. You can continue drawing lines, but if you want to exit the line command, you can press the Escape key. In conclusion, to perform any action in AutoCAD, you can type its command name, for example, “Line,” and press Enter. You can then draw a line and press the Escape key to leave the command.

    Drawing Lines and Circles

    Drawing a Line with Specific Length and Direction

    Now that you know how to draw a basic line, let’s learn how to draw a line with a specific length and direction. To draw a horizontal line, you need to activate the Line command by clicking on the icon or typing “L” (the alias for Line) and pressing Enter. Click anywhere on the workspace for the start point, then drag the cursor to the right. You’ll notice a green dashed line with a label saying “Polar” and “0 degrees.” If you click now, the line becomes completely horizontal. This happens because the polar tracking is turned on. Polar tracking allows the cursor to snap to certain angles, which are set by default to 0, 90, 180, and 270 degrees, making the lines vertical and horizontal. If you turn off the polar tracking, you’ll notice that the dashed green line disappears, and even if the line looks horizontal, there will always be a slight deviation. Therefore, I strongly suggest using polar tracking whenever you are making precise drawings.

    Drawing a Circle

    Next, let’s learn how to draw a circle. You can click on the circle icon or type the command name, which is “Circle.” Each command also has a shortcut called an alias, so you don’t need to type the full name. For example, “C” is the shortcut for the Circle command. During this tutorial, each time I introduce a new command, I will make an annotation on the left part of the screen showing the command name, the alias, and its location on the ribbon. This way of inserting commands makes AutoCAD easy to switch between different versions. For example, if you are using AutoCAD 2007, which has a different display, you can still work with no problems because the command names and their shortcuts are the same. The same applies to the Mac version of AutoCAD, even though the icons are in different places. You can just type the command names and don’t need to worry about finding them on the screen.

    Using the Mouse in AutoCAD

    Zooming and Moving the Workspace

    Having a mouse is very important for working in AutoCAD, as it’s much more comfortable than using just a touchpad, especially for zooming or moving the workspace area. Let’s see the functions of the mouse buttons. With the mouse wheel, you can zoom in and out of the workspace. It’s very simple: if you scroll up, you zoom in, and if you scroll down, you zoom out. The zooming always applies to the exact location of the pointer. For example, if you want to zoom in on specific objects, you need to move the pointer over them and scroll up. To move the workspace area, press and hold the mouse wheel. When you see a hand icon, you can move around the workspace.

    Selecting Objects

    Clicking with the left mouse button allows you to select objects. For example, if you click on a circle, it will be selected. If you want to select multiple objects, you can click on one object and then click on another without pressing the Ctrl key, unlike other programs. However, if you have a bunch of objects to select, it could take a long time to select them all. For that reason, if you click in an empty space, a selection area opens, allowing you to select more than one object. There are two kinds of selection areas: if you open the area to the right, the color is blue, and if you open it to the left, the area appears in green. The difference is that when you open to the right (blue color), you have to cover the entire object to select it, whereas if you open to the left (green color), it’s enough if you only cover one part of the object. You can also tell if an object is going to be selected when you see it turning bold.

    Advanced Drawing Techniques

    Using Object Snap for Precision

    Object Snap is a very important function in AutoCAD that allows you to make your drawings with maximum precision. For example, if you want to draw a line that connects to the endpoint of another line, you can use the Endpoint object snap. When you move the cursor near the endpoint of a line, a green square will appear, indicating that you can snap to that point. Similarly, you can use the Midpoint object snap to draw a line from the middle point of another line. Object Snap Tracking is another useful function that allows you to draw lines at specific distances from existing objects. For example, if you want to draw a line that is 30 units away from the endpoint of another line, you can use Object Snap Tracking to ensure that the new line starts at the correct distance.

    Drawing Rectangles and Circles

    To draw a rectangle, you can use the Rectangle command, which is essentially a faster way to draw a polyline with four sides. You only need to specify two points: the first corner and the opposite corner. You can also insert coordinates to specify the exact dimensions of the rectangle. For example, if you want to draw a rectangle that is 40 units wide and 20 units tall, you can type “40” for the x-axis, press Tab, and then type “20” for the y-axis. To draw a circle, you can click on the Circle icon and specify the center point and the radius. For example, if you want to draw a circle with a radius of 20 units, you can type “20” after specifying the center point. You can also use the Diameter option to specify the diameter of the circle instead of the radius.

    Modifying Objects in AutoCAD

    Moving and Copying Objects

    In AutoCAD, you often need to move or copy objects to different locations. The Move command allows you to move an object to a new position. For example, if you want to move a rectangle to a distance of 60 units to the right, you can use the Move command, select the rectangle, specify a base point, and then type “60” to move it horizontally. The Copy command works similarly to the Move command, but instead of moving the object, it creates a copy of the object at the new location. You can continue copying the object as many times as you want, and when you’re done, you can press Escape to exit the command.

    Rotating and Scaling Objects

    The Rotate command allows you to rotate objects around a base point. For example, if you want to rotate a set of objects by 90 degrees, you can use the Rotate command, select the objects, specify a base point, and then type “90” to rotate them. The Scale command allows you to resize objects by a scale factor. For example, if you want to double the size of an object, you can use the Scale command, select the object, specify a base point, and then type “2” to scale it up. You can also use the Reference option to scale an object based on a reference line. For example, if you have a reference line that is 50 units long and you want to scale an object so that the reference line becomes 55 units long, you can use the Reference option to achieve this.

    Working with Layers and Blocks

    Organizing Objects with Layers

    Layers are a way to organize objects in AutoCAD. For example, if you are working on a floor plan, you can create separate layers for walls, doors, windows, and text labels. This allows you to easily control the visibility and properties of different types of objects. You can create a new layer by clicking on the Layer Properties Manager and then clicking on the New Layer button. You can then set the name, color, and line type for the new layer. Once you have created a layer, you can assign objects to that layer by selecting the objects and then choosing the layer from the Layer drop-down menu.

    Creating and Using Blocks

    Blocks are a way to group objects together so that they can be treated as a single object. For example, if you have a door that consists of several lines and arcs, you can convert it into a block so that you can easily move, copy, or scale the door as a single object. To create a block, you can use the Block command, select the objects that you want to include in the block, and then specify a base point. Once you have created a block, you can insert it into your drawing by using the Insert command. You can also edit a block by using the Block Editor, which allows you to make changes to the block that will be applied to all instances of the block in your drawing.

    Printing and Plotting in AutoCAD

    Setting Up Layouts for Printing

    In AutoCAD, the Model tab is where you create your drawings, and the Layout tabs are used for printing. When you switch to a Layout tab, you’ll see a paper with a specific size, and the drawings on the paper are what will be printed. To print properly, you should specify the paper size that you need. You can do this by right-clicking on the Layout tab and selecting Page Setup Manager. In the Page Setup Manager, you can choose the printer, paper size, and orientation (landscape or portrait). Once you have set up the page, you can create a viewport, which is like a window into your model space. You can then adjust the scale of the viewport to fit your drawing on the paper.

    Printing Tips

    When you are ready to print, you can right-click on the Layout tab and select Plot. In the Plot dialog box, you can choose the printer, paper size, and other settings. If you want to hide the viewport when you print, you can create a new layer for the viewport and then freeze that layer. This will make the viewport invisible on the printed page. You can also set up different colors for printing by changing the viewport color in the Layer Properties Manager. For example, if your drawing has light colors that are hard to see on a white paper, you can change the viewport color to a darker color to make the drawing more visible when printed.

    Conclusion

    In this course, we have covered the basics of AutoCAD, including the interface, drawing tools, modifying objects, working with layers and blocks, and printing. By practicing these skills, you will be able to create precise and professional drawings in AutoCAD. Remember to take advantage of the exercises provided in the video description to strengthen your knowledge. As you continue to work with AutoCAD, you will discover more advanced features and techniques that will help you become even more proficient in using this powerful software. Thank you for watching, and I hope this course has been helpful in getting you started with AutoCAD!

    Autocad – Complete course for beginners

    The Original Text

    Hello friends my name is Fabio and welcome to this complete course for beginners in AutoCAD this video is intended for Learners that are using the software for the first time but as you can see it has 4 hours of length here we will have time to explore all the basics and get deeper in some topics that I find useful to learn in fact this video is a compilation of three tutorials that I decided to put them all together in just one as I know that some users prefer to learn with the full content in only one video but of course in the case you prefer to watch them separately please find the links in the description of this video then you will notice that in this video I’m using the versions AutoCAD 2020 and the version 2022 in the last tutorial of the course but don’t worry in the case you have a different version even if it is a bit older that’s not going to be an issue because I will conduct a lesson in a way that works for all now it’s time to start [Music] okay this is the AutoCAD default display which consists in different areas above at the left you find the application icon this is the menu where I can open a new document open a file or do operations regarding saving or exporting a file then the main part at the top is called the ribbon there you find the majority of tools you will need during the program right above so you can find these steps which group the buttons in different categories for example the current one is the Home tab which has the most used icons if you switch to the insert tab I find in this case icons related to this category then inside the specific tab the icons are subgrouped in panels for example in the in the Home tab the first panel have the icons which can perform drawing actions in the second panel they are related to modifying objects and on the third panel are The annotation icons additionally when you click in a panel that has an arrow facing down it shows extra icons which are used less often has a diagonal Arrow at the right I can access to the settings window of this category now let’s show you how to use tools in AutoCAD for example imagine I want to draw a line as you may guess I can click in the icon here I go to the workspace I click for the first point and then where I want the second point I click again simple then I’m going to repeat the process but this time I want you to pay attention to this the command bar this shows the operations that are taking place during the project I will show you I click again in the line icon and you can notice here line specify first point the first words which appears in capitals is the command name in this case line then that’s the prompt sentence which tells me what I should do next though I click here to specify the first point then it asks to specify next Point click again as you see I just draw a line but it keeps asking for specifying another point it would draw a new line as I don’t want I can press escape to exit the line command in conclusion to perform any action in AutoCAD I can type its command name for example I type line and press enter and I can draw a line then press the button escape to leave the command now I want to draw a circle I can click in its icon or type the command name which is circle additionally each command has a shortcut called Alias so I don’t need to type its full name for example L is the shortcut for the command line and C is a shortcut for Circle during this tutorial each time I introduce a new command I make an annotation at the left part of the screen showing the command name the Alias and its location on the ribbon this way of inserting commands makes AutoCAD easy to switch from different versions if for any reason I’m going to a computer that has AutoCAD 2007 which had a different display than this one I can still work with no problems because the command names and their shortcuts are the same of course some functions were not available in that time but almost all the basics didn’t change the same applies to the version in Mac even AutoCAD 2020 there has a different display the icons are in different places you can just type the command names and don’t need to worry to find them out on the screen how to use the mouse in the workspace having a mouse is very important for working in AutoCAD as it’s much more comfortable than using just a touchpad especially for zooming or moving the workspace area let’s see the functions of the mouse buttons here I attach this image to help you most wheel with the mouse wheel I can zoom the workspace it’s very simple if I scroll up I zoom in if I scroll down I zoom out the zooming always applies to the exact location of the pointer for example in this situation if you want to zoom these objects I need to move the pointer over them scroll up and you notice they are filling all the screen simple to move the workspace area press and hold the wheel when you see this hand you can move around left button clicking with the left button I can select objects like this circle if I want to select the circle and the line I can click first in one then in the second without pressing the Ctrl key unlike other programs but now imagine you have a bunch of objects to select it could take a long time to select them all for that reason if I click in an empty space a selection area opens this allows me to select more than one object however this is important there are two kinds of selection if I open the area to the right the color is blue if I open to the left the area appears in green color what’s the difference when I open to the right blue color I have to cover the entire object to select it if I would open to the left green color it’s enough if I only cover one part also you can understand if the object is going to be selected when you see it turning bold now the right button the right button opens this panel with several options you can choose but when you select an object and right click you can access for example to its properties I click it’s a long list over here I’m going to close it however there is a compact version of properties quick properties which contains the most important features for this line you can see the object type line color layer line type and length by the way in the quick properties of this circle some of the topics didn’t pop up for the line as they are more relevant for circles like the diameter radius or area in this capture I’m going to teach you to draw lines properly the line is probably the most basic tool and the one you will use most of the time before I showed how to draw a line but without any specified length or Direction I mean if it’s horizontal vertical or if it makes an angle with the x-axis for example that’s exactly what you will learn the next few minutes draw a horizontal line to draw a horizontal line I need to activate first the command line I can click on the icon there or type the command name as you remember from the first capture or I can simply Type L it’s the Alias for line and press enter I click anywhere on the workspace for the start point then I’ll drag the cursor to the right and you can notice the Stars green line with this label saying polar and 0 degrees if I click right now the line becomes completely horizontal this happens because I have the polar tracking turned on this icon located in the status bar the polar tracking allows the cursor snapping to certain angles by default these angles are set for 0 degrees 90 degrees 180 degrees and 270 degrees making the lines vertical and horizontal now look what would happen if the polar tracking is off click on the icon it’s disabled now then I’m going to draw a line again Type L press enter click for placing the start point then as I’m trying to draw a horizontal line I realize that the dashed green line is not there that means when I click even the line Looks horizontal there will always be a slight deviation so I strongly suggest you to use the polar tracking whenever you are making precise drawings draw a line with specific length this time I’m going to draw again the horizontal line but with a precise length of 100 it doesn’t matter the units for now as the last command used was line I can press enter to revert to the previous one look it turned on again the command I click I move horizontally to the right now that the line is on the direction I desire I can type 100 and press enter easy you just drew a horizontal line with a length of 100. but be aware when I type the length I cannot change the direction anymore see I move the mouse and nothing happens so if it’s not on the direction you want you can press Escape now I can make it vertical for example insert the length again and press enter to confirm this I click on the line right click go to Quick properties and here you have it length 100. Ursa mode if I want to draw only orthogonal lines I can click on the icon also mode restrict cursor orthogonally then when I’m drawing a line I can only make it horizontal or vertical this can be useful if I’m at a part of a project where I just need those type of lines like in the example here now let’s draw this line here with 70f lengths but with a 30 degrees angle from the x-axis which you can check looking at the UCS coordinates they are by default located at the left corner of the screen here so I draw again a line start point I type 70 but this time instead of pushing enter I press the button tab the one above the caps lock with this way I locked the length but I can choose the direction I placed a pointer more or less here type 30 and press enter as you see it’s quite simple then look at these different situation the line makes the same angle but in the opposite direction I do the same as before type the length then look at this label showing the current angle while I’m moving the cursor around it’s increasing until I reach half circle 180 degrees then it decreases as now it’s showing the other side angle basically if I’m below the x-axis and type 30 the angle starts again in the same place but in a clockwise Direction next to the line icon is the polyline a polyline is a connect sequence of lines created as a single object for example let’s draw this exercise here I click in polyline choose a start point to draw the first line go up and make sure you have the polar mode switched on type 20 press enter then to the right I Type 25 press enter again and finally vertically down this is important always click when the polar tracking is on the screen type 20 again press enter and Escape so if I click in the polyline it selects the full sequence as you see although I could use the command line to draw the same example all the lines would be considered as separate objects now that you know the basics to draw lines I want to introduce to you a very important function in AutoCAD the object snap this will allow us to make our drawings with the maximum precision take a look at the next example let’s draw it I can use either line or polyline command I choose polyline I’m going to type its shortcut PL OT the first line then the vertical one as there is no line to continue here I press Escape now the third line has to be connected to this intersection I turn on the command line I move the cursor near the left end of this line and look at this green square appearing here saying endpoint the same happens when I go to the other side you can see it again if I click right now the next line starts automatically from that point and it means the three lines are now connected to each other Type 25 and press enter those green squares only appear because the object snap is active it’s this icon at the status bar at the arrow just next I can see the modes that are currently active see here the end point which is an extremity everline segment now I’m going to introduce you also the midpoint first I’m going to click in it because it’s not active then I want to draw a line from the middle point of this one I activate the command line C this triangle indicates the midpoint I click now and the next line starts exactly from there object snap tracking this is a very useful function and I will explain it with an example because I think it’s easier to understand we have this example here and we want to draw this line which is located at a distance of 30 from the right I turn on the command line place the cursor on this endpoint drag left slowly so that I see this label that says extension in this moment if I type 30 the new line starts with that distance from the end point it’s simple and with this we can avoid drawing extra lines then you just need to draw the remaining objects to connect this line with the rectangle below drag it down until I see this cross here now click and press Escape another way to use object snap tracking can be when I’m drawing this rectangle I can draw an extension line up from this point until I intersect the polar tracking of the line I’m making like this so this kind of things are very interesting to play around now you need to make a bit of practice to strengthen the knowledge you got in this video for that reason I prepared these exercises for you you can get them in PDF by clicking on the link available in the description part 2. I am going to explain to you briefly more drawing commands rectangle a rectangle is in reality a polyline it’s just a faster way to draw this kind of objects as I just need to specify two points I’m going to show you the command is this one specify the first point and then I only need the opposite corner I can simply click to place it or insert a coordinates regarding the first point that’s where I’m going to do the first blank is for the x-axis type 40. then I press tab to switch to the second coordinate this one is for the y-axis type 20 and press enter again in fact what I have done was inserting the length and the width simple however as I still have to take into consideration that UCS coordinates sometimes the values might be negative let’s suppose I draw another rectangle but with the start point the x coordinates would be -40. click for the start point then type -40 press tab and that’s the Y coordinates are positive I type 20. here you have the result Circle to insert a circle in AutoCAD I can click in this icon as I believe you guessed then just follow the prompts to draw the example here specify center point of the circle OK I click anywhere then specify radius of circle it is 20. I type that value and press enter let’s do the next now check out this tip as I want to use again the command circle press enter the system automatically reactivates the previous action this is very important to know it saves time I am going to draw the same Circle again now look to the prompt at the command bar specify radius of circle or diameter so instead of typing a radius I can switch to typing a diameter I do it by clicking on it or simply type the first letter d then press enter as I’m drawing the same Circle the value is 2 times the radius 40. press enter again okay this is just one of the several ways to insert a circle if I click on the Arrow below the icon you can see all these options available that depends the situation that you are drawing Arc an arc is a section of a circle and like the previous command there is an arrow below the icon with different ways of specifying points I’m going to draw the Arc of this example above and the best option here is inserting the start point then the center and finally the end point by default AutoCAD draws The Arc in the clockwise Direction let’s click on the Arrow then find Start Center end click on the end point of this line for the start point the center is the intersection between both lines and finally the end point is this one see how the arc is being drawn clockwise modifying objects until this moment I taught you the most used commands to draw in AutoCAD in this section I will introduce to you commands that will help you in modifying objects and to be more effective while drawing I’m going to start with the basic ones move to move an object to a different place for example want to move the small rectangle to a distance of 60 to the right click on the icon select a rectangle press enter specify a point from where I want to move the object then I move to the right horizontally and type the distance of 60. press enter in the following example I want to move the rectangle to the other box which is located at the same distance from the corner as here I activate move again I select the object press enter but this time the base point it’s going to be the corner then I click in the next corner to move it there copy this command works in the same way as the command move I’m going to copy the object to the first rectangle I use this base point then I can copy it in this intersection then I realize I can keep copying the object the number of times I want do you see it’s very nice this and when I’m done I press Escape rotate to rotate objects I can use this command let’s see how it works I click on the icon select the objects press enter then I choose a base point where the objects can rotate around it as the bullet tracking is on I’m going to rotate them 90 degrees to this side another situation the same objects are in this position if I try to rotate them back to the position they were before the polar tracking doesn’t work this time however I can use a different way if you look to the prompt there is an option that says reference to use it I can either click on it with the mouse or type R usually the first letter is enough after I can specify a reference angle or draw a reference line let’s draw a reference line I prefer this click here for the first point then for the second point I choose this endpoint finally I can rotate until the polar tracking appears now look at this polyline with the command offset I can inscribe that polyline inside with a specific distance that distance is called offset distance and it has a length of 10 in this example let’s do it the icon of set is this one clicking it then for specify offset distance I type 10. select the polyline I move the pointer inside and click there to draw the new polyline by the way if I click outside the area the new polyline offsets outside the original one the command of set can also be applied to lines if I have this line and apply offset to it a new line shows up parallel to the first one now I want to show you a situation that happens to a lot of people I’m going to draw a rectangle with a command line then I want to offset the lines like before I type O to activate a command specify the distance of 10. and when I click to offset I realize I can only click on one line at a time and the result is different than when I applied to poly lines however I can easily merge lines in a polyline there is a command for it join I type join or I can still find the icon on the modify panel here it’s very simple select the lines to merge and press enter as you see now I have a polyline finally if I do offset again the result will be identical as my first example commentary in AutoCAD we often need to cut parts of objects we have drawn before for that we can use the command trim let’s check out how it works I’m going to start with a very simple example we have these lines and I want to erase this segment I click on the command trim is located there select both lines press enter then if I drag the pointer over here the screen shows that this part will be erased the same happens when I move the pointer to the other segments I click on this one and you see it disappearing it’s done to leave the command press enter or Escape look to this example this time we have three lines I turn on trim again select all the objects and then I can erase any segment between any intersection as you see now suppose I want to erase all this part of the horizontal line turn on trim the vertical line on the right I don’t need to select just the other two press enter and when I’m going to click on this line it erases everything from the intersection of the lines I have selected to the right maybe for this situation this didn’t make a big difference but look at this case here I want to delete all this part of the line if I select everything then I need to erase one by one it takes a long time so it’s better to only select the lines I’m going to use like this of course I can use stream not only for lines it works for other kinds of objects for example I want to change this drawing to that one I activate stream select everything press enter and finally click on the parts to erase extend this command is used to extend lines in the example here I want to extend this line to intersect the vertical line on the left I am going to click on the Arrow located next to the command trim then I select extend first I have to select not the line that I want to extend but the one where the extended lines will connect so it’s this one press enter then I select the line to extend to extend the line to the left I have to click on the left half in order to work look if I drag the pointer over the right half nothing happens I go slowly to the left and after passing the middle the extension appears again I click and press enter in this example I want to extend all the vertical lines on both sides I type EX press enter select both horizontal lines press enter again to extend the lines up I can open a selection area to cover the upper part of all vertical lines I click then I do the same for the part below to extend the lines down when I finish I press enter to exit the command of course in this situation there is a faster proceedment by opening an area that covers both line sites that extends both parts in just one step mirror with this command we can copy objects symmetrically this is how it looks also when we need to make a symmetrical drawing we can just draw half of it and then use mirror in order to complete the process without spending time in drawing let’s see how the command Mirror Works for these objects click on the icon select everything and press enter then the prompt asks me to draw a mirror line I’m going to insert the first point at a distance of 20 from the objects I Hove the mouse over this endpoint move right type 20 and press enter I’m going to draw the line vertically and you can see everything reflected as a mirror I click for the second point now the prompt sentence says erase Source objects I choose now to keep the original ones notice that all lengths are kept including the distance between the objects and the mirror line now check out these considerations about command mirror it doesn’t matter the length of the mirror line just the direction as you can see if I draw a long vertical line the result is the same only if I rotate it the objects are placed differently to make a symmetrical drawing I just need to draw half of it because if I draw a vertical mirror line in this end point the new mirrored objects connect to the original ones it’s simple sometimes I don’t want the original objects in the option erase Source objects I choose yes that’s the result editing objects using grips the blue icons that show up when I select an object are called grips and they allow me to edit it when I select the line there are three groups if I click in one at extremity I can change the position of that point keeping the other end in the same place if I click on the grip in the middle I can move the line without changing the length and direction now let’s see some editing tips change the line length by moving one of the ends I’m going to click on this icon I drag left I’m going to type 10 and the line length increases to 80. of course this also works if I want to make the line shorter click again this time I drag right type 10 and the line returns to its previous size to type a new length to the line I click on the grip drag left and this time I press the button tab and the input switches to the full length I am going to insert 120. then let’s check out how grapes work on polylines the end grips of each line Works in identical way I click on this one to change its position and you can see all the other vertexes don’t move of course this may cause me to deform the polyline now unlike the lines the grip on the middle has a rectangular shape I’m going to click on one and I can move that full line then the rest of the polyline has to adapt to its new position for example I move right type 10 and you can notice this line increases 10 of its total length so we reached the end of the second part of this tutorial now I prepared more exercises for you in order to practice what you have learned here the link is in the description of the video after don’t miss the third part of this course as I will keep teaching very important features for beginners as setup units work with layers platter drawing and more part three until here I taught you commands to draw objects and modify them but I haven’t mentioned any units for the dimensions when I was drawing lines I said draw a line with dimensioner 50 or 100. I didn’t say if it was meters millimeters inches or feet but I’m going to talk about this now first of all AutoCAD uses a dimensional units this means that it’s up to me to decide what is the unit of a line that has length of 2050 or 100. it’s very simple let’s suppose I want to make a project in millimeters that’s the unit I usually work with I want to insert a line with five millimeters of length I draw the line as usual and when I want to set up the length I type 5. then I’m going to insert a line that measures 1 meter I do the same but this time for the length I type 1000 because as you may know one meter is one thousand millimeters now let’s go to the unit properties window I type units and press enter here on the length section at the left you can choose the format for units of measure if you work in millimeters or meters you should use decimal units instead in some countries it’s more common to use inches and feet in this case engineering or architectural units are more suitable below you can set the Precision in this drawing I consider the units millimeters and I don’t need decimals so I choose the first option at the angle side I can choose the units for angles most of the time I use test symbol degrees but there are others here that could eventually be more suitable for you the units in insertion scale are used only when I insert objects or drawings from a different file usually when we start learning AutoCAD I don’t need to insert anything external but in my opinion it’s better to specify the unit I click on millimeters when I finish I click on OK to exit foreign layers is how AutoCAD organizes objects for example have a look to this file here I have two floor plans it’s a proposal for converting offices in Flats so instead of having the objects all together I decided to organize them in different layers I am going to click on this icon to open the layer properties manager here you can see that I created layers to group different categories of objects for example I placed the windows in one layer the walls in another and I did the same for the doors text labels and so on there are also other advantages in using layers I can set up specific colors to to distinguish them another thing for easy access I can drag this window to the left and then I click on this icon to hide it automatically then I just need to drag over the tab to see the layers now I am going to explain to you how we can work with layers and tell you some considerations new layer if I want to create a new layer I click on a blank space on this window with the right button then I click on new layer then I can set up a name for the new layer for example stairs and if I click on the color for example I can change it to the one that I want I’m going to choose this yellow under line type I have a continuous line by default however if I click on load I can find several line types dashed lines or other formats clicking on this light I can turn off a layer for example I’m going to turn off the layer doors and you can see those objects disappearing from the screen there is also the mode freeze even it looks like it has the same effect as turning it off freezing a layer releases it from memory you can notice the difference in the performance when you work with very large drawings especially freezing layers that contain loads of 3D objects now suppose that I want to move these objects to the layer stairs I have to select them go to the layer tab and change to stairs you can see that they changed the color then I want to draw a new line in a specific layer first choose the layer and then I can draw the line it’s simple always specify the layer before drawing to avoid changing it after isolate layers to isolate the layer I can click on this icon then I click on one object of the layer that I want to isolate this operation locks all the objects inside the other layers meaning that I cannot edit them now this is useful for me to modify objects from this layer text for example I want to move all the text to the left I activate the command move open the selection window to select the objects click for a base Point move left and click again to restore all layers that were locked before I click on the icon right below and isolate layer 0. if I move the pointer over the layer properties you can check here the layer 0. default layer anytime I start a new file in any project I recommend to you to keep this layer without objects there you cannot rename it or delete it however this layer can be useful for creating blocks which is what I’m going to explain on the next section of this video sometimes we draw something that it’s easier if it would be a single unit for example a door if we want to copy it I have to select all the objects that compound the door if we convert all these objects to a block they add like a single object so I want to convert this door to a block as it’s on the floor plan to be easier to select it I’m going to isolate the layer where the objects are located in click on the icon isolate and click on any object of the door press enter and the layer doors became isolated let’s use the command copy now it’s very easy to select only the door with the selection area that’s because all the other layers are locked press enter and I can copy the door outside the plan creating a block before creating a block I’m going to move these objects to the layer 0. by doing that I can later move the block to the layer I desire and it gets its properties I select the objects and I’m going to click on the icon create a block the block definition window appears here I can set up a base point for the door I choose this corner here back to the window I have to write a name for the block I name it as door when I finish I click on OK so the block is created if I click on any part of the door you can see that this is now a single object now I’m going to change the block to the layer that I want and you can see while I’m scrolling here it changes the color to match the new layer however if I created the block with objects in another layer for example stairs I’m going to create the block then I’m going to change the layer of the block to another one but it keeps the properties of the layer stairs the layer 0 on the other hand means that the objects don’t have any layer assigned check out this example add doors to the floor plan as you know I have my new block here with the command copy I can insert them easily in the floor plan I just have to click on the endpoints of these lines a great advantage of using blocks is the ease of modifying them I go to this button that says edit block then I choose the block door I click on OK this is the block editor workspace and also a new tab for editing blocks appeared on the ribbon here I can make all the changes that I want to this block for example I’m going to draw a circle here then I close the block editor and save the changes as you can see all the block references of the black door have a circle inside which can save amounts of time in this section I am going to explain how you can print in AutoCAD I know there are a lot of people struggle with this topic as it’s a bit complex but I will explain the most important tips to make it as simple as possible first of all look at the tabs located here the first one that says model is where we can make all the project this workspace seems to have an infinite area so we can make the drawings that we want but of course the larger the file the slower the computer gets the tabs that say layout are used for printing I’m going to layout one here there is a paper with a specific size and these drawings is what we it would be printed to print properly we should specify the paper size that we need I am going to click here with the right button and then click on page setup manager in this window I choose layout 1 and click on modify so here you have the page setup first we should choose the printer by clicking on this tab if we want to save a page in PDF there are several options here regarding the file size and print quality I usually use this one DWG to PDF to change the paper size I have to click on this tab for this case I want A4 this one on drawing orientation I choose between landscape and portrait finally click OK and close to save changes now that we have the paper size we have to decide what we want to print on there on the layout tabs there are two spaces paper and model space we can switch between them here currently we are in the paper space if I play Zoom or move it works for the paper notice this rectangle here where I have the drawings it’s a viewport and it’s like an access to the project I am going to double click inside and it switches to the model space now if I zoom the paper doesn’t move just the objects that I drew as well if I draw a line here it will appear exactly in the same place in the model tab change the size of the viewport I’m going to click on model to switch to the paper space again at this moment I can select a few ports then with the grips I can modify it to cover the entire paper double click to go to the model space now I can zoom in the drawing or put a specific scale for the paper it’s here I specify for example one per 100. when I finish I am able to print the drawing click here with the right button and this time I click on plot continue to plot a single sheet here I can click on OK to print or in this case to export the file as a PDF some printing tips hide the viewport when I plot the file the viewport appears by default on the paper if you want to hide it follow the next steps go to the layer properties manager and create a new layer just for the viewport switch to the paper mode click on the viewport and move it to its own layer then go again to the layout properties and freeze the layer you can see that it’s not appearing anymore so if you save as a PDF or print the file right now the viewport is not visible have different colors on the viewport the default AutoCAD workspace uses a dark background with a reason to be better for the eyes when working for several hours because of that it is common to use light colors in our project the problem is when we switch to the layout mode the colors can be too light for a white paper for example the doors are a bit hard to see don’t worry it’s possible to set up different colors for printing first you have to double click on the viewport to switch to the model space go to the layer properties and you can see this column with the label VP color if in your version is not located next to the color tab look at the right end of this table then I’m going to change the color for the layer doors click here and put this one for example now it’s much better insert text I am going to explain to you quickly to insert text in AutoCAD it’s not hard and there are two types of text single line and multi-line text I will start with single line text first we insert the start point then this line specifies our text height I can either click or specify a distance I’m going to type 100 press enter and then I choose the direction if I want to type horizontal text I need a horizontal line now I can write anything and when I finish I click in a different place to write another text or if I don’t want more I can just press enter or Escape now let’s see the multi-line text wait the command choose first point and I specify a selection area to fit the text in but just the horizontal length the height of the rectangle doesn’t matter then I can write the text I like the single text this this time a temporary tab for editing text appears on the ribbon here I have options for editing a paragraph and much more if I want to change the height I need to select the text and change it here as you know this is very simple to write text in AutoCAD part 4. in this part I’m going to teach how to scale objects how to attach an image to the drawing and apply a scale in order to have the real dimensions how to import a PDF file and this is especially useful when the file was previously created within AutoCAD how to stretch objects and how to fill in closed areas with the command hatch of course as always I like to share some tips with you along with the explanations let’s start scale objects let’s learn how we can scale objects this command is not hard but you should understand it well if you want to use it properly to turn on the command scale click on the icon it’s this one select the objects I want to scale in this case I want to scale the figure on the right choose this base point now there are several modes to scale objects the one by default is to insert a scale factor I am going to type 2 and the lengths of all these lines changed to double size okay I’m going to repeat the process but this time I want to shrink the objects to half size I type SC to activate the command again select the objects but now I don’t select the dimension line for the scale factor I insert 0.5 and the lines were convert to half of the length that they used to have previously look that this Dimension line was updated even it was unselected scale with a reference now I’m going to show to you how to insert the scale with a reference I turn on again the command scale and select the objects select the base point looking to the command bar it says specify scale factor or these options copy and reference I’m going to use the shortcut R to use the reference and what I need to do here is draw a reference line and type a new length for it so it’s very simple I click for the first point and then I click for the second point finally I type the new length which is 55. and press enter to confirm it use scale to import a PDF or attach an image in AutoCAD it’s possible to insert an image to use as a background of a project for example images from Google Earth can be used to draw site plans to attach an image file I go to the inserts tab at the ribbon click on attach and select an image from my computer I choose this one in this window I can set few options here it’s important that I click on specify on screen the insertion point otherwise the image is inserted on the coordinates which are specified here okay except if it’s exactly what you want I click on OK and now I click for placing the image for the scale factor I’ll leave it for now press enter so what happens here most of the time that we insert an image it’s not scaled properly for example I have a reference between these two points which is approximately 206.17 meters if I use the distance command I type the I press enter I can notice that the distance here is a bit longer than what it should no problem I can use scale with reference I turn on the command scale select the image by clicking on the border if I click inside the image it doesn’t work change the mode to reference and then I draw the line between those two points I will try to make it as accurate as possible now it should be correct ah and I want to share a tip with you always try to use a long reference line because if understand my reference was a short distance after scaling the image tends to be less accurate to import a PDF file I can click on the icon also located on the search tab here I’m going to choose the file of the exercises then the window that opens has a bit more complex options than for attaching images actually this is a very useful function because if I insert a PDF that was previously created in AutoCAD I can recover all the layers and the objects as this PDF has two pages first I need to click on the one that I want to import on PDF data to import itcom Vector geometry to import the lines poly lines circles arcs and so on if I click on true type text text created with a font that has this symbol will be automatically recognized as text in AutoCAD most fonts available are to type so usually this is not a problem here the option below I click on it if I have raster images attached in this case there aren’t so I keep it unselected then on the right panel I take on the first option use PDF layers on the panel below you can find more options to add but for now let’s click on OK and I am going to insert the file on the project nice now if I go to the layer properties I can see that new layers were created from the PDF and due to the fact that I made this drawing in not a cat the layers are the same from the original DWG file I’m going to check out how the objects look like and you can see here Body Lines among other objects also look how the text was recognized if the text was not on a true type font it would be splitted in very small lines and arcs which wouldn’t be so interesting however not everything is perfect the dimension lines are not recognized neither block references which means I have to create them again but in general insert PDF can be very useful just be aware it’s only available in the versions after AutoCAD 2017. stretch objects sometimes in AutoCAD we need to stretch figures let’s learn how it works first it’s important to have in mind that this operation doesn’t work for blocks as you can see here I have only lines and polylines let’s do it I am going to click on the command stretch it’s this icon here then I have to select the parts to actually stretch so I open the selection from the right just until here that I specify this base points as you can see I’m extending and moving objects to this side and as the dementia line was in the selection it is also readjusting now I can click to place the objects exactly how it’s on the screen however it’s without any kind of precision or type a distance to extend if I type 800 actually I add that value to the original length of 600 and the total is one thousand four hundred the way that the object stretch depend only on the selection even I select a different base point the result is the same let’s repeat this again and this time I want to change the selection to cover also design I press enter and you can see the object stretching differently now I want to try to stretch vertically I select the objects press enter and oh it’s not as I was expecting but I select all the objects why does the why does this happen when I was doing the selection I kept these sides outside of the selection area and even everything was selected because the external rectangle is a polyline a single object the really important thing here is is what actually I am covering with the area Hearts filling in closed areas in this section I will be talking about a drawing tool which is used to fill in closed areas it’s the command hatch but first I am going to create a new layer in this file let’s check out if you remember how to do it I go to the properties manager click with the right button and new layer I name it as simply hatch then I’m going to choose a color for it for example this kind of pink okay now I’m going to turn on the command hatch it’s located here at the drawing panel wait a few seconds if you want to read the description of this tool sometimes it can be interesting then to apply your hats click on it and I have to click inside an enclosed area it can be any of these rectangles I click to fill this one ah it’s in a white color I forgot to change the layer yes when you create a new layer you still need to set it as the current layer before you draw the objects in otherwise it will not work go to the layer Tab and click on Hatch now I see this message appeared the current layer will be turned off what do you want to do for any reason this bulb is Switched Off and if I draw objects on that layer they will not be visible click to turn it on I’m going to repeat the process click on the command hatch and fill that area now it’s on the correct layer press enter to confirm then by dragging the mouse over you can see that it’s a hatch object now I will show you another way to use hatch I click again here and then instead of pressing enter I feel a different area right away what happened is that both areas are now a single object hot editor above a new tab appeared at a ribbon specialized for editing hatches I’m going to show you briefly the functions here I’m going to click on this button at this panel and you can see a lot of patterns to use here the first one solid is the simplest one it fills the area with just one color I chose for example this now let’s have a look at the options at this side on these controls I change the scale look how is the effect on the angle tab above I can rotate the pattern finally on Hatch transparency I add a transparent effect to the objects I want to mention one thing when I first tried to change the scale by clicking on the controls I realized that these values didn’t change a lot even if I type a number with decimals it shows just zero when this happens it means that I should go to the unit properties type un and press enter and in this tab I need to set decimals for example two decimal cases then it should work fine part five how to use array with the command array we can copy objects arranged in a pattern there are three different modes rectangular array polar array and path array I start with rectangular array and for that I just need to click on the button that’s the mode set by default then I’m going to select these objects and press enter so an array was generated and a special tab on the ribbon has appeared now I can edit this pattern as I wish here I can set the number of columns and rows if I decrease the number of columns for example from 4 to 3 as you can see on the screen the last column is suppressed the array creation I find it very intuitive and I think it’s easy to understand the options here while looking to these little drawings there the distance between is the distance from the origin to the beginning of the next element the distance total is from the origin toward the last element starts simple I’m going to change the distance between rows to 200. and look how the pattern moves of course the total distance was updated in order to match to the new distance between lines to exit the array mode I press Escape now if I want to confirm the distances I can use the measure tool or type Di and press enter notice that the vertical length between two elements matches as well as the horizontal length grapes in an array object whenever I select an array you can see the dynamic grips the blue buttons here which I can use them to modify this array for example if I click on this one on the second row I can change the vertical distance between two objects for that I simply type the new length to change the horizontal length on the other hand click on this one if I click on the grid button last row I can add more for example 7. if I click on this side it’s the numbering of columns that I can change the grip on the opposite corner changes both rows or columns by dragging the mouse basically these operations can also be performed on the array tab but sometimes it’s just more practical with these buttons another useful thing in Array is changing the base point I click on this icon set the new point for example or on the corner and the grips moved with the base point but they perform exactly the same actions let’s make a polar array I’m going to draw a small circle with its center located at the boundary of this big one on this side now I can click on the command polar array it’s this one there basically what I want is to have this object displayed around I click on it then the center point of array is going to be the center of the bigger Circle and that’s the result the program sets 6 circles around by default but like for the rectangular array I can edit this on the top of the ribbon so the array tab for Polar array is a bit different especially the panel items on the first parameter I set the number of items in this case I specify 18 and they cover all the circumference because I have 360 degrees for the fill parameter in between I specify the angle between two items and in this case it’s 20 degrees if I try to change the angle to 30 you can notice that it doesn’t work because it’s not possible to fit 18 items with that spacement let’s try 15 degrees so what happened here in order to keep 18 items the angle on fill was updated now it’s only 255. grips and polar array and tips the small square on the original item allows me to change the radius of the array I’m going to set for example 50. and this is how it looks like the grip on the center can be used to change the position of the array on the other hand if I click on this little arrow I change the angle between two items let’s suppose I want six items the angle to have then distributed equally is 60 degrees however it’s possible to increase a bit that angle but the last and first item we stay closer than the others path array the third array mode available in AutoCAD is path array we can copy objects along a line or a curve let’s see how it is first I’m going to draw a spline which is a smooth curve I click on the command located here spline fit and I can draw a curve by specifying some points on spline fit the curve crosses exactly the points that I insert when I finish I press enter here by pressing escape and Stat it cancels the command it will not work next I draw a rectangle on the first endpoint of the spline now let’s use the path array I click on the icon select the object to copy press enter and then I select my path so I have made it however probably I want to edit the spaceman position a rotation at the command bar you can easily check out that there are several options to edit let’s analyze some of them base point the base point will be exactly at the start of the path I click on the option then I change for example the base point to the opposite corner and that is the result the objects moved but without rotating tangent Direction this one is useful if I want for example to have one of the rectangle edges tangent with the Curve I’m going to click on the button tangent Direction then just specify two points and the objects will rotate but now suppose that I want a path to cross the center of the objects I’m going to use the option base point and click on the center of the rectangles hmm But it’s not snapping to the center point if this happens to you it means that you should turn on the mode geometrical Center in object snap it’s this one now it’s going to appear I just need to have the boundary first and click on the center array tab on the ribbon the tab on the ribbon is now specific for path arrays specially the first panel I can change here easily the spacing between total spacing and number of items I think the best way to absorb these things is to Simply practice you can play around with all these options and after a while it will be easier for you explode objects once I create an array all the group is considered a single object now imagine that I want to get rid of the array it doesn’t work with just select it and press delete it erases the the old thing as you see what I need is the command explode it basically returns a compound object to its original components it’s very easy to use this I click on the command explode select the array and press enter as you see all these are now separate polylines then I can manipulate the objects as my preference consequently I can explode the polyline in separate lines another way to use explode is on blocks hatches and other kind of objects but some of them it doesn’t work like text utilities panel let’s talk about the utilities panel and I’m going to start with the measure tool there are several ways of measuring as you can see here I start showing you the first one quick measure which is the one set by default when you click on this button for the first time when I move the mouse over the objects some Dimensions appear on the screen and these yellow lines measure vertical and horizontal distances between the closer objects on the other hand if I try to check the dimensions in a circle at the first time it looks a bit confusing all these values here but they just showed the radius of the circle they indicate for example 100 is the radius of the bigger Circle as well as 15 is the radius of the small circle the yellow lines don’t measure anything here just don’t care about them honestly this quick measure it’s not my favorite because even it’s true that we can have a lot of information at the same time it can be a bit confusing but of course that is just a personal taste TI can distance I use it a lot as I find it very intuitive it simply measures the linear distance between two points another one which is very easy to use is radius I only need to click on a circle to check it out measure an angle this one is simple I can select two lines to measure the angle between them or I can check out the angle of an arc by clicking on it now let’s go to where I was before I want to focus on something when I select the objects to measure the angle this menu appears where I can choose from different types of measures I’m going to click on for example area and with this I can measure the area of the triangle it’s very simple I just need to click on all the vertices and press enter at the end then you can see in this box the area and the perimeter but how could I measure the area of a circus since it doesn’t have corners I click on the icon then at the command bar I can switch to object I type O and press enter finally I just select the circle quick select on the utilities panel you can find other tools at a small icons at the right the first one above is quick select if I click there I open this window where I can select objects by using filters for example I can specify a type of object or select by color now I will select all the objects with color cyan click on OK and here it is this is the only one in this color other options can be select all the objects of a specific layer or you can select by line type among other options if I click on this icon I select all the objects in the workspace except the ones that are frozen or unlocked layers the button below is the quick calculator actually it’s a kind of scientific calculator and there we can do from basic calculations to a bit more complex ones part 6 the final part dimension lines now I am going to teach you how to draw dimension lines this is a classic feature for annotation in your drawings in this video you can see the dimension lines indicating its distances now to draw dimension lines there is a panel on the Home tab here or if we go to The annotation tab we can have all the tools so there are several types of dimension lines whose you can find them by clicking on this Arrow for now let’s start with the most common one linear dimension to insert the dimension line I just click on two points then I click again to put the dimension line on the place that I want so it’s very simple however this feature is quite complex and we usually have to set up some settings sometimes the dimension lines are not proportional with the sizes of the objects that they measure so I’m going to open the dimension style manager by clicking on this little arrow here I need to choose the dimension style that I want to edit I select standard which is the current one and I click on modify now there are loads of options here but for a beginner the most important is the size of the text and arrows as well as the units go to symbols and arrows tab look for Arrow size and put a value that seems convenient then the size of the text can be changed in the text tab as you see both sizes have a height of 2. to confirm this I can always measure the distance here you can see it’s too on primary units tab I can edit the unit format the number of decimals let’s change it to 2. and I can add a prefix or a suffix for example suppose that the units here are emitters I can type the symbol m on suffixed to appear after the values like this other types of dimension lines as I showed in the beginning there are more types of dimension lines to use in AutoCAD depending on what we want to measure for example let’s measure using the linear Dimension the distance between this point and this one as you see it’s measuring either the horizontal distance or the vertical one if I move the pointer this way but this is all fine because I can insert an align dimension with this option I can measure objects that are not located in the Cartesian axis so it’s much better as you see angular Dimension now I am going to click on the angular Dimension this one is still simple to use I can measure an angle by clicking in two lines that intersect each other the angle itself I can place in any of the four sides of the intersection plane radius to measure the radius of a circle first I’m going to draw one here then I choose the option to measure the radius and just click on the circle I click again to place the dimension line in this tutorial I want to show you also the arc length I can measure the distance of an arc and yes this only works on arcs if I try to measure the perimeter of a circle nothing happens as you see apart from those Styles there is the automated Dimension which is the icon here it detects automatically what is the most suitable type of dimension in each situation for example if I hope this line This Square appears and I can click on it and I will place the dimension of the length of this line I can do the same for the other lines as you see for measuring an angle I have to choose the option angular and then I can place it like I did previously in a circle the automated Dimension places the diameter by default however I can change to place the radius instead now let’s see some tips and peculiarities dim layer on this tab at the panel Dimensions I set the layer where I want the dimension lines in I choose the layer Dimensions as I created this specially form placing the dimension lines however if I switch to the Home tab the current layer is lines and if I draw Dimension line you can see that it goes automatically to the dimension layer snaps on arrows in some versions of AutoCAD like the one that I’m using the system snaps to the end points midpoints geometrical centers on the Arrow shape and this is a bit annoying because usually I only want to snap to the end of the dimension line this point and honestly I haven’t figured out yet if there is a way to get rid of those snaps if anyone knows it’s welcome to post a comment on this video it would help a lot of people however I’m going to share with you a good way to deal with this on symbols and arrows tab at the dimension style manager click on the first Arrowhead and as you can see on this list there are plenty of them to use but for now I choose known automatically the second Arrowhead is updated to match the first one the result is this it’s easier to snap to the end point Additionally the distances extend beyond dimension lines and offset from origin are these ones that I show on the drawing put 0 for both and it’s even better I can only snap to the intersection of the line below and to the dimension line end basically you can make all your projects with these settings and just edit the style according to your preferences when you finish the dimensions will be all updated choose the style of Dimension line before drawing whenever we draw a dimension line we should make sure that the desired Dimension style is active for example I’m going to switch to annotative and as you see the settings there are different another thing what I have been teaching during this tutorial are the standard dimension lines all the sizes that we set on the dimension style manager are according to the workspace the annotative dimensions are the Styles which are represented with this icon here the sizes that we set are according to the real size of the dimension lines on the paper that we print however the annotative dimensions is a subject that you will find on a second tutorial which is going to start right away foreign now we are ready to start getting deeper into the program here you will learn very useful tips to improve the knowledge you have already learned here now this tutorial is divided in five parts and you can check them out in the description of the video Let’s Start part one let’s have a look at the contents organize your working area we can save amounts of time if things are prepared in advance annotative objects by using annotative Dimensions text or blocks you can have those kind of objects with a specific size when you print your files even if you have different scales on your viewports in the layout and finally you will learn to use the zoom command instead of just scrolling the mouse wheel this is especially useful for large files as there are functionalities to zoom specific areas instead of being looking for a specific element forages tips for having a good organization and save time for me it’s a very important thing as with spending a couple of hours organizing your layouts and creating personalized templates you will save a lot of time in the future whenever you start a new project save space when using two screens if you have two screens on your computer you can use them as your benefit when working on AutoCAD as you may be familiar sometimes we have to open the layer properties panel or open the external references palette as well as the properties window all are using space on your screen but however if you have a second screen you can play stare at the palettes you often need in AutoCAD for example here I place these ones in a way that I can use them easily all the time and this is important the palettes are still on the same position if you open another file or if you close the AutoCAD program and come back just tomorrow the things will look more organized which is more pleasant to work create a personalized template for your projects let’s suppose you need to create architecture projects often and you need floor plan drawings elevations or location plans in addition the scale and the paper size you use most of the time is the same so if that is your case one good way to save time is create a personalized template with everything already set up for example look to this file where I draw this floor plan the layers that I use here probably will be the same or similar in other projects so first I can empty the workspace make sure that all layers are turned on and unlocked then go to select all and press delete now I can save this as a template or saving as a normal DWG file would work fine it’s important that you choose a name that you will remember for example project architecture okay I can continue personalizing this file for example editor units and precision if I often use the same units in my projects on the layout tabs I can save loads of time if I have several tabs for floor plans elevations sections and so on I can go to the page setup manager to set the paper size for example A3 and also the printer if it’s the same all the time then I can delete the objects here by selecting all make sure I am on the paper space now I’m going to add a new layer called title block and I’m going to draw on the paper a title that can be used on all my drawings as soon as I finish the title block I can create a viewport in this layout I go to the layout tab then I click here to insert a rectangular viewport and draw it on the paper after I double click inside to switch to the model space and set up a scale for it ok suppose that most of the time I use the scale of 1 per 50. I click on it so I don’t need to set it all the time when I start a new project then I can rename this layout to ground floor I double click on it and I type the name that I want then to create similar layouts I can right click here then move or copy I select ground floor and tick create a copy then I click on OK and a new tab with the same configuration was created so in a project architecture I can have all these steps for floor plans elevations site plans or location plans and when I’m happy with the template I can save it in my computer on save as click on drawing template and save it with the name that you like I can add a description here also and click on OK basically with this I can save a lot of time when I start a new project annotation in AutoCAD in the next part we will focus how to insert annotative text and dimensions it’s simple we just need to play a bit with scales in the workspace the text height that we insert for our text is actually the real size that will be printed for example in layout 1 I want to write text in this viewport with a text height of 0.005 meters the proceedment first check out the scale of the viewports double click inside here and I can see it as 1 per 200. then switch to the model tab on the Home tab go to The annotation panel click on this arrow and switch the first tab to a notative or to a style that has this icon associated change the scale to fit a viewport scale I click on one per 200. create a single line text here the command is up there click for the base point and when you are prompt to insert the height it says here specify paper height I am going to type 0.005 because in this drawing I’m using meters as units type the text and click in a different place then switch again to layout 1 and here you have the text if you print it and check it with the rule it has to measure five millimeters now let’s go to another layouts tab this one this time I want to add a text to the viewport where I have the door the scale here is 1 per 16. so going back to the model space let’s find the door I’m going to switch the scale to 1 per 16 and let’s draw another text this time for the paper height I type 0.01 one centimeter finally I type the text when I switch again to the details tab I can see the text there annotative Dimensions this uses a similar logic as annotative text we want to add this Dimension line with the same five millimeters of text height on the paper go back to the model space first change the current layer to dimensions then click on the Arrow at The annotation panel and then click on the second tab which is the one for dimensions choose an annotative style this one now we have to do a different step we should edit the dimension style first click on this button in this window choose annotative meters and click on modify here I go to the label text and specify 0.005 for the text height then in symbols and errors I can put the same measurement for the arrow line finally I click on OK and close to add the dimension line I change the scale again to fit the viewport scale of 1.200 click on this icon to draw a dimension line and I’m going to place it here when I finish I can go to the layouts tab and here you have the dimension line okay it’s too light in a white paper that’s no problem I can click inside the viewport go to the layer properties and then in Dimensions I can change the viewport color to a darker one now it’s much better annotative blocks now let’s check out how we can create annotative blocks they can be useful for some kind of projects where we add symbols that can represent elements for example here suppose we want to add a socket to this project as it’s a small element to be seen in the plan we usually represent it as a symbol with a fixed size in order to be easily seen in drawings with different scales in the example here the socket has five millimeters of diameter in the paper back on the model space I’m going to zoom in the object and the first thing I have to to confirm it has the size that I desire oh and don’t forget to set the scale as one per one because we are drawing an annotative element otherwise the block will be automatically scaled after being created and I don’t think that’s what we want so as I want this distance as five millimeters you can see that it’s not I have to use the command scale so I type SC lect all the objects press enter I can choose this one as the base point and then instead of a scale factor I have to choose a reference then I select two points for my reference line and then I specify the new length as 5 millimeters oh and just to let you know in this project the unit is millimeter now that our symbol is in the correct scale I’m going to convert it to a block I select all the objects and make sure they are on the layer 0. to create a block I can use the Alias B to open the block definition to create a block I type the name for the block for example socket then we need to tick this box that says annotative I click on OK and I can choose the base point and the block is finally done the next step is to insert a block on the drawing but in the scale of one of the viewports it can be one per 50 one per 100 or 1 per 200th as you can see there I decide to choose one per 50. so on the model space change the scale here to 150. go to insert block choose the socket and I’m going to place it where it belongs I hope this end point and put it there if you go again to the layout mode you can see it on the viewport with scale 1 per 50. so until here everything is correct then how can I add the other scales if I access the properties of this block I can see under miscellaneous that this object is annotative along with the annotative scale however I can easily add more scales here by just clicking on the button at the right this is The annotation object scale and I click on it to add more scales I choose 1 part 101 per 200 in this list I clicking OK and here you have them then it should be done so let’s change the scale here and you can see that the object is resized what happened is that this block has now three different scales when you look at the viewports the socket symbol has exactly the same size in all of them and then if you print you will notice that the symbol measures exactly five millimeters of width going back to the mother space and select the socket you can see the three scales when you have this button on the status bar turned on then let’s put it just in another color to be easier to distinguish Zoom now I’m going to talk a bit about zooming in AutoCAD as you know the most simple way of zooming and the most common one is to scroll the mouse wheel to reach the different parts of our project however for large projects this can be a bit annoying to try to find specific areas for that reason there is the command Zoom let’s have a look at it I type that and press enter then if you look at the command bar you can see several ways to use the zoom the option by default is drawing a window on the workspace for example if I want to show the starkey’s division here I draw a window covering that part and here is the result so I find this specially useful when I want to focus something specific as the zooming is more precise in this area another way of using Zoom is using the option all this sets the zoom to cover all the drawing in this file including the position of the UCS coordinates in the corner here then a similar option is the zoom extends very useful by the way I use it quite a lot it shows all the objects covering the full screen here the difference regarding Zoom all is that the position of the UCS coordinates can be hidden if I click on Center I pick a point to be placed in the center of the screen then I specify the zoom height by drawing a line here simple now I’m going to show you something useful for larger projects in this file you can see all these drawings of a single architecture project in this case it’s an exposition Center there are floor plans sections elevations site plans and so on these controls at the top left corner click on this one that says stop and here you can switch to a different view of the workspace however the ones here are useful when I have 3D drawings look that I can’t see anything interesting when I switch to the left or right views this is because everything in this project is two-dimensional and was created in the top plane on the V Cube you can understand a bit better the location of the views by default especially when you click in a corner to switch to another isometric View okay but what I want to do now is actually create a custom view to show up a specific part let’s go to one of the floor plans located here and to be more precise I zoom with window okay now it’s better then I go again to top and this time I click on view manager I’m going to create a new view here on new and first I need to choose the name it’s going to be a schema the installation sanitarius yes it’s Spanish but it means literally sanitary facility scheme then I can put it into a category it’s empty so I can create a new one let’s name it floor plans The View type I keep it still I don’t change it for the boundary I choose the current display and click ok to close here okay again and then I go back to top and on custom views I choose the one I just created and you can see it zooming automatically okay it’s true that this floor plan was not very difficult to find however if you are working in a huge project with loads of drawings sometimes you can stay looking for a specific detail for ages like those books where you need to find Waldo so now we want to zoom up to these objects but this time let’s do it a bit different go again to the view manager create a new view called detail one and put it into a new category details and in boundary this time I’m going to define a view window I click in this button then I search for the part that I want I told you it’s hard where are they ah here so make a window in the place where I want to zoom I press enter when I’m ready and you can see a preview on The View manager I click ok to confirm it and close so for the next time I want to go to the detailed one it’s much faster Charan [Music] part two layout tabs extra tips when we set a viewport to show a specific drawing with a specific scale we realize that in a small destruction we scroll the mouse wheel and it messes up all the scale and then I have to go to the scale list and click again in this case in one per 150. however there is a very useful tool here I can lock the viewport by clicking on this icon now even I am in the model space I can zoom or move in the same way as I was in the paper mode by the way I can still draw or erase objects inside the viewport so I just recommend you to lock all the viewports when you don’t want to change them anymore write text and draw the title block on the paper when you need to add text to your papers just draw it directly in the paper mode I mean outside of any viewport it’s easier and more practical first it’s text that we don’t want to model as it’s unused for annotation second the size that we specify is the paper height in this case 5 millimeters and I don’t have to scale it like in a model space much easier the same applies for the title block just draw it on the paper you can start drawing the borders then the text using the paper height in this case after placing the first single line text I want four of these with the same spacing I can use here the command copy then the option array I Type 4 and finally you can click again to confirm the position or insert a specific distance between objects and then just change the names to the right ones okay I can take the opportunity to explain to insert an image to the layout for example if you want to add a logo of your company there it’s quite simple go to the inserts tab then click on attach and select an image to import to this file I select the cutting black logo for example just to show you how it works we can insert the coordinates of the insertion point or specify it on screen and that’s what I’m going to do click on OK place the start point I can click around here then it looks like that image is a bit large but that’s fine just press enter for now as we can scale it after with the reference use the command scale select the image click for the base point choose the option reference at the command bar and then chose two points of a reference line to resize it and this time I will not insert any length because I don’t know it I just move the cursor in this direction and you can see a dynamic preview of the logo as soon as it looks great I can click to place it there so simple isn’t it yes let’s continue now we are going to learn to add more viewports on the same paper usually the purpose of doing this is to show different drawings or a specific detail that we want to show on a smaller scale let’s go to the layout tab on the ribbon here we will create a new viewport by clicking in this icon and there are three ways rectangular polygonal and object let’s go for rectangular so I simply draw a rectangle here then I double click inside it to switch to the model space this time we will use a custom view that we created in the previous chapter I click on top go to custom model view and choose detailed one and look how useful this can be not need to search for that part so easy next I go to the scale list and I need to choose one one per 50 and the reason that I decided to use this scale is because one per 50 is the same as 0.02 which is relatively close to the value that I’ve got here and you can see that the drawing didn’t change that much double-click to switch to the paper space and readjust the viewport by clicking on the group stair ah and don’t forget to lock the viewport to not move it again after I can copy this text and place it below our new viewport select the text I’m going to use this endpoint as my base point and then click in this corner for the second point to keep the same spacing towards the viewport and rename it with the correct text put also the scale of 150. then let’s draw a circle here the radius doesn’t need to be precise on the layouts tab choose now the option to create a viewport from an existing object this one then click on the circle to convert it to a viewport and of course this option only works for enclosed areas then suppose what I want here is to zoom this specific part move the circle to a specific layer if you want or put the object just in a specific color and then I can draw a small circle in the same place of the floor plan to indicate that this area belongs there and if you want at the end you can connect it with lines other drafting techniques in this chapter I’m going to talk about drawing tips and I will start with the grid and snap modes grid and snap mode can be useful when we have to make detailed drawings especially when they have regular shapes let’s have a look at them the first icon at the status bar enables the grid as you can see here try it on your computer however you will probably notice that it looks darker than here if you have the default colors for me they are a bit hard to see and that’s why I prefer to change them but okay this I will explain to you at the end of this chapter for now let’s Zoom a bit and activate the drawing command for example line you can see that the cursor doesn’t snap to any point because the snap mode is off let’s turn it on and now yes you can click on an intersection of the grid line so it’s easily understandable that these tools work together and there is no point to turn on the snap mode if your grid mode is off now I’m going to click on an intersection of two major lines and by moving the cursor you can understand what is the length between two points of the Grid it’s 10 and the distance of two major lines is 50 because is equal to five minor lines so as you can see this is quite simple now have a look to this drawing we can easily guess the distance between some points if they are not that far away for example this distance is 100 millimeters and the width of the rectangle is 200. because there are four big squares 5 10 15 20 you can just count them so to draw that rectangle with the grid is actually easy this is the first corner then the opposite will be four large squares to the left and one above the line at the bottom so click there you can zoom a bit to make sure that you click on the correct point it’s better okay now let’s learn to edit the snap and grid spacing click on Snap settings to modify those values it’s in the first step of the drawing settings window here of course to snap only in every point of the grid the snap spacing and grid spacing must match don’t forget this and the values that I have now are the settings that I used in the previous example suppose we set 5 for SNAP spacing but leave 10 millimeters for the grid spacing the result is this and it can actually be a good method because with the same grid I can have the center of each Square as an extra point to snap as you can see to have a different X and Y spacing I need to uncheck equal X and Y spacing and then I set the values here I have 5 millimeters for y distance and 10 for the X distance I can also change the length of the major lines the higher the value the easier to measure larger distances if I’m zooming out the workspace at one point the Grid resizes in a way that the lines won’t get that close we couldn’t see anything if that would happen this means that at this moment the spacing here is not what we put on the settings be careful don’t draw anything now always draw in the maximum zoom and in the case that you want to Draw Bigger objects simple just change the spacing settings to bigger values if I like to have the workspace more organized and I want a point to be in the corner of an intersection when I zoom out a lot like where I am now simple place the cursor there the corner and zoom in slowly keeping the cursor in the same position one degree doesn’t resize anymore it means that the grid is now resized correctly change the grid colors as I told you previously the default grid colors are dark but I understand their points we don’t want the workspace to look a mess with the Grid on especially when we have lots of layers with different colors like in the example here but I think that putting the grid a bit lighter it doesn’t interfere that much so let’s learn to do it to edit the colors we have to access the options menu then I go to the display tab and click on this button that says colors here we can change the color of each element on the workspace you can see a big list here also they are grouped by context it’s the list on the left now it says that we are at a 2d model space so I am happy with most of the AutoCAD interface colors so I don’t need to change them except the grid which is a bit dark for me to change the color click on the element go to color choose one from the list or click here to pick a different one let’s say I want it a bit green but in a gray style I keep the cursor here and then I drag this rectangle to choose the proper color a bit up to be more visible and click on OK it’s done now I need to change the grid minor lines to do it I choose the same color then I click again and pick up a color so the cursor will be in the same position this is good if you just want to change the color a bit and do not look very different so I want to put the selector a bit darker then click on OK I apply in close the window and now it looks more visible so you can just choose a color that will be comfortable for you change the position of the UCS look to this situation here I want to draw these objects in reference to the diagonal wall it would be hard to draw them accurately if I use the UCS coordinates on the position by default you can see that while I’m trying to draw that line I don’t have any reference to draw it perpendicular to the wall but no problem because I can make the things easier by just rotating the UCS coordinates I go to the icon click on it I place it in this corner and then clicking on the x-axis I align it to this diagonal line then I can switch to also mode and you can see that I can easily draw vertical and horizontal lines according to the new UCS position also if I want to insert a block now it automatically rotates and the same happens with the grid then to restore the original UCS which is the WCS World coordinate system just click on the icon and then select word now let’s have a look at the shortcut menu the one that we can open with the right button of the mouse actually most of these functions are icons located on panels in the ribbon but sometimes it can be easier for us doing this way now I will make a quick introduction of what you can find here the first option of there repeats the last command used it’s an alternative way of just pressing enter when we don’t have any command active I actually prefer to just press enter it’s much easier then there is a list of the last comments used on the clipboard we find the basic tools to copy move or cut objects to a different file and this still works by just pressing the classic shortcuts like the Ctrl C Ctrl V and so on for example I will copy these objects press enter then I go to a different file and just click on paste and they will be copied exactly in the same position as they were before but if you wanted to copy this door straight you can use the method that I just showed you previously by moving the UCS coordinates to the corner then rotate the x-axis in line of the edge of the door and repeat the process press Ctrl C and then paste it in the other drawing and now it’s straight back in the shortcut menu I want to show you some options that I use quite often like isolate objects I’m going to select this part and then I click on isolate objects and you notice that all the other drawings disappeared to revert these changes just click on ADD object isolation in the same Sub menu there is also height objects which will be the opposite if there are parts that you are not using at the moment you can hide them temporarily a bit down in the list there are the options to use the pen Zoom or the steering wheels then there is the quick select quick calculator also available on the ribbon and the options menu also don’t forget that when you select objects that menu is different and Depends the kind of object that you select for example in a block you get options to editor block reset a block if you modify it or edit a block in place if you don’t want to open the block editor then you find the basic commands to modify objects so it’s also possible to access them from this list then there is the draw order and this one I use a lot when you create a new layer AutoCAD puts the objects of that layer above everything that was created before for example here I created the layer for the dimension lines I after the layer for the walls and because I don’t like this extension lines above the walls let’s sweep the order and for that I need to select all the objects of the layer dimensions and I can do it from the quick select choose the layer DLI and click ok now that auto dimensions are selected I can go again to the right click menu go to draw order and choose send to back and look that the walls are now visible when they overlap dimensions another tool I sometimes use is group objects let’s say I want to group this floor plan but without the dimensions turn off the layer DLI then I select everything and from the menu choose group and I could move or copy this house elevation to a different place the option select similar is also very useful by clicking on a type of object for example a dimension line you can see that it selects all the remaining Dimensions but yes they must be located in the same layer for example in this situation the large Dimension is not selected object snap overwrites has a useful tool that not a lot of people know suppose we are drawing a line here and we want to connect it perpendicular with the diagonal line below as you see it’s only showing up the midpoint and the end point but if I click with the right button I can see object snap overrides I go there and I can choose a different mode in this case I click on perpendicular and now you can see the symbol appearing just click on it to make those lines orthogonal twitch other you can try the other modes by yourself for example nearest or on the top you can create a temporary track point or choose the middle between two points this is how it works I choose two points and it selects the middle distance between them so just explore the other modes maybe you find some useful for you as long as the other options from the shortcut menu [Music] part three attributes in blocks to Define an attribute we can either click on this icon at the Home tab or in the insert tab you can find it located in the block definition panel click on it and the attribute definition window shows up on the screen then there are three main fields to fill for each attribute first we insert the tag which is just used to indicate the position of the attribute this text appears in capitals and you can’t put spaces between characters so remember this below you should type The Prompt sentence for example if I want to fill with the name of the client I type client name on default I will put a value that will appear anytime that I insert that attribute personally I prefer to keep this empty except it’s an attribute that uses the same text often however let’s insert a value here under text settings it has the justification on the left and standard textile Below on text height I specify the same as the existing text it was 3 and remember it’s the paper height so I don’t put the tick in annotative we click on OK and we can specify the start point for our attribute so now I can draw the next one which I can repeat the process or I could use a quicker way with the command copy I use the option array with four number of items it’s exactly what I did before then click here approximately to be in line with the text at the left there are no object snap points for text objects however if you want to put the text perfectly in line there are ways to do it but it’s something that we will learn later don’t worry then double click on the second tag and this window shows up to modify the information that I had given before when you are ready click ok and do the same for the others for the scale and date I do the same in the attribute definition but here the text height will be 2. click OK and place the attribute where I want to show the scale then copy it below to make an attribute for the date and change the values okay now that the attributes are completed it’s time to create a block with the title block and the attributes first I need to switch to the layer 0. now I’m going to create a block and first I have to choose the name for the title I put tighter block A2 so I know I have to use this block in an A2 paper you can also create another title blocks for different papers click ok to select the objects and now I have two options or I select all the attributes first and then the remaining objects or the inverse first the normal objects and after the attributes I decide to select first the attributes but I still need to click on them in the order that I want to display this is important now I select the remaining objects I can cover all with the selection area and don’t worry that the attributes are inside because they are already selected I press enter to return to the block definition window click ok and the window to edit the attributes is now on the screen and you can see them on the order that I choose and now have a look to the window on the left is what I insert for the prompts the valve is at the right are what I set for the default values as you remember I put some values there but actually it was for you to have a look at the appearance of this actually it would be better to not write anything on the default because now I need to erase those blanks so let’s fill with the content that I need click ok and you can see how the attributes are automatically displayed on the Block then in this case the drawing name is too long to fit on the box so if I double click on the Block itself I can edit each attribute and in this window you can see that aside from the attribute values I can also change text options and properties just look at the tops here above so I changed the drawing to ground floor plan now let’s have a look at this example in this level point I want to put an attribute to indicate the elevation of a specific area of a plan but this time I want to place the text at a certain position and for that we have to draw temporary lines as reference so I’m going to offset this line above to 100 millimeters then let’s add an attribute here click on the icon then on the blanks put the tag level next I’m going to type insert level for the prompt and don’t write anything on default just leave it empty on the text settings change the justification to right you will see after and set the text height as 300. I do this because now we are at a motor space and it will be basically the triple of the distance between both horizontal lines click on OK now I’m going to put the attribute in this corner and you can see it aligned to the right like this exactly so you can notice when you do this way you put the text at a precise location so I can now delete the extra line and I’m going to use the command hatch let’s see if you remember it type h and press enter then I go up here and select solid change the color of the hatch to by block as we are going to make a block of all these objects to later edit the color of the hatch if we need then click on these two quarter parts of the circle press enter to finish now I’m going to convert this to a block click on create a block then type the name level point select the objects first I click on the attribute then on the remaining objects press enter again click on OK select the base point and finally it asks to edit the only attribute that this block has I type plus 1.2 and click on OK and you can see the block updated now I can change to the layer that I want and the colors of the hatch objects as I said before as by block they get the colors that I specify here at the object’s color how to edit an attribute in a block when I double click in a block reference I can edit the attributes but be aware that this only applies to that object so on text options I change the height to 200 and you can see that it updates the size of the level number however if I insert another block reference of the same block let’s put here 0 for example you can see that it still keeps the previous text height so how could I edit the attribute inside the Block in a way it would update all the block references it’s like this go to the block attribute manager which is the icon located here then in this window I need to select the attribute I want to modify and as you can see they are grouped by blocks I click on the level attribute go to edit and any change that I made here applies to all the block references so if I change the text to 200 you can see that it applies to all Dynamic blocks this is a block reference of a window projection in a floor plan if I click on it I can see the base point along with other groups created by me the one at the right is an added parameter to change the length it’s very useful because now I just type the value for a new length when I double click to edit the block I can see that there is this symbol here meaning that the block is dynamic in another words it has parameters with actions associated so let’s start from the beginning for adding a new parameter we need to use the block authorities palette if you can see it on the screen you can enable it in this button here I’m going to use a linear parameter for a distance I click in the start point and then on the end point this Distance by itself doesn’t do anything because I need to set an action and as what I want to do here is stretching the window I’m going to use stretch first I need to select the parameter then the action point this one I specify the stretch frame it’s the area that I want to stretch then I select the objects press enter I close the block and save changes and now you can see how I can change the length it’s simple so it’s recommended to select the action on the other side of the base Point otherwise they would overlap each other let’s go to the next example here I’m going to show you another parameter flip and that’s what I have in this door I can flip the opening by just clicking these buttons open the block editor and then I’m going to start with this one in the middle foreign and the reflection line will be in the middle distance between frames I could draw a line here to use the midpoint but let’s do something we learned earlier in this tutorial the click with the right button go to object snap overrides and then click on meet between two points select these two and then I can make the vertical reflection line here then I need an action to that parameter and instead of going to the actions tab I can also click in the exclamation point to add an action and then for the objects I select the line and the arc so if I close the block editor I can see the result then let’s add another flip but this time to switch the door down here this time I go to action I click on flip select the flip State tool this time I need to select everything and if I close the block you can see I have a new flip to the other side in this door there is also a stretch action to adapt the frame to different wall widths so let’s edit it’s again the linear parameter choose the two points of the dimension line then double click in this yellow symbol remember that when it shows up on the screen it means there are no actions Associated yet there are four possibilities to linear parameters so we add the stretch then select the stretch frame and I need to cover all this part and for the objects I select those here and also at the left I press enter then I have to close the block editor and you can see again the result of stretching a part of a block the parameter alignment this parameter can be useful to align the block along a line for example for electrical circuits we want to align a socket automatically along a polyline so let’s see and this parameter is actually very simple we click on alignment set the base point of alignment which I want you to be here in the middle then I need the direction of alignment which is along this direction close the block to return to the main workspace then select the socket click on the alignment point which is easy to recognize as it has a different shape and move it to the polyline simple then there are some important tips you should know I recommend you to have the mode nearest active so you can put the Block in any position of the polyline if your object snap is off the alignment will not work another tip is that the alignment will be to the other side of where you have the pointer for example if the pointer is just a little bit above the line the alignment faces down however if you have the pointer down the line the block is placed on the other side I know that this is a bit tricky but for that reason we can also add flip states to the block to switch the direction easily but as we all already know the things are never perfect in AutoCAD at least that’s our beliefs especially when the things are not working as we desire for example if you have text in a block and then you want to align it here it’s alright but if it aligns to the opposite direction you notice that everything is flipped over including the text so in the case you want the socket to face the inner side of the polyline the best is to place the Block in this side and then use the grip to flip the direction yes but make sure you don’t have the system variable to mirror the text active I mean if you type mirror text in the command line you can switch to one and then the text is also mirrored basically if you don’t want to mirror text keep it zero visibility this parameter is used to make variations on objects in a block and then display a list with different options to choose I show to you this socket as an example so I’m going to convert the switch 2 to a block uh and first I’m going to draw a line here to use the midpoint as my base point then I turn on the command block choose a name select the objects except the line I have just drawn and finally specify the base point so I converted the switch to to a block now let’s go to the block editor and here I’m going to add a visibility parameter I can just put it wherever I want because its location doesn’t affect the performance of the objects also the visibility works with visibility states which is a bit different than for the other parameters if I double click here it opens the window to manage those States I can also access it in this button at a visibility panel let’s continue first I can rename this current visibility State type socket 1. then let’s create a new one socket 2 and click on OK close the window you can see that here I have the socket 2 and as this state has exactly these objects I leave it and change it then I switch to socket 1 and here I don’t want to show up the number two click on it and then press this button at the visibility panel to make it invisible very good now I go back to the visibility State window and add a new state called socket 3. if you look at the bottom of this window there are three options here and now I take the third option and this new state will be a copy of the current status which is socket one so I’m going to add a hatch object here and first I draw a line then I activate hatch and fill all this area ah I also want to change the pattern to a solid color and then fill the area here and now that I am done I press enter important when you draw new objects here they only go to the current status for example if I switch to the socket one or socket 2 you can see that there is no hatch there on the visibility panel there is an icon it’s actually a system variable to control how the invisible objects are shown in the current mode the invisible objects are transparent so you can notice them however if you click in that button you choose to not see them [Music] part 4. in this part we will learn to use the design center as well as the tool and block palettes they are located in the view tab finally in the last minutes we will have a look at the external references a very useful feature in notacad now we can start The Design Center in AutoCAD we can import content from different drawings let’s go to the view Tab and add the palettes panel we can find this icon The Design Center I click on it and on this window we can browse for a specific twg file I’m going to choose this one and then you can see that we can have access to blocks dimension lines layers line types and other elements that are located on that file if I want to insert a specific block from this file I click here then select for example table 1 double click on it and this window appears now if I click on OK we insert the block exactly in the way that it was created but we can use few insertion options let’s see them in the middle section we have the scale and is set by default as one for each X Y and Z axis if I click on specify on screen you will see what happens AutoCAD prompts to specify the x-scale factor I’m going to type 2 and then it asks to enter a y scale factor and have in mind if it’s a different value than x that would deform the table so as I don’t want it to happen I have to use the same X scale factor 2. I press enter to place the block and as you can notice all the dimensions are now double size back on the insert window I can click on uniform scale to insert just the scale factor for all the axes so you have a step less another insertion option is rotation put a tick on there click on OK then this time I put for the scale 0.5 and then I’m going to rotate it 90 degrees on this direction so it’s simple as you see finally there is also another and important information here block unit which for this one is set as millimeters and I cannot change it as you can see actually the unit is defined when we create the block here on the bottom left corner I think a lot of people don’t notice that even usually it’s not a problem but what’s important to know is the unit that appears here by default is what is set on the unit properties for the insertion content you might remember this when I explained in the tutorial for beginners when we insert content from a different file and that’s exactly what we are doing here let’s now have a look on the next example I’m going to change to this file where I have several door blocks I’m going to choose door one and this time you can see that the block unit is set to inches as in my current file the unit is millimeters the block has to be converted from inches to millimeters and the conversion factor is automatically calculated here it says 25 but is it correct do you remember if you look at the tables one inch is 25.4 millimeters but it shows only 25 why because on the unit properties I have this option set to not show decimals if I change it to two decimals or one decimal now you can see 25.4 it could be 25.40 but it doesn’t show the zeros at the right of the comma because it’s no need since sataka 2020 there is a new palette to insert a block from other drawings it can be quite useful I click on it then I need to click on this Ellipsis to find a different file and here you have the blocks within that file this is a nice feature it’s faster to search for blocks and also you have in this panel tabs that group the blocks from other drawings recent blocks that you used and the blocks from the current drawing it also indicates which blocks are dynamic now to insert a block it’s easy double click in the one that I want go to the drawing and it just asks to specify the insertion point you can see here that is the only option ticked the disadvantage regarding the design center is that I cannot see the unit that the block was created anyway I don’t think that’s a big issue as I can always check it out on its properties and if you notice that it’s not in the right size when you insert a block you can simply apply a scale to it so among the elements on the design center we can also add layers from other drawings it’s very simple if I want a layer from this file send through this positionis I just need to double click on the one that I want and it’s automatically added you can see the new layer Arcos Pista to import more than one layer I select them and this time I do not double click it doesn’t work this way instead I click with the right button and choose add layers here you have them and remember that in the layer properties the layers are displayed in alphabetical order four dimension Styles it works the same way simple so you can play around this with the other elements and you will notice that they work all similar tool palettes it’s this icon here this is another way to insert content from different drawings I think this is something really useful in AutoCAD basically it’s a kind of library that organizes items into these different tabs which are called palettes all these items here come by default in AutoCAD and they are located in Sample files if you are curious those sample files can be found on the AutoCAD folder go to samples and all the default DWG files are there are Dynamic blocks normal blocks hatches or other kind of objects let’s open one of these files for example home space planner and you can see that there are just blocks here and actually we can get advantage of these files because we can use those blocks in our projects without the need to search for blocks on the internet these are also More Sample files now let’s go back on each palette here you can find specific elements blocks for architectural annotation mechanical electrical civil and so on to insert an element or object just click on it and click again in the drawing it’s very simple the only thing is that you don’t have insertion options here it uses the ones by default you can also insert the hatch for example I click in this dark red and place it there like this but be aware this doesn’t create any layer if you look at the hatch tab on the ribbon it just uses this specific color for this object and it went to the layer walls as it’s the current layer ok now I’m going to show you how to organize this palette if you click here with the right button you can use the palette group that you desire for example there are the parametrics here if I clicking civil it shows this one and so on look that there are also tables or even visual styles then these palettes can be customized if you click with the right button and then go to customize palettes on the left side you can see all the palettes and on the right the palette groups each group contains how many palettes as we want some just have one palette and others like The annotation design have several palettes as you guess all these can be customized just click and hold in one palette for example modeling and drag it to a palette group I put it on annotation and design and at the top the order here indicates how the palettes are sorted on the tool palette’s main window okay but actually I don’t want this palette here so to remove a palette click with the right button and click on remove now I want to show you how to add new palettes for example with blocks from other drawings what we need to do is to use the design center to bring content to the tool palettes so I have the design center window here and I want to add the blocks from the files that are in this folder if I click in any file with the right button there is an option here to create a tool palette click then wait a few seconds until the palette is generated and as you see it goes directly to the top of your current group and also only the blocks were generated then I’m going to repeat the process for the other files doors home assembles kitchen and windows all are generated and placed above back on customize palettes window I’m going to add a new group named my blocks and then move the new palette to this newly Creative Group when ready I can also remove these palettes from the group annotation and design as they are not needed anymore select the palette and press delete finally switch to my blocks and here you have the palettes with this nice organization so you can see at least in my opinion this is a very practical way to use blocks in your projects and it’s also possible to choose a specific block from one of your lost files and put it and put it directly on the palette now I encourage you to create your own palettes and you will see how organized your projects become external references I open a new file and here I want to attach a reference to a file that it was previously given to me this one project architecture imagine that I am a structural engineer and I want to draw here the structural plan or I could be an electrical technician and I want to draw electrical circuits there so on my new file I go to the insert Tab and on the reference panel this is the panel that controls references click on this Arrow to open the external reference palette an alternative way is typing the command xref or external reference at the moment I just have here the current file you can recognize it by the DWG icon then if I switch to project architecture now you can see that the current file changes it also has an additional element which is an attached image the details of each file you can check out on this part below this is a JPG file that image is the one that I added to the title block on the layout tabs here then if I click on cutting black logo with the right button I can detach the image in a load and you can see it disappearing but I don’t want to do it so I click again with the right button and click on reload so to attach here the file project architecture I go to this icon then I click on attach DWG select the file in this window I click again on OK or specify the insertion options that I want at this moment I’m not going to scale the reference the option specified on screen is not ticked and I specify the insertion point if you remove the tick on this box the base point will be on the coordinate specified below and if it’s zero zero zero the base point will be on the origin click on OK and place now the base point where I want I’m going to put a coordinates in the origin so I type 0 press tab 0 again and press enter so here you can see the reference to the project architecture and it’s easy to recognize because it’s darker than usual at the file references list you can see the new attached file the DWG the project architecture and the image that was in that project is also shown here and it appears with the name of the file first and then the name of the image The Cutting black logo however sometimes for any reason some of the files attach it might not load because the program can’t find the file and even if you click on reload nothing happens so the solution for this is clicking on change path and search for the file on your computer how to edit an external reference in a drawing if I click on the image you realize that everything is selected I cannot select a line by line or or an object by the object also on the ribbon it shows up a new tab called external reference here I can create a clipping boundary on a part of the drawing and other options example let’s say in this project I only want to show the floor plan below I click on create clipping boundary then I select rectangular draw a rectangle around the drawing and do all the other parts of the file just disappeared I can also invert the part of the drawing that is showing by clicking on this grip now let’s use a different clipping boundary I’m going to click on polygonal and it could be useful if in a different case I would like to select this drawing below or the drawing above and not the one in the middle so the purpose of using external references is to allow two or more people working in the same project now let’s suppose I have a specific task in this project look to the layer properties now they are a bit different as I’m using external references on the filter section I can choose which type of layers that I want to display the layers on Gray are from the external references first you can see the file name and then the layer name for example at this moment I have all the layers shown on the screen now I switch to the all non xref layers or I can see only the layers from the external reference so it’s not hard to work with external references as you can see but I recommend you to practice a bit to interiorize all the steps that I have been showing to you part 5. we are going to discuss here multi-leaders and the properties panel multi-leaders are an interesting way to add annotations to our drawings they consist in an arrow that connects to a text or a block with an attribute let’s have a look to it a bit more in detail we can add a multi-leader from The annotation panel at the Home tab or if we switch to The annotation tab there is a full panel dedicated exclusively to leaders the first thing I should do is check out the settings by clicking in this Arrow here so it opens a window very identical to the dimension style manager let’s select the style the standard one and modify it here I’m going to start with the text height and because it’s too small I’m going to change it to 250 as my text labels are 350. this will be just a bit smaller then on leader format I want also to change the style of the arrowhead for example 200. only the structure I have by default 2 leader points then uncheck the box for landing distance if I don’t want it to be a fixed value I click on OK to confirm the changes and close the window so now I can add a letter it’s easy just click on the multi-leader icon choose the base point then specify the leader Landing location and click one time more to type the text for example external wall as it’s what the leader indicates then change here the layer style to annotative nice this time I’m going to repeat the process but instead I’m going to add an annotative multi-leader to appear in this viewport in the scale 1 per 100. change here the layer style to annotative and then on the multi-leader style manager click on modify so I will not change the settings because I think they are quite acceptable I close the window don’t forget to make sure the scale is correct 1 per 100 and draw the motivator for example window now if I double click on the Arrow I can see the quick properties of the multi-leader for example let’s change the landing distance to 10 and you can see the distance updating automatically so if I switch to the layout tab I can see how the annotative multi-line looks like multi-leaders have two types of content multi-line text or a block with an attribute which it’s this example here now I’m going to show you how to make this go again to the multi-leader style manager and here I’m going to create a new style I select this time annotative and click on new so my new style will have the same settings as the annotative style choose the name for it and when I’m ready I click on continue on this window we go to content and change the multi-leader style to block in this list as you can see there are already several blocks for multi-leader that come with AutoCAD apart from this I can also use a block made by me but this time let’s use this circle then I can change the scale but I’m going to keep it one have in mind that in this kind of multi-leaders using a block we don’t specify the height of the text then I create a multi-leader somewhere here and as the text inside the block is an attribute I’m asked to insert the value let’s put one for it and click on OK to confirm this choice okay I don’t like to match this position so let’s use the grips to put it a bit here inside now it’s good and you can see that it has an acceptable size on the layout let’s add another multi-leader and this time I put 5 for the value you can see how simple it is one disadvantage in multi-leaders unlike dimension lines if I change the multi-leader style settings the existing objects do not update automatically so if I decide I want to change the block I have to draw them again as you see I inserted the arrow with the new block on the next example I’m going to add a multi-leader using a standard style non-annotative so if I use the scale one it will be too small for the drawings that I have here I need to increase it let’s try with 20. then I close this window I’m going to draw the leader ah and you can see that the block I have here is a bit different this one has two attributes I just put random values and now the size fits quite well for this drawing have in mind that using the blocks by defaulty multi-leaders can be hard to measure exactly actually what happens is the measurements themselves are defined at the Block editor when I specify the multi-leader settings I can just set the scale each multi-leader can have more than one Arrow if I click on ADD reader then I select the multi-leader I can add an extra leader so this is as simple as it looks and it’s possible to add how many leaders as I want I could place another from this point or press escape to cancel the command to remove a leader just click on the icon located below select first the object and then click to remove the arrow now let’s talk a bit more in detail about the properties of objects you can find an entire panel here as you can see there are three main tabs the first is for the color the second the line weight and the third the line type by default these settings follow the properties of the layer where the object is now suppose I want to change the color of only a certain object I click on it go to the color Tab and change it to Red for example so at this moment the color of the object is not regulated by the layer color next situation now I have a block and you will see that they can activate different if I try to change the color you can see that it doesn’t work and as you remember we should put the lines that form a block in the layer 0 before creating it so I’m going to copy this block and then I use the command explode to return to its original objects if we want to give more freedom to the block before creating it we set the color of the objects as by block then I convert the door to a block I finish and as you can see it’s possible to change the color to follow the layer or choose the specific one like I did before there are also several ways that I can play with colors in blocks for example I can set the color of these two objects to an orange then I create a block and what happens is that when I change the layer those two objects will always keep the same color line weights I’m going to select this line and change the line weight here to one millimeter but nothing seems to change why the line weight at the status bar is Switched Off so I need to switch it on to see it if you don’t find this icon there go to the corner click in these three lines and find it on the list there also looked at the weights measure exactly how they are printed one millimeter and no matter the scale that we are using so basically the line weights are annotative now I’m going to switch off the icon show line weights and now even the line looks similar as the others also it’s not displayed on the layout it’s still there when you print the project or publish a PDF here you have it and now you can ask why does not AutoCAD show the line weights by default honestly I’m not sure about the answer but I think it’s to not have the workspace too messy with different weights of objects especially if there are lots of them basically it’s up to us to decide if we want the line weights or not like line weight there is a similar option to add a thickness in this case for polylines I can use the command P edit it means polyline edit I select the polyline I select a polyline and you can see several options to use here for example I can turn into a spline or click on the curve to come back to the original polyline along with other options that you can explore later if I click on the third option I can add the width then it prompts specify a new width for all segments this time this width value is the real size like when you draw standard dimensions or standard text so let’s type 50 and the polyline has this new shape I can still snap to the object snap points and they are now in the middle because when we add a width to a polyline it basically expands to the sides extra tip if I wanted I could draw a wall just using one polyline with a specific width for example let’s draw this rectangle with 5 meters per 2 meters then I right click and this is a different way to access the settings that you can find on P edit I select with and put the thickness of 150. so this could be a wall however look what happened here in the corner it looks like that these joints are not connected and this is because the polyline is not closed I open again the right click menu and this time on polyline I click on close to have the results that I want now let’s talk about the remaining setting the line type I’m going to select this line then I click in this tab to select the line type in this case there was already A Lash line selected but let’s see the others then click on load and you can find a bunch of line types in this list here let’s choose this one click on OK select it again here then it didn’t change I also have to select the line and now yes it chain it changes to the one that I want now let’s go to the properties there is a parameter very important here is the line type scale and we have to play with the numbers to know which range of values we need to put here another thing you can also notice that the current value is zero of course it’s not possible to have a scale of zero but the reason of this is on the unit properties I have the Precision set to no decimals I’m going to change it to two decimals and you can see that actually the current scale is 0.1 now let’s see how the line type scale works the smaller it gets the more difficult it is to see to distinguish the shape the larger it is is more likely to see just a continuous line or zooming into a gap let’s see another very important tip it’s common that we want the line types to appear in a specific viewport so as the viewports are in a specific scale this one is set as 1 per 100 we should set up the scale in the model space before choosing the line type if we do this the line type will look exactly as it is in the viewport on the other hand if my scale is set to 1 per 1 and choose the same line type this is the current appearance at the model space when I switch to a viewport that it scaled differently 1.100 in this case I can see that the appearance will not be the same so we reached the end of the tutorial too now I think you have enough knowledge to practice yourself remember that you can find a playlist with exercises in my channel page it’s really important to practice then when you are ready to learn more tips in AutoCAD you can watch the next tutorial which starts right now [Music] hi again so this tutorial is the continuation of the complete tutorial for intermediates that was playing right before let’s check out the contents first I’m going to focus on the status bar and then I will Explore More the topics dimension lines lines and polylines and other drawing commands and tips for texts let’s start [Music] in this first chapter I’m going to focus on some functions of the status bar that I haven’t explained before in the previous tutorials I will start with the isometric Drafting and to understand how it works we are going to draw this simple Cube which is represented as a 2d isometric projection there are three different planes that we can work on the left right and top and before starting let’s switch on the grid and you can notice when I turn on the other magic drafting for the left plane the cursor and the grid are automatically registered and the same happens with the snap mode and the also mode however the polar tracking doesn’t work for isometric Drafting and that means you should be in the Ursa mode to use this technique properly okay let’s make the cube I start with the left plane and this time I’m going to switch on both the grid and the snap modes even they are not required to help you visualizing the drawing process I’m going to start in a major intersection and then make the edges each of them measuring 200 millimeters so when I’m done with this face I change the plane to right and you can see how easily it’s now to draw the right side this time I switch off the snap mode because I don’t need it anymore and finally I turn on the top plane to draw the remaining gadgets now you can start practicing ISO drafting in your projects annotative scaling now in this drawing I have added annotative dimensions in different scales one per 50 1 per 10 and one per two so they appear in the viewport that has exactly the same scale as at this moment the annotative scale is one per one no dimension lines are shown here however if I activate this button all the dimension objects appear now in the workspace basically when this icon is off I can only see The annotation objects that match the current scale the next icon adds scales to annotative objects when The annotation scale changes has the following effect if I change the scale each Dimension line was added that scale and they will still appear if I change one of the viewports to the scale of 1 per 5. the gear hair that looks like a settings menu is actually meant for switching the workspace by default AutoCAD comes with three the current one is drafting and annotation which is used for drawing in 2D then we have two workspaces for 3D modeling first we have 3D Basics this one comes with simple commands in the panels for drawing 3D objects and as you can notice the buttons here are bigger than in the other panels finally we have 3D modeling and here the panels and menus are more complex plenty of commands to model our projects then if we are not happy with none of these workspaces we can create a new one in save current as and then customize it here in this option finally if we put the tick here we can display the workspace name in the status bar this button which represents a square circle and triangle is for isolating or hiding objects and it’s very simple to use let’s start with isolate then I picked these two objects press enter and as you can notice everything is hidden without this part on the other hand if I click on hide I can hide some objects from the screen and I’m doing it on these three ones as an example to return to the normal State I click on end object isolation and everything is shown again hide and isolate can be especially useful when in a complex project I want for example to make some changes in this specific section here I have decided to isolate this part and then hide the lines that I don’t need one last tip alternatively I can access these options from the right click menu and it’s exactly the same as what you can find on the status bar the next icon is the Autodesk trust DWG this function analyzes if the current DWG file was last saved with the Autodesk product or by a software developer license to use the real Autodesk toolkit if it matches this criteria you will have a green tick here if not you’ll get a warning instead of the tick and Autodesk cannot guarantee the application compatibility or Integrity of the file in other words if you were working in a dwj file in a different CAD software it may work properly here in AutoCAD but it’s not 100 guaranteed the next button is called clean screen and we just use it to switch to the full screen mode like this this can be useful if we want to work in a wider workspace so click on it again to get to the previous state finally we have customization here we can either remove icons to the status bar as we wish some of those used to be included in the status bar by default in previous versions and that was the case of the dynamic input I’m going to check this option and you can see it appearing just before the Ursa mode also have in mind that the tick doesn’t mean the function is turned on only that it’s displayed in the status bar so this function shows the input next to the cursor when I type anything with the keyboard such as a command name length Etc and look that it’s not showing it anymore when it’s off another function you can add to the status bar is the selection cycling and this one is very useful for complex projects let’s switch it on and basically when I click on two objects at the same time I mean when they are overlapped this window shows up so I can select the object that I want by default it selects the one in the front and in this case is the construction line but if I want the line that’s on the back I simply click here and it’s selected now this is important if you zoom out a lot and click in a place where is busy with objects for example here looked at the window shows up a big list that you can choose from in this case most of these objects are not necessarily overlapped but they are close enough so they still appear in the list okay in this chapter I will explain some extra tools for the dimension lines let’s start continue and Baseline on the next example suppose I want to add more dimension lines to measure the remaining distances along this side instead of creating Dimensions one by one there is a very useful tool that can save you considerable time if you are working on a huge project to continue dimension first I’m going to draw a vertical Dimension here then I’m going to push this button that says continue and suddenly it looks like I’m making another dimension in the same direction as the last one that I created here so as you can see it’s easy to Place several Dimensions by just clicking on the points that we want when you finish just press Escape I also want to explain you a tip as this command defaults to continue the last Dimension I need to click on select to change to a different dimension line for example I click in this one if I want to continue it to the right for example below the button continue we can find the Baseline with this feature we can make several dimension lines measuring a distance from the same point also look that the precedent is the same as for the continue command however there is a specification that’s a bit different the spacing between each line must be defined on the dimension style manager I’m going to modify the current style internal measures and on the line section we can change the Baseline spacing let’s increase it a little bit to 5. and then click on OK nothing has changed here in fact the new spacing only applies for the next Dimensions that I would draw I’m going to delete them and repeat Baseline again and look that the spacing is a bit wider than before another tip regarding baselines is about the position of the dimension It’s Curious that if the pointer is below the line in the text the new dimension will stay above it and if I move the cursor to the other side you can see that I’m switching the position of this new dimension line [Music] have a look at this example where you can see some dimension lines intersecting each other in order to avoid them appearing as normal lines we can add Dimension breaks at their intersections the icon is this one and the way this works is really simple I just need to click on the dimension line press enter and the break is added automatically at each intersection now let’s activate the command again another way to access it is by typing dim break and this time I select the dimension 600 and as you can see I broke it at these two dimension lines but stays continuous at this point because the break is already added in the previous dimension also brakes applied to any kind of objects that the dimension line intersects and to show you this I’m going to repeat the command in this drawing where this Dimension line intersects those circles look there is a break in all the intersections to edit the brake size I just need to go to the dimension style manager modify the style dims for exercises the current one go to the tab symbols and arrows and at the bottom you can see the section for the dimension break where I can change the brake size as an example I’m going to set 10 click on OK and now as you can see the Gap has increased [Music] Dimension space at the right of the icon theme break we can find Dim space when the dimensions are not well organized or we just want to set the same spacing between different levels we can use this command the process is the following first I need to choose the base Dimension which is the one that will not move then I pick the dimension to space let’s select this one with 200 millimeters of length press enter and then I can type a value or set an automatic spacing if I press enter again you can see the second dimension goes down and now the spacing between both matches the extension lines of the First Dimension okay now I’m going to undo this pressing Ctrl Z and repeat the command again I select the same base Dimension but this time I pick up these two I used again the auto spacing and now the three levels are separated equally let’s go back one last time I’m going to I’m going to do exactly the same but now instead of automatic let’s type a specific distance for reference I can look at that small dimension of 20 millimeters so let’s put the spacing a bit wider I think 30 is fine now this is how it looks like create a jog dimension [Music] this new example has a section at the right which is long enough to not fit in a paper and this representation means that this length is larger than what it looks like here so I’m going to add the dimension line but this time let’s use the tool continue then pick up this last dimension and place this new one here now the length of this Dimension line is 300 millimeters however the real size of that section is 1500. to represent that I need to add the Jack Dimension the button is located here and this is simple first I click on the button then select the dimension line and click exactly in the place where you want to add the chalk now to replace the current measurement I can simple double click on the text and change the value to 1500. basically what I’m doing here is adding a text of a right and it can be either as a text numbers or both finally select the dimension click with the right button go to Quick properties and there I can see the real measurement of the dimension which I cannot change it is 300 and the current text override now to display the real Dimension length again you can just erase the text to the right it’s also possible to edit the size of the jog in the dimension style manager I’m going to modify the current style in the simple scenarios tab there is a panel called linear jog Dimension here we have to specify a height factor with the text size as it’s currently set as 1.5 you can see the size of the jock a bit bigger than the text and if I change it to 3 click on OK and close the windows you can see now the chalk increased it to three times the size of the text okay now let’s have a look at extra tips to apply two dimension lines draw the dimension line at a specific distance from the object suppose we have this example and we need to add Dimensions to indicate the lengths of these lines in fact that’s easy to do we just need to activate the command Dimension linear click on two points and finally click again to place the damage line right okay now I’m going to do the same but for the left side and also let’s add a horizontal Dimension here in the bottom as you can see the dimensions are correct and there is nothing wrong with them but as you can notice I use the random distance from the lines for each of the dimensions okay maybe it’s not a big deal but in my opinion it’s better if we use a specific Dimension spacing for the entire drawing or even for the full project let’s see I’m going to do this again this time I’m drawing a dimension line measuring this section but then instead of clicking on a random location for placing the measurement I decided to have it for example at 500 millimeters above the line and when I see this extension track line I type 500 and press enter in this way I will have that distance between both objects then for the left Dimension I use the same method I hover the end point drag to the left and type 500 again finally I repeat the same process down here type the 500 millimeters and now you can see that all the dimensions have the same separation between the lines making the drawing looking nicer of course there are always exceptions in a rule let’s use the command continue for the dimensions above ah first I have to choose to select the object that I want to continue I click on select then on this extension line as you can see I am adding another dimension connected with the first one and finally add the third dimension by clicking in this last corner of course as you can see this last animation is far away from the line but in this way I can have all the dimensions in this side all along the same reference line finally here you have an example of this method applied in a floor plan set specific lengths for extension lines another nice setting is to set the fixed length for the extension lines those bars that limit the measurement using the default settings when I add more dimension lines all along this side and look that I can do it pretty quick by just clicking in each intersection they start from the points where I click with an offset Gap that is also specified in the dimension style manager I’m going to access that menu by clicking on the icon located on the dimensions panel select the dimension Style this one annotative and click on modify in this section below put the tick here to add the fixed length on all the extension lines as you can see the length here is three millimeters and actually as this is an annotative style this value means that the extension lines will measure three millimeters in a paper after printing it click on OK and you can see the result use template files with your own Dimension styles this is a good practice if we want to keep the dimensions with the same appearance in all the projects we are working on suppose you have a file about the project of the building X then your next one will be about the building Y and then the building set as you will probably use different DWG files for each project to keep the same Dimension Styles the best is to have a template and use it whenever you start a new project so in a new file which can be from a template you have created and I don’t have any objects here in the workspace I’m going to the dimensions tab on the annotative menu and click on manage Dimension styles so these are the default Styles I can modify any of them or create a new style if I want and that’s exactly what I’m going to do I click on new then on the first blank I should write the name for the new style start with means that I copy the settings of the style that is showing here in this case annotative below I decide if I want to use annotative Dimensions by checking this box and finally I can continue so now we can make the changes that we need text arrows primary units Etc I’m going to add just a suffix here as the symbol of millimeters because I put it on the title and click on OK to save the changes after I can add more styles for example let’s say I am creating a similar Style with the same settings except for the suffix I’m going to set meters and for that I put a scale factor to convert millimeters to meters of course this is in case I’m making the drawing in millimeters and when you are ready with your Styles let’s save this file as a template choose the name and save it on the default templates folder or create a new one in this way you can start your projects with the same template and you don’t need to edit the dimension styles again [Music] on the next chapter of this video we will go back to lines and polylines but this time we are going to learn some interesting tips that will help you to master these two commands let’s start with settings to edit in a polyline [Music] there are several features we can edit in a polyline and we are going to start with gloves to explain you this situation I’m going to use this example where we are going to draw this simple figure with the command polyline you will see that what matters here is the way we will draw the last line let’s activate the command polyline as you may know I can click on the icon at the ribbon or a faster way is using its Alias just type PL and press enter then I’m going to draw this irregular polygon and let’s make it beautifully starting at the same horizontal play first make sure object snap and Ortho mode are on hmm the Snaps are off let’s turn them on I’m going to hover this endpoint drag to the right following this truck line and then I type 200 millimeters to start the polyline at that distance from the corner then I draw each line by typing the exact length with the keyboard and to make the things easier for you you can just look at the left drawing as all the dimension lines are there also notice as we are inertia mode for the lines snap vertically or horizontally and in this way we can draw all the lines much faster I’m going to speed up the process and when I arrive at the last line I’m going to finish the polyline normally by clicking at the end point what happened is if I’m using the grips to modify the figure by trying to move the line at the bottom a bit down where we should click on this grip at the middle you can see it separates from the last line in contrast what happens if I try to do the same in these other segments look however let’s go back when we want to join the last line with the start point we can click on close or typing CL and this time I basically remove any start and last point from the polyline and the lines no longer break at the origin now I’m going to select the polyline and right click with the mouse let’s go towards polyline and there are several settings that we can do here if I click on open look what has happened the last segment that I inserted just disappeared leaving the polyline open instead if I click on close I get back to a closed polyline exactly how it was before with the options at the bottom I basically comfortably line into a spline if I choose cure fit you get this result and it’s exactly like drawing this figure using the spline fit command on the other hand if I convertibly line to spline fit it uses the method of drawing the spline CV command I know it sounds a bit counter-intuitive but CV actually means control vertices in the same menu related with the polylines we can add a width in case we want to represent that polyline a bit thicker comparing with the other objects in this drawing then we are prompt to insert a value because I have these Dimensions here as a reference I can guess more or less how the new thickness will look like let’s insert 10 and it should be more or less this distance type 10 press enter and here you have the result one characteristic when you add a width to a polyline is when you select it the grips are located at an imaginary line in the middle to get back to the previous day I go again to width but this time I’m going to type 0 to disable this property convert lines in a single polyline sometimes we are just drawing something and only after finishing we realize that we have been using the command line instead of polyline that’s fine and there is no needs to draw everything again of course there is a command for that the command join you can find it here on the modify panel that’s simple select all the objects and they convert to a single polyline [Music] line line types a lot of AutoCAD users have encountered problems when dealing with line types in addition the way they appear in the workspace can be very different than the viewports on the layout tabs all that strolling is due to the line type scale so in this tutorial we are going to explore this step by step hoping this won’t be a big issue for you back on the same drawing we are going to create a new layer here let’s name it dashlines and set the different color for example this light blue one next I select the drawing at the right and change it to the new layer on the layer properties manager there is a column about line types let’s change the line type for this layer and first I have to load a new one and as you can see there are lots of them that AutoCAD provides by default I select this ISO Dash space then don’t forget to select it also here click on OK and close as you can see the lines in that blue layer are now dashed now there isn’t any control to set the measure of each Dash or to set the quantity of dashes within a line that would be very hard to measure but what we can do instead is set the line type scale now in AutoCAD we can set a line type scale for a specific object or we can apply it generally for all the file and in that case all the lines that are not continue change their appearance so to set the general line type scale I type LT scale and press enter the default value as you can see is 1 and this drawing has the dashes with this size if I change the scale to 0.5 you can see the dash sizes are now half smaller if I am not happy with the result I can keep changing until I find the size that works for me so at this moment it doesn’t look hard but suppose now I draw a line very very large in comparison with the existing objects what happens here is with the same line type scale I cannot see anything as I don’t want to modify the other dashed lines I can do a different process select the line and go to properties and here you can see a setting for the line type scale by changing this value and this time I’m going to try a very huge one for example 50 and let’s see ah finally I can see the dashes properly without changing the lines that I have in the exercise that I showed you before now let’s go back but they seem to change um okay this is actually just a problem of loading the screen usually if you zoom the screen few times we’ve solve this problem but but in this kind of situations the best is to use the command region regenerate and now the dashes are visible again object snap overrides midpoint between two points imagine we are drawing a polyline or a line here the next point will be on the midpoint of this distance normally we would make a temporary line there and use its midpoint that’s a way however there is an alternative if I right click go to object snap overrides select mid between two points then you will see if I click on two points the line ends at the middle between them use a specific object snap mode sometimes you have probably noticed it’s hard to find the mode we actually want especially if a lot of them are turned on for that then go to oh snap overrides and choose the one we want to use right now for example if I select perpendicular it’s very easy to find a perpendicular intersection to this line okay let’s go on now I am going to show you extra drawing commands that you can find in this little section let’s start with spline it’s a command to create a smooth curve and there are two types the first one is blind fit here which is the point where the curve must pass through and when you finish press enter to confirm the spline if you press Escape instead you cancel the command and nothing is created so have this in mind then it’s possible to adjust the position of the curve by moving the grips the second method to create the spline is with controlling vertices now unlike the spline fit the curve doesn’t pass through the points that we specify as they are just vertices to control its position then this grip that looks like an eject button switches from fit to control vertices so you can use this if later you change your mind another command available here is the construction line it’s this button this creates an infinite line and it’s used mostly for drafting purposes one of the situations that can be useful is to draw an elevation of a floor plan like the example I’m showing to you right now the next command at the right is called Ray and it works in the same way as the construction lines as well we can use them as a reference to draw other objects the difference array is a semi-detached line it has an origin and continuous infinitely in the direction that we specify also the bullet tracking might be useful here if we need to create trays separated equally with a specific angle for example 15 select that option and then click where the pointer snaps other type of reference is simply a point I can click in this command multiple points and you can place them in strategic positions then in this example I’m going to add two points in two intersections of the track lines at the right we have two buttons called divide and measure they are very similar with divide we can create a certain number of space points along a line or another kind of object now I enter the number of segments for example 5 and press enter the only thing here is that we can’t just see these points if we delete the line or move it to another place so in conclusion I think this command can be useful if we need to place equally spaced points along a certain direction so in this case I can draw a line then use divide and erase the line at the end with the command measure instead of specifying the number of points I set the length between each of them as an example let’s type 20 and I divided the line in five sections [Music] in the last chapter we will talk about texts and this time we will focus on some a bit more advanced tips let’s check them out insert text height is not showing on the command bar not sure if this happened to you but sometimes when we are creating a text object let’s say a single line text for example we realize that it prompts directly to set a rotation angle of the text without asking for the text height previously this happens when our current text style has a specific height defined in its properties so in this situation we are on the style floor plan labels and the text style you can see here it’s defined as 500 so let’s cancel this first I’m going to access the text style properties and you can see the height here for floor plan labels is defined as 500. on the other hand the standard style let’s click on it remember that it prompts to specify a text height on screen due to the fact that the value here is set to zero so memorize this now let’s go back to floor plan labels and I’m going to change the height to zero apply the changes in close finally on the workspace after activating the command single line text the first prompt is to specify the height even the default one is 500 I can press enter to use this one or change to a different one if I want how to convert multi-line text to single line text and vice versa okay I’m going to insert a multi-line text object for the text style I’m going to use standard and if you look at the label there you can see it’s the current Style type the Alias t press enter and then click a new wire to start defining the window that I want to fit the text in and now as this style doesn’t have a specific height already defined I can change it here if I want so let’s set 150 for example okay now let’s Place three lines of text and as my point is just to explain to you how this works I’m going to put text 1 text 2 and text 3. finally click anywhere to confirm the multi-line text now imagine that later I decided to separate each line so this is very easy you just need to explode it and from now on we have three single line text objects here now the other way around in this file I have this floor plan and in each room I added a label as two single line texts with different heights each one is for the name of the room and the text below indicates the area in square meters so it’s also possible to merge both on the M text and there is a command for that its name is a bit complex by the way txt 2 m t x t yes it’s strange but actually it’s not hard to memorize as it means text to M text but don’t worry because once you type the first two letters it shows up on the command list then you press enter and notice that the texts became a bit closer and the reason is to follow the spacing that is defined in a multi-line text between its lines OK this is a multi-line text now and if you double click on it you can access the text editor as usual for changing the settings if needed another thing this tool still works even if the objects are displayed randomly around the screen the only problem is when applying text to M text they may not organize how we expect so you have to do it manually simple in closed text in object now look at the labels that we had on the floor plan but to simplify the things I copied them to an empty space here because I think it’s easier to understand properly how this tool works ah and to be even better let’s move also the areas which are in a smaller size a bit below now let’s switch to the express tools menu and specifically at the text panel these are basically some Advanced operations regarding texts and their look there is also this command the txt2mtxt that I was focusing earlier in this video but okay what we need now is this button enclosed to object I’m going to click on it then I select all the objects press enter and then the first prompt is to insert an offset factor and be aware that this is not a distance it’s just a factor that still has inconsideration the size of the text as a first attempt I’m happy with these one value so I press enter and for the type of object let’s go for rectangle then we have here two options constant and variable and to understand better the difference there is nothing like seeing the result I click on variable and now the object size differs according to the length and size of each text so that’s why the rectangle in bedroom 1 is wider than in path if I choose constant instead then there is another box asking me what I want to maintain constant if the width the height or both so this time I’m going to choose both and now all the rectangles are exactly the same even the ones around the areas whose text height is smaller basically the system takes the largest rectangle and places it around the remaining objects now let’s look what happens when we change the offset Factor if I set it to 5 the objects become bigger the only problem that it’s maybe hard to guess the size that the object will have unless you have a lot of practice but you can try a few times until you find the value that you are looking for finally there are two more types of objects that we can use circles and slots and the available settings are exactly the same as for the rectangles one last thing the text and object keep their independence in a way that in this situation the circle is not following the text if I change the text size this was something when I was exploring this command I didn’t understand what variable and constant meant I thought when we change the text height or the text itself the object would adapt to the new size but it didn’t actually variable and constant only works for a multiple text selection [Music] mirror text in AutoCAD by default text objects are not mirrored when we use that command to make a symmetry copy of a specific drawing as you will see in this situation the texts are copied but without inverting the letters just because I think most of the time we don’t want that to happen however if in a hypothetical situation we need to display the text backwards we only need to change the system variable mirror text enter and here we have two options if I set 0 which is the mode by default the text is not mirrored so to enable this ability I set 1 press enter and now if I apply the command mirror to these objects at the right look that now the texts are backwards insert the field in a text this is a very interesting and useful Advanced option available in AutoCAD a field is basically a way to insert data that we expect to change during the cycle of a drawing ah this is actually the definition that you can see on the Autodesk website by the way as an example I provided to you this file where I have attached an image from a satellite view of a part of a town right in the center of Africa now suppose the image is already scaled to have its real proportions in meters the unit I specified for this project now I’m going to add a polyline to measure a specific area let’s make it around these houses and the accuracy here is not very important I just want to show you how this works then let’s add a text object and I will type for it area of the terrain with the current value displayed here and the main point is that the area updates automatically if I decide to change the size of that polyline so I right click with the mouse and go to insert field in this window from the category list we can add date and time that could be useful for a layout sheet among other options let’s pick up objects and then press this button to select a specific object which in this case is this body line I click on it and then at the right section there are several parameters that we can display let’s choose area and that the section at the right first we can see a preview of the result above and this means it’s going to be 3248 square meters then here we can choose the format at this moment decimal is fine for me below it’s the Precision and in additional format we have extra options like conversion factor in case we need to display the result in a different unit than the one I set for the project and an additional text for example I can add an indication of square meters as a suffix click on OK and close the window now the error is displayed within the text also notice that the values are showing highlighted but don’t worry in case you want to print as on the paper this rectangle around the number will not appear finally as I mentioned before the great thing of using Fields is that I can change the area of the polyline and the value updates automatically okay sometimes we have to save the drawing and open it again to notice the change but you can always use the command Regen to update the value in this precise moment so it was everything for today but this time before leaving I want to mention that I just started the page of patreon for gazing plan there you can support this channel to help me keep creating more content here I would really appreciate that even of course I’m already grateful that you find these videos available and that they are helping you to speed up your knowledge without your support nothing of this would be possible so thank you very much for watching see you next time

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Python Programming Fundamentals: Data Types, Functions, and User Input

    Python Programming Fundamentals: Data Types, Functions, and User Input

    The source is a Python programming tutorial. It explains fundamental concepts, data types, and structures like strings, integers, booleans, lists, sets, and dictionaries. It also covers functions, modules, object-oriented programming (OOP) principles using classes, and file handling, specifically with spreadsheet data. The tutorial provides practical coding examples and discusses built-in modules for tasks like date/time management. It further explores how to install external packages for more specialized operations and encourages logical thinking alongside coding skills. The tutorial is geared towards beginners, particularly those interested in devops engineering.

    Python Fundamentals Study Guide

    Quiz

    Instructions: Answer the following questions in 2-3 sentences each.

    1. What is an Integrated Development Environment (IDE), and what are some of the benefits of using one?
    2. Explain the difference between integers and strings in Python. Provide examples of each.
    3. What is string concatenation, and how is it achieved in Python? Show an example of string concatenation.
    4. Why are variables useful in programming? Describe the advantages of using variables in your code.
    5. In Python, what is a reserved word? Provide two examples and explain why they can’t be used as variable names.
    6. What are functions? Describe the advantages of using functions in your code.
    7. Differentiate between global and local variables. Why is understanding variable scope important?
    8. What is a conditional statement? Explain how ‘if,’ ‘elif,’ and ‘else’ statements are used.
    9. How can you handle potential errors or exceptions when asking for user input in Python? Describe what a ‘try/except’ block does.
    10. Explain the difference between a list and a set in Python. When would you choose to use one over the other?

    Answer Key

    1. An Integrated Development Environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. Benefits include syntax highlighting, code completion, and integrated debugging tools, all in one place to streamline development and make a developer’s job easier.
    2. Integers are whole numbers (positive, negative, or zero), while strings are sequences of characters (text). For example, 10 is an integer, and “Hello” is a string.
    3. String concatenation is the process of combining two or more strings into a single string. In Python, it can be done using the plus sign (+) or f-strings. For instance, “Hello” + ” ” + “World” results in “Hello World”.
    4. Variables are useful because they allow you to store and reuse values throughout your code, avoiding repetition and making your code more readable and maintainable. By using variables, you only need to change the value in one place, and it will be reflected everywhere the variable is used.
    5. Reserved words are words that have special meanings to Python and cannot be used as variable names. Examples include def and if. Using them as variable names would cause syntax errors, as they would conflict with Python’s built-in language constructs.
    6. Functions are blocks of organized, reusable code that perform a specific task. Functions promote code reusability and make your code modular and easier to understand by breaking down complex tasks into smaller, manageable units.
    7. Global variables are defined outside of any function and can be accessed from anywhere in the code, while local variables are defined within a function and can only be accessed within that function. Understanding scope is important because it determines where a variable can be used and helps prevent naming conflicts.
    8. A conditional statement allows you to execute different blocks of code based on whether a certain condition is true or false. The if statement executes a block of code if a condition is true, elif (else if) checks an additional condition if the first condition is false, and else executes a block of code if none of the preceding conditions are true.
    9. To handle potential errors when asking for user input, you can use a try/except block. The code that might raise an error (e.g., converting user input to an integer) is placed inside the try block, and if an error occurs, the code inside the except block is executed, allowing you to handle the error gracefully.
    10. A list is an ordered collection of items that can contain duplicates, while a set is an unordered collection of unique items (no duplicates). You would use a set when you need to ensure that all elements are unique and when the order of elements doesn’t matter, and a list when you need to maintain the order of elements and allow duplicates.

    Essay Questions

    Instructions: Answer the following questions in essay format, drawing upon the source material.

    1. Discuss the importance of code style and readability. How can tools like PyCharm aid in maintaining consistent code style?
    2. Explain the concept of “decomposition” in programming. How do functions contribute to code decomposition, and why is it important for managing complex projects?
    3. Describe the process of validating user input. Why is input validation crucial, and what techniques can be employed to ensure data integrity?
    4. Explain the benefits of using modules to organize your code. How do modules promote code reusability and maintainability in larger projects?
    5. Discuss the different data types available in Python, such as strings, integers, floats, lists, sets, and dictionaries. Explain why it’s important to understand and utilize appropriate data types to accomplish specific tasks.

    Glossary of Key Terms

    • IDE (Integrated Development Environment): A software application that provides comprehensive facilities to computer programmers for software development.
    • Data Type: A classification identifying one of various types of values that determine the possible values for that type, the operations that can be performed on that type, and the way values of that type can be stored.
    • String: A sequence of characters; a data type used to represent text.
    • Integer: A whole number (positive, negative, or zero); a data type used to represent numeric values without fractional parts.
    • Float: A number with a decimal point; a data type used to represent numbers with fractional parts.
    • Boolean: A data type with only two possible values: true or false.
    • String Concatenation: The process of combining two or more strings into a single string.
    • Variable: A storage location paired with an associated symbolic name (an identifier), which contains a known or unknown quantity of information referred to as a value.
    • Reserved Word: A word that has special meaning to a programming language and cannot be used as a variable name.
    • Function: A block of organized, reusable code that performs a specific task.
    • Global Variable: A variable defined outside of any function, accessible from anywhere in the code.
    • Local Variable: A variable defined within a function, accessible only within that function.
    • Variable Scope: The region of a program where a variable can be accessed.
    • Conditional Statement: A statement that executes different blocks of code based on whether a certain condition is true or false (if, elif, else).
    • Comparison Operator: Symbols used to compare two values (e.g., >, <, ==).
    • Boolean Value: A value that is either true or false.
    • Exception Handling: The process of responding to the occurrence, during computation, of exceptions – anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution.
    • Try/Except Block: A construct used to handle exceptions.
    • Loop: A sequence of instructions that is continually repeated until a certain condition is reached.
    • List: An ordered collection of items that can contain duplicates.
    • Set: An unordered collection of unique items (no duplicates).
    • Dictionary: A collection of key-value pairs, where each key is unique.
    • Module: A file containing Python definitions and statements; a way to organize code into reusable units.
    • Built-in Function: Functions that are available in Python without needing to import a module (e.g., print(), input(), int()).
    • Package: A way of organizing related modules into a directory hierarchy.
    • pip: A package management system used to install and manage software packages written in Python.
    • Library: Describes package that includes multiple other packages, a hierarchy of packages.

    Python Programming: Core Concepts and Usage

    Okay, here’s a detailed briefing document summarizing the main themes and important ideas from the provided text.

    Briefing Document: Python Programming Concepts

    Overview:

    This document summarizes key concepts in Python programming, as taught in a course or tutorial. It covers fundamental topics like Integrated Development Environments (IDEs), data types (strings, integers, floats, booleans), string concatenation and formatting, variables, functions, user input, conditional statements (if/else), loops (while, for), lists, sets, dictionaries, built-in functions, modules (including datetime and OS), package management (pip), and file handling with external packages (openpyxl).

    I. Setting up the Development Environment:

    • Integrated Development Environments (IDEs): IDEs like PyCharm provide a comprehensive environment for writing and executing code. They offer features like:
    • File navigation within the project.
    • Built-in execution environment (eliminating the need to use a separate terminal).
    • Syntax highlighting.
    • Error highlighting.
    • Code suggestions and autocompletion.
    • “Integrated because you have everything in one place so you don’t need to use terminal but in addition to this integration you get more cool features which helps you in writing python code for example syntax highlighting highlighting errors or code suggestions autocomplete suggestions and we will see those cool features actually also throughout this course so basically just makes your life as a developer easier…”

    II. Data Types:

    • Strings: Textual data is represented as strings, enclosed in either double quotes or single quotes. There’s no functional difference between using single or double quotes.
    • “everything within the double quotes is basically a string but note that in python you can also use single quotes for strings so double quotes or single quotes they both work the same and there’s actually no difference between them”
    • Integers: Whole numbers (positive, negative, or zero) are represented as integers.
    • “for whole numbers like 2 20 but also 0 and negative numbers as well we have a data type called integer and that’s also how it’s called in most programming languages”
    • Floats: Numbers with decimal precision (e.g., currency values, weights) are represented as floats.
    • “however you also have numbers for currency for example how much a product costs right so if you have an online shop you would have prices like this for example so these are basically numbers with precision”
    • Booleans: Represent truth values: True or False. Used extensively in conditional statements.
    • “and those true and false values in programming actually are represented by its own data type which is called boolean”

    III. String Concatenation and Formatting:

    • String Concatenation: Combining strings using the + operator. Requires explicit conversion of non-string data types to strings using str().
    • “we combine the strings using plus sign so apart from adding numbers obviously using plus plus is also used in programming for combining multiple strings”
    • “if we just put a number here python interpreter tells us it’s not a string it’s a number so we need to turn it into a string”
    • Formatted String Literals (f-strings): A more elegant way to embed expressions within strings, using curly braces {} and the f prefix before the string. Requires Python 3.6 or later.
    • “instead of having these plus we have curly braces and we write our number inside or whatever non-textual value and at the beginning right here basically before we start writing a string which starts with quotes we just write the letter f”
    • “this f actually stands for format so this is basically formatting our text or our string in a correct way”

    IV. Variables:

    • Variables store values that can be reused throughout the code. Python’s variable definition is simple: variable_name = value. No explicit data type declaration is needed (unlike some other languages).
    • “in python defining or creating a variable and giving it a value like this syntax for that is actually very simple compared to other languages because you just have the variable name and the value in many programming languages you actually have to define here some kind of data type for that variable for example if it’s a number like float or integer or string etc in python you don’t have to define that”
    • Naming Conventions: Use descriptive variable names, separating words with underscores (e.g., calculation_to_seconds). Avoid using reserved words (keywords) as variable names.
    • “variables that are descriptive so basically they tell you what this value actually is about so they have multiple words in them you can separate them using these underlines”

    V. Functions:

    • Functions are reusable blocks of code that perform specific tasks. They are defined using the def keyword.
    • “functions are basically blocks of code like this right or basically logic in code that does something it’s not just simply a value but actually does something more complex that is again used in order to avoid repeating the same logic or most of the same logic in your code”
    • “we start with def so we define a function just like we define a variable but for function we need this keyword basically called def”
    • Parameters: Functions can accept input values called parameters, defined within the parentheses () in the function definition.
    • “instead of having this 20 basically here hard coded as we said here and here we provide that value of 20 or 35 or whatever that value is basically whenever we use the function”
    • Calling Functions: Functions are executed (or “called”) using their name followed by parentheses, optionally including arguments for the parameters: function_name(argument1, argument2).
    • “whenever you create a function or define a function like this you actually have to use that function right”
    • “How do we use a function or in programming languages it’s called calling a function or executing a function and we do that using the name of the function like this”
    • Variable Scope:Global Scope: Variables defined outside a function are accessible to all functions in the code.
    • Local Scope: Variables defined within a function are only accessible within that function.
    • “variable has a global scope for a function if it is defined outside the function like these two variables right here could be completely in a different file not even in the same file where the function is so these are global variables”
    • “local variables are variables that are created within that function right so these two variables are basically only available inside that function because it was created within that function so internal scope and global scope”

    VI. User Input:

    • The input() function prompts the user to enter a value. The input is always returned as a string.
    • “accepting a user input from a python application is actually pretty easy let’s get rid of all of these lines first and we can do that by writing input and this will basically give a user a prompt to enter some input value”

    VII. Conditional Statements (if/else):

    • if statements execute a block of code if a condition is true. else statements provide an alternative block of code to execute if the if condition is false. elif (else if) allows for multiple conditions to be checked in sequence.
    • “if condition then do something otherwise do something else and that conditional can be true or false”
    • “in the if else statement in programming we can have multiple conditionals so basically we can have multiple ifs so how do we do that first we check number of days is greater than zero okay great now we want to check whether number of days is equal to zero and we can do that using another if here and in python the syntax for that is el if which basically is a combination of else and if”
    • Comparison Operators: Used to compare values in conditional statements (e.g., >, <, == (equals), >=, <=, != (not equals)). == checks for equality; a single = is used for assignment.
    • “this greater than sign is called a comparison operator and we have three of them we have greater than less than and equals and these are called comparison operators because they are used in an operation to compare two values”
    • Boolean Data Type in Conditionals: The condition in an if statement evaluates to a boolean value (True or False).
    • “this conditional will either give true or false what i’m going to do is i’m going to print this conditional right before i do the check so for a positive number input this should print true and if it’s negative so it’s not greater than 0 this should print false”

    VIII. Loops:

    • while Loops: Execute a block of code repeatedly as long as a condition is true.
    • “the second type of loop is called while loop and that while loop will basically keep that block of code that is part of it executed again and again as many times as needed and in order to say how many times the code needs to get repeated we again need a condition”
    • for Loops: Iterate over a sequence (e.g., a list, a string) and execute a block of code for each item in the sequence.
    • “we have another type of loop called for loop and basically we want to execute validate and execute function using a for loop”

    IX. Exception Handling (try/except):

    • The try block encloses code that might raise an exception (error). The except block handles the exception if it occurs, preventing the program from crashing.
    • “we put potentially dangerous code in that try and if anything bad happens within this logic within this logic block that we put in the try block if there is any error happening python will automatically catch this error and will transfer the execution flow automatically right here to the code that we specify after the accept”

    X. Data Structures:

    • Lists: Ordered, mutable (changeable) collections of items, enclosed in square brackets []. Lists can contain items of different data types. Lists allow duplicate values.
    • “the syntax for list is using square brackets and inside the square brackets we have a list of elements and those elements can again be either strings numbers or boolean values”
    • Sets: Unordered collections of unique items, enclosed in curly braces {}. Sets do not allow duplicate values.
    • “set is basically a list of elements but with unique values inside so list data type allows duplicate values the same value multiple times set does not allow duplicate values”
    • Dictionaries: Unordered collections of key-value pairs, enclosed in curly braces {}. Keys must be unique and immutable (e.g., strings, numbers).
    • “dictionary is basically a collection of key value pairs”
    • “each element in this dictionary has key and a value”

    XI. Built-in Functions:

    • Python provides a variety of built-in functions that perform common tasks (e.g., print(), input(), int(), str(), len(), set(), type()).
    • “functions that we ourselves didn’t actually write and the functions that python basically makes available for us to use are called built-in functions”
    • Some built-in functions are called directly (e.g. print(x)). Other built-in functions are called on a specific object (e.g., my_string.split(), my_list.append()).

    XII. Modules:

    • Modules are files containing Python code that define functions, classes, and variables. They provide a way to organize and reuse code.
    • “modules are basically just organizing your code into multiple python files like that and then accessing some parts from a module like functions variables etc from one file from another and the goal here is basically not to put the whole logic into one single massive file but rather to have it nicely separated based on the logic”
    • Importing Modules: Modules are imported using the import statement. Specific elements (functions, variables) can be imported using from module import element. All elements can be imported using from module import *. Modules can be renamed using import module as alias.
    • “you can pick and choose which specific functions you want to make available inside another file or another module and you can do that very easily using the following syntax we say from helper that’s the module again import and the name of the function like this”
    • Built-in Modules: Python includes several built-in modules that provide functionality for various tasks (e.g., os, datetime, logging).
    • “we can actually use modules that python itself already includes so just like we used some functions that python gives us out of the box like inputs or ins so basically all of those the same way python also gives us modules for different scenarios so that we don’t have to write this logic ourselves”

    XIII. Package Management (pip):

    • pip is the package installer for Python. It is used to install and manage external packages and libraries from the Python Package Index (PyPI).
    • “in python we install packages using a package manager tool called peep”
    • “pip is a package manager for python”
    • pip install package_name installs a package.
    • External packages extend Python’s functionality and provide ready-made solutions for common programming tasks.

    XIV. File Handling with External Packages (openpyxl):

    • External packages, such as openpyxl, provide specialized tools for working with specific file formats (e.g., spreadsheets).
    • “there is an external package that allows you to work with spreadsheets specifically”
    • Packages like openpyxl offer functions for reading, writing, and manipulating data in spreadsheet files.

    This document provides a high-level overview of the Python concepts covered in the source text. It emphasizes definitions, syntax, and key use cases for each topic.

    Python Development Fundamentals

    IDEs, Data Types, and String Concatenation

    • What is an IDE and why is it useful for Python development?
    • An Integrated Development Environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. IDEs like PyCharm bundle common developer tools into a single graphical user interface (GUI). This usually consists of a source code editor, build automation tools, and a debugger. In the context of Python, an IDE integrates file navigation, code execution (eliminating the need for a separate terminal), syntax highlighting, error highlighting, code completion, and other features that simplify and accelerate the coding process, making developers more productive.
    • What are data types in Python, and can you provide examples of common data types?
    • Data types are classifications that specify which type of value a variable has and what type of mathematical, relational or logical operations can be applied to it without causing an error. Common data types in Python include:
    • Strings: Used for text. Strings are enclosed in either single quotes (‘) or double quotes (“) e.g., “Hello” or ‘World’.
    • Integers: Used for whole numbers (positive, negative, and zero) e.g., 2, -20, 0.
    • Floats: Used for numbers with decimal points, representing numbers with precision e.g., 2.99, 150.00.
    • Booleans: Represents true or false values.
    • What is string concatenation and how is it achieved in Python?
    • String concatenation is the process of combining multiple strings into a single string. In Python, string concatenation can be achieved using the + operator or f-strings (formatted string literals). The + operator joins strings together, while f-strings allow you to embed expressions inside string literals, which are evaluated at runtime and formatted accordingly. F-strings are generally considered more readable and efficient.
    • What are f-strings in Python, and what advantages do they offer over traditional string concatenation methods?
    • F-strings, introduced in Python 3.6, are a more concise and readable way to format strings. An f-string is a string literal prefixed with f or F. F-strings offer several advantages:
    • Readability: They allow you to embed expressions directly within string literals, making the code easier to read and understand.
    • Conciseness: They eliminate the need for explicit string concatenation operators or formatting methods.
    • Efficiency: F-strings are generally faster than other string formatting methods because they are evaluated at runtime.
    • Direct Embedding: Instead of needing to convert a data type to a string and then concatenate, f-strings allow for direct embedding using curly braces.

    Variables, Functions, and Program Control

    • What are variables, and why are they used in programming?
    • Variables are named storage locations that hold values in a computer’s memory. Variables are used in programming to store data that can be accessed, modified, and reused throughout a program. Variables help to avoid repetition of values, enhance code readability, and make it easier to update values in multiple places by changing the value of the variable once.
    • What are functions, and how do they help in writing modular and reusable code?
    • Functions are self-contained blocks of code that perform a specific task. Functions help in writing modular and reusable code by encapsulating logic into named units that can be called from different parts of a program. Functions promote code organization, reduce redundancy, and make it easier to maintain and update code. Functions can accept inputs (parameters) and return outputs.
    • What are variable scopes (local vs. global), and how do they affect the accessibility of variables within a program?
    • Variable scope refers to the region of a program where a variable can be accessed. There are two main types of variable scopes:
    • Local scope: Variables defined within a function have local scope, meaning they can only be accessed within that function.
    • Global scope: Variables defined outside of any function have global scope, meaning they can be accessed from anywhere in the program, including inside functions. It is possible to have a local and global variable with the same name, where the local variable “shadows” the global variable.
    • How can conditional statements (if/else) and loops (for/while) control the flow of execution in a Python program?
    • Conditional statements (if/else) allow you to execute different blocks of code based on whether a condition is true or false. Loops (for/while) allow you to repeat a block of code multiple times, either a fixed number of times (for loop) or until a condition is met (while loop). These control structures enable you to create programs that can make decisions and perform repetitive tasks efficiently. If-else statements can be chained using elif to check multiple conditions in sequence.

    User Input, Error Handling, and Data Structures

    • How can you prompt the user for input in Python, and why is it important to validate user input?
    • You can prompt the user for input in Python using the input() function, which displays a message to the user and returns the text entered by the user as a string. It is important to validate user input to ensure that it is in the expected format and range, preventing errors and crashes in your program. Validation can involve checking data types, verifying numeric ranges, and sanitizing input to prevent security vulnerabilities.
    • What is exception handling (try/except), and how does it help in writing robust and error-resistant code?
    • Exception handling (try/except) is a mechanism for handling errors that occur during program execution. The try block encloses code that might raise an exception, and the except block specifies how to handle that exception if it occurs. Exception handling allows you to gracefully recover from errors, prevent program crashes, and provide informative error messages to the user. Using exception handling allows a program to continue running even when an error occurs.
    • What are lists, sets, and dictionaries in Python, and what are their key differences and use cases?
    • Lists: Ordered collections of items that can be of any data type. Lists are mutable, meaning their elements can be changed after creation. Lists allow duplicate values.
    • Sets: Unordered collections of unique items. Sets are mutable and do not allow duplicate values. Sets are useful for removing duplicates from a collection and for performing set operations like union, intersection, and difference.
    • Dictionaries: Collections of key-value pairs, where each key is associated with a value. Dictionaries are mutable and allow you to access values efficiently using their corresponding keys. Dictionaries are useful for storing and retrieving data based on unique identifiers.
    • How can you iterate over a list or set using a for loop, and how can you access values in a dictionary using keys?
    • You can iterate over a list or set using a for loop by specifying the list or set as the iterable object. The loop variable will take on the value of each element in the list or set, one at a time. You can access values in a dictionary using keys by specifying the key inside square brackets ([]) or by using the get() method.
    • my_list = [1, 2, 3]
    • for item in my_list:
    • print(item) # Prints each element: 1, 2, 3
    • my_dict = {“a”: 1, “b”: 2}
    • print(my_dict[“a”]) # Prints 1
    • print(my_dict.get(“b”)) # Prints 2

    Modules, Packages, and File Handling

    • What are modules and packages in Python, and how do they help in organizing and reusing code?
    • Modules are individual Python files that contain functions, classes, and variables. Packages are collections of modules organized into directories. Modules and packages help in organizing and reusing code by breaking down large programs into smaller, manageable units. Modules can be imported into other Python files, allowing you to access their contents. Packages provide a hierarchical structure for organizing modules, making it easier to manage large codebases.
    • How can you import modules and packages into your Python code using the import statement?
    • You can import modules and packages into your Python code using the import statement. The import statement specifies the name of the module or package you want to import, making its contents available in your current file. You can also use the from … import syntax to import specific functions or classes from a module, or from … import * to import everything. Aliases can be created when importing using import X as Y.
    • What is pip, and how can it be used to install external packages from the Python Package Index (PyPI)?
    • pip is the package installer for Python. You can use pip to install external packages from the Python Package Index (PyPI), which is a repository of third-party Python packages. To install a package using pip, you can use the command pip install package_name in your terminal. pip will download and install the package and any dependencies it may have.
    • How can you read data from and write data to files in Python, including working with spreadsheet files using external libraries like openpyxl?
    • You can read data from files in Python using the open() function to open the file and then using methods like read(), readline(), or readlines() to read the file contents. You can write data to files using the open() function with the ‘w’ or ‘a’ mode and then using the write() method to write data to the file. For working with spreadsheet files, you can use external libraries like openpyxl, which provide functions for reading data from and writing data to Excel files. openpyxl allows you to load workbooks, access worksheets, read cell values, and write new data to cells.

    Comprehensive Introduction to Python Programming

    This Python course covers everything needed for a beginner to get started with Python.

    Here’s a summary of the course content:

    • Introduction to Python: Includes Python’s advantages, flexibility, and multi-purpose nature.
    • Basic building blocks: Covers important data types (strings, numbers, lists, sets, dictionaries, booleans), variables, and functions.
    • User input and validation: Writing programs that accept user input and validating it using conditionals.
    • Error handling: Using “try…except” blocks.
    • Loops: Utilizing “while” and “for” loops.
    • Modularizing programs: Writing modules and using built-in Python modules.
    • Demo project: Writing a program that accepts a goal and a deadline as user input and outputs the number of days remaining until the deadline, using the “datetime” module.
    • Packages: Explanation of packages versus modules and usage of external Python packages.
    • Demo project: Automating tasks for working with spreadsheet files.
    • Object-oriented programming: Learning about classes and objects.
    • Final demo project: Communicating with other applications over the internet by making a request to fetch data from Gitlab API.

    The course also includes information on:

    • Setting up a local Python development environment: Installing Python and a code editor (PyCharm).
    • Integrated Development Environments (IDEs): Using IDEs like PyCharm for syntax highlighting, error highlighting, and code suggestions.
    • String concatenation: Combining text and numbers.
    • Variables: Defining and using variables, naming conventions, and reserved words.
    • Functions: Defining and calling functions, input parameters, and global vs. local variables.
    • User input: Accepting user input with the input function.
    • Data type conversion: Changing a value from one data type to another (casting).
    • Conditionals: Using “if,” “elif,” and “else” statements.
    • Error handling: Using “try” and “except” blocks.
    • Loops: Using “while” and “for” loops for repetitive tasks.
    • Lists: Creating, accessing, and modifying lists.
    • Comments: Writing comments for code documentation.
    • Sets: Creating and manipulating sets.
    • Built-in functions: Overview of useful built-in functions.
    • String functions: Using built-in string functions.
    • Dictionaries: Creating and using dictionaries.
    • Modules: Structuring code using modules.
    • Built-in modules: Using built-in modules like “os,” “logging,” and “datetime”.
    • External packages: Installing and using external packages.
    • Spreadsheet automation: Reading, writing, and manipulating spreadsheet files using “openpyxl”.
    • Object-oriented programming: Defining classes, creating objects, and using methods.
    • API requests: Interacting with external applications using API requests.

    Python Data Types: A Concise Overview

    The Python course introduces several key data types. Data types are a fundamental concept in programming because the data type influences what can be done with the data. Here’s a discussion of data types covered in the course:

    • Strings: Used for text. Strings are usually represented within double quotes, but single quotes work as well. String concatenation, using the plus sign (+), combines multiple strings.
    • Integers: Used for whole numbers, including zero and negative numbers.
    • Floats: Used for numbers with precision, such as currency or weight.
    • Booleans: Represent True or False values, often resulting from a conditional check.
    • Lists: Used to store an ordered collection of items, which can be of any data type. Lists are defined using square brackets []. Lists allow duplicate values. Individual elements of a list can be accessed using their index, starting from zero. You can add elements to a list using the append function.
    • Sets: Similar to lists, but sets only store unique values. Sets are defined using curly braces {}.
    • Dictionaries: Store data in key-value pairs. Dictionaries are also defined using curly braces {}. Values in a dictionary are accessed using their corresponding key.

    The course notes that knowing how to check the type of value can be useful, and this can be done using the type function.

    Also discussed is that each data type has its own built-in functions. For example, string values can use functions like split and isdigit. Similarly, lists have functions like append and remove.

    Python String Concatenation Techniques

    The Python course covers string concatenation, which is the process of combining multiple strings.

    Key points include:

    • Using the plus sign (+): In Python, the + operator is used to combine strings.
    • Explicit string conversion: When combining strings with numbers or other non-string data types, it’s necessary to explicitly convert the number into a string using a function that looks like this: str(number). Python does not automatically convert numbers to strings in concatenation.
    • Elegant Syntax with f-strings: Python offers a more readable and cleaner way to concatenate strings using f-strings. By prefixing a string with f and using curly braces {} to enclose variables or expressions, you can directly embed their values into the string. For example: f”20 days are {20 * 24 * 60} minutes”. This syntax requires Python 3.6 or later.
    • String literals: Any character within single or double quotes is interpreted as a string, including space characters.

    The course notes that f-strings are a newer and more elegant way to handle string formatting in Python.

    Python User Input: Capturing and Validation

    The Python course includes detailed instruction on how to handle user input.

    Key concepts:

    • input() function: The input() function is used to accept input from a user. It takes a string as a parameter, which is displayed as a prompt to the user. The program waits for the user to enter a value and press Enter.
    • Input as a string: The value entered by the user is always treated as a string, even if the user enters a number.
    • Prompts: It is good practice to provide a clear prompt to the user, so they know what type of input is expected. Newline characters (\n) can be added to the prompt string to ensure the user input begins on a new line.

    input function example:

    input(“Enter a number of days:\n”)

    User Input Validation

    Since the input() function returns a string, it’s important to validate the user’s input.

    Here are the key points regarding validation:

    • Data type conversion (casting): If the program requires a number, the input string must be converted to an integer or a float using int() or float(), respectively. This conversion is also called “casting”.
    • Error handling with try and except: To prevent the program from crashing if the user enters an invalid input (e.g., text when a number is expected), use a try…except block. The try block contains the code that might raise an error, and the except block contains the code that will be executed if an error occurs.
    • Validating input type with isdigit(): Before attempting to convert the input to an integer, the isdigit() method can be used to check if the string contains only digits. However, isdigit() returns False for float numbers and negative numbers.
    • Conditional checks: Use if, elif, and else statements to check if the input meets certain criteria (e.g., positive number, within a specific range).

    Validation examples

    • Checking for digits:

    if user_input.isdigit():

    # Code to execute if the input is a digit

    else:

    # Code to execute if the input is not a digit

    • Using try and except to handle potential ValueError:

    try:

    user_input_number = int(user_input)

    # Code to execute if the conversion is successful

    except ValueError:

    # Code to execute if the conversion fails

    Continuous Input

    • while loops: To continuously prompt the user for input until a specific condition is met, a while loop can be used. For example, the program can continue to ask for input until the user enters “exit”.
    • Breaking loops: The break statement can be used to exit a loop prematurely if a certain condition is met.

    while loop example:

    user_input = “”

    while user_input != “exit”:

    user_input = input(“Enter a value (or ‘exit’ to quit):\n”)

    # Process the user input

    Python Tutorial for Beginners – Learn Python in 5 Hours [FULL COURSE]

    The Original Text

    hello and welcome to this python course in this full course you’ll learn everything you need to get started with python python is the most popular programming language out there and is used for so many different industries like web development data science machine learning or generally for writing automation programs to automate repetitive tasks so learning python is definitely a good idea let me give you a short overview of all the topics i’ll cover in this course after giving a short introduction to python we will start with the basic building blocks of programming the most important data types like strings numbers lists sets dictionaries boolean data types etc and how to work with them learn about variables and functions and why we need them write a program that accepts user input and learn how to validate the user input using conditionals error handling with try accept and also learn loops with while and for loops and again why we actually need them you will learn all these concepts with hands-on examples as a next step you will learn how to modularize your program by writing your own modules and then see how to use some built-in python modules with all this knowledge we can then build our next demo project to write a small program that accepts a goal and a deadline as user input and then outputs the number of days remaining till the goal deadline within this exercise you will learn how to use the date time module to work with dates after that you will learn about packages and comparison of package versus module and we will use an external python package in our next demo project in which we will automate some tasks for working with a spreadsheet file finally we dive into object-oriented programming you will learn what classes and objects are in programming and python specifically and why this concept is so useful in the final demo project you will learn another common use case with python which is communicating with other applications over the internet by making a request to fetch some data from gitlab api in this specific case we will list the gitlab projects of a specific user so that’s what we’re gonna learn if you like this course don’t forget to give this video a thumbs up i’m really excited to teach you all of these so let’s get started first of all python is a programming language just like java or javascript python compared to other languages has two very big advantages first of all it’s easy to learn it has a simple syntax and it’s very easy to set up and get started with for example compared to java where you need some initial configuration before you can even start your application but it’s equally or even more powerful than java now what makes a language powerful or how can i say that python is more powerful well that comes from the ecosystem which means libraries and modules that python developers themselves develop but also external developers create and maintain so the more people adopt the language the more powerful it gets because new libraries and so new functionalities get added to it and the second advantage is that it’s flexible now what does a flexible mean in this case what makes a language flexible it is easy to mold to your wishes so you are not limited or restricted by the language specifics like syntax or data types or some other constraints or even library functionalities you can extend python widely and as one of the results of this flexibility python also became a multi-purpose language meaning it is used for many different categories so let’s see what these categories are first you can use it to write web applications the popular libraries for that are django or more lightweight flask python became extremely popular because of the rise of data science machine learning and artificial intelligence industries and more and more libraries were created and are still being added for python for all these categories they are very popular and highly used libraries for data analysis and data visualization libraries for artificial intelligence projects for things like face recognition voice recognition and a bunch of very powerful and widely used machine learning libraries python is also often used for data collection like scraping the web creating web crawlers that are basically programs that collect data from internet which you can save and then process later again many different powerful libraries to do all of that and finally automation with python python has many great libraries to automate devops tasks for example starting from ci cd pipelines to cloud platforms and monitoring your infrastructure etc you can also write python scripts to do automated backups cleanups on the servers etc in addition to devops tasks you can also automate just general tasks with python like when working with excel sheets which is a common use case in many big companies or automating some tasks on your own laptop and there are also libraries for mobile development gaming desktop applications but these are less likely use cases for python because there are better alternatives for that so you see that the use cases for python are pretty vast and it actually spans several industries and it’s mostly concentrated around data analytics machine learning and automation areas and note that this isn’t the case for many other programming languages usually one programming language is good for just few things and you should use something else for other use cases so now you see how useful python knowledge could be and how it can help you in your job but also make you more valuable at your work and for your entire team i hope you are already excited to learn python so let’s get started as a first step we’re going to configure our local python development environment so the first thing we need is install python locally on our laptop so first we install or download python package for your specific operating system and then basically just click through the installer wizard to install python locally on your laptop and note that if you’re doing this on windows very important step in the installation process would be to check the ed python to path option basically that you see here because by default it is unchecked and you have to check mark it so that after the installation you’ll be able to execute python commands in your terminal now an interesting note here if you’re using mac os like i do is that by default on mac os there is python already installed so if i do python version and execute i see that python version 2.7 10 is installed and that is actually python that mac os the operating system itself is using however for our tutorial and generally when working with python we want to be using the newest version which is python 3. so we’re going to leave that default python installation alone we’re not going to use that or touched it and instead we’re going to be using the python version 3 that we just installed locally so now if i clean this up and we want to execute python version 3 commands we’re going to do python 3 instead and version and that will give us the version so that’s how we can differentiate between the already installed python and the newest version that we just installed so just be aware of that difference now that we have python available locally it’s time to download a code editor for python because we’re going to be writing files with python code so we need a proper editor for writing python code and actually the best python code editor available out there currently is pycharm which is from jetbrains so that’s what we’re going to be using throughout our tutorial so let’s go to pycharm it is an intelligent code editor which makes it much easier to write code so it makes you actually very productive when writing code and we will see why throughout the course as you can see there are two versions we have the community version and professional one community version is free and already has a lot of powerful features but the professional edition gives you additional very useful features especially if you’re creating web applications or scientific projects in python so with professional version additionally you will get scientific tools that you can use in scientific projects with python but also you get support for python web frameworks and database integration which can be of course very helpful if you’re developing web applications if you want to get the professional edition jetbrains actually provided me with a code for my channel to try it out for three months for free just use my code when you install it but for this demo community version is absolutely fine so i will go with this one and install it and just click download and once the pycharm installer is fully downloaded we can just click on it move it to the application and now i can actually use it locally so i’m just gonna open the application and we’re gonna take a quick tour around pychar it’s actually pretty simple to set it up and there you go we have our pycharm and we can now create a new project and let’s call it my python project and that’s it basically we don’t need to change anything else and here you see the location basically of where this application folder will be created you see pycharm projects folder got created in my users directory so this is basically very convenient because all my pycharm projects or my python projects that i create using pycharm will be created in one location and here you also see that python version 3 that we installed is automatically being used for this project which is exactly what we want and you see it says base interpreter and python interpreter is basically a program that knows how to execute python code it will know how to interpret or translate our python code into instructions that computer can understand so with this configuration we don’t have to change anything we’re gonna create our project so first of all i’m going to make all this a little bit bigger so that you can see the menu here on the side and the code a little bit better so in preferences editor font we’re going to set the size to 20. if i apply this right here you see that this code editor font basically got bigger and i also want to increase the size of this menu font here so in appearance i’m going to set it to maybe 18 and there you go so basically everything is bigger now so you can follow along and see exactly what i’m typing and also another note here if you want to configure your theme basically so if you don’t want it to be dark or maybe you want some other color scheme then you can select it here in appearance you have four themes available let’s actually try this one out and apply and there you go you have a different theme i actually prefer this one so let’s leave it at that so as you see we have a very simple project with one main main.pi file the extension is for python files which basically contains very simple code and we’re gonna basically just remove all of these and start from a clean python file state and in the next section we’re gonna dive right in and write our first simple python application we’re gonna start with the simplest example in python to basically learn python syntax and get started as simply as possible so first of all we’re gonna write a very simple application that just prints some output and in python when we want to print basically display results of what we wrote we use this syntax where we say print and here we can pass in basically whatever we want to display and now if i want to see whether this super simple application works i can run it or execute it with this triangle here and i have the output so the basically the output is displayed or printed right here and i see the output is 1. i can display some other values like 200 and run it and there you go let’s say we want to display some text basically whatever some sentence and again triangle and we have that output here right so again very simple example of writing python code that basically displays some information when we execute it one thing that i want to note here is you see that we write some code basically in this window right here so in our main.pi file and when we run it or execute it our code we see some display in this window so you may be wondering what is this window and why do we see some output right here the answer to that is that whenever you’re working with tools like pycharm which basically have all the functionality that you need to write your code and then execute your code you basically have everything in one place so whatever we write we can execute or run right away now without such tool how would we write code and how would we execute that code and this will help you understand what’s going on here and to show that i’m going to go back to my terminal and i’m going to create a new file and i’m going to call it test dot py we’re going to write the same code basically in this file you can do it in a file editor i’m just doing it directly in the command line and save it so now we have the same identical file as here but not inside our code editor right not inside this pycharm tool and we have python 3 available locally so now how do i actually execute a python file outside this pie chart i can do that using python 3 test dot p y and if i do that i get the same output in the command line so basically what you see right here this whole thing is integrated so basically all in one place where you can write your code the editor right here where you can navigate your files in your project so basically this is just a folder on your laptop and you can navigate the files here and you have the execution environment at the same time so you have to go to terminal and execute python 3 whatever you have everything in one place and tools that provide you with this type of environment for different programming languages for python it happens to be pycharm these are called ides which stand for integrated development environment integrated because you have everything in one place so you don’t need to use terminal but in addition to this integration you get more cool features which helps you in writing python code for example syntax highlighting highlighting errors or code suggestions autocomplete suggestions and we will see those cool features actually also throughout this course so basically just makes your life as a developer easier however it’s good to understand that connection between executing your files on the terminal when you don’t have such a tool versus executing and working on your application inside that tool awesome so let’s get back to our code editor a file where we write our code and till now we have done something really simple like print a text basically and print a number right and this leads to the first concept in programming languages which are data types so in python just like in any other programming language you have data types for text and numbers the text data types are called strings so everything within the double quotes is basically a string but note that in python you can also use single quotes for strings so double quotes or single quotes they both work the same and there’s actually no difference between them and for numbers we actually have different data types so for whole numbers like 2 20 but also 0 and negative numbers as well we have a data type called integer and that’s also how it’s called in most programming languages however you also have numbers for currency for example how much a product costs right so if you have an online shop you would have prices like this for example so these are basically numbers with precision this could also be for example when you’re shipping something you could have a weight of a package that is also not a whole number but has a precision so this type of numbers in python and many other programming languages are represented as float data type so again you have integers and float data types and if we execute that you basically see all of that printed as we wrote them now obviously printing values like numbers and text like this doesn’t make much sense unless we’re getting some useful information from our simple program right here right so let’s do something more useful with python now let’s clean all this up and let’s say we want to do some calculations very simple logic that basically calculates how many minutes there are in 20 days so we have 20 days which have 24 hours per day which have 60 minutes per hour so this line will give us basically calculation of minutes for 20 days and there you go that’s our number now this makes a little bit more sense because now we have a program that actually does something for us so basically as you see you can do any math operations on numbers in python and again in many other programming languages you can do plus minus division whatever just like you know it from basic math however i want to note right here something that many people think about programming and maybe are misinformed about which is if you’re doing web development or maybe devops automation with python and not something like data science or data analytics this is probably an example of the highest math knowledge that you need for programming in python because even though we’re going to use some calculation examples because they’re just good as examples to show you the basic concepts of python you do not really need any advanced or even intermediate knowledge of mathematics when programming because it’s really not about meth however what you need is logical thinking and we’re going to be doing some of that and see that as examples so just bear that in mind in case you are misinformed about that so back to our example we have this number that is displayed here as a result however maybe if we use this program we don’t remember or we don’t know what this number stands for if somebody else is using so we want to add some descriptive information about this number that says this is how many minutes there are in 20 days so basically we need a line that says 20 days are this many minutes and this should basically be exactly this calculation right here so how do we put this calculation basically right here in the middle so that we end up with this whole phrase displayed right here so how do we combine text and numbers basically or calculation of numbers and in programming languages again this is not specific to python we would do that using something called string concatenation and string concatenation is basically a fancy word for gluing together or combining multiple strings now how does the syntax for that look like we combine the strings using plus sign so apart from adding numbers obviously using plus plus is also used in programming for combining multiple strings so in our example we have three string values and we want to put them all together in one string or one sentence we have the first string 20 days r and then we have the second string minutes and in the middle the third string which will be the value of the calculation however if we just put a number here python interpreter tells us it’s not a string it’s a number so we need to turn it into a string other programming languages do that automatically in python we need to do that explicitly so we need to tell python take this number but not as a number but as a string and we do that using a syntax that looks exactly like that so basically we have a non-string value but we’re telling python we want it as a string because it needs to be printed out as a text basically so if i execute this line let’s see what happened and there you go we have our output just like we wrote it here but you see that there are no spaces around so basically 50 is just really glued together without any space around and how do we put spaces around these 50 basically add a space here add a space here now why does that work because this whole thing for python is a string again because we are putting it within these quotes so basically any character that you see on your keyboard right now if you put it between those quotes is interpreted by python as a string including this space character right so if we execute it again we have spaces around 50 and our sentence our phrase looks fine and if you’re thinking right now this is actually kind of annoying because first of all it looks ugly and also there’s a high chance you’re gonna forget it that is absolutely right so in python again specifically there is a way to do it in a more elegant way using a different syntax and the more elegant syntax for that let’s actually close this is print and let’s write that again and instead of having these plus we have curly braces and we write our number inside or whatever non-textual value and at the beginning right here basically before we start writing a string which starts with quotes we just write the letter f and you see the syntax highlighting as well basically sees that this is not part of the text this is non-text value and if i execute it i should see the same output from the second line and this is really a way cooler way to write this instead of using plus but this is something very common and also something that you would encounter in most programming languages so just important to know that this is a syntax for string concatenation as well so we can basically just remove it and use this syntax for our examples and also note that this syntax is actually a new addition to python so it only works if you have a latest python version in our project if you remember we actually configured and chose version 3.9 and that’s why it works for us if you use python 2 for example python version 2 this syntax is not going to work for you we can actually demonstrate it so i’m going to copy that line and i’m going to change our test.pi and now if i execute it using my python 3 you see it works fine if i do it with python which is version two point something let’s see what happens there you go syntax error invalid syntax because python version 2.7.10 so older version basically doesn’t recognize this syntax so just be aware of that so this syntax actually only works for python versions starting from 3.6 so everything below that every python version basically will not recognize this syntax as we see right here so again back to our code and now we just have a number here but what we actually want is the calculation for getting the correct result right so we want again 20 days in hours and then in minutes and if i execute it you see that the calculation was done and here we have the full complete sentence with the result in it and if you’re curious this f actually stands for format so this is basically formatting our text or our string in a correct way awesome so we have this line of code here that basically calculates for us how many minutes there are in 20 days let’s say we want to do the same for 35 days right what we can do is basically copy that line and replace the values for 20 with 35 and if i execute it i get the same calculation but for 35 days and we can do that basically multiple times for different values so let’s say we want it for 50 days and we want the same calculation for i don’t know let’s say 110 days doesn’t really matter and we have obviously different number of minutes for each of these values and now let’s say we wrote this program it’s ready and we’re using it and at some point we decide you know what i want this program to actually calculate how many seconds there are for these provided days instead of minutes so what we would need to do in that case is basically change the calculation in all those four lines so instead of minutes it should actually calculate number of seconds in a day right so we have the hours minutes and seconds and we would have to change the text as well here and we would need to do that for each one of those lines right so we would have it here like this and again if we need to modify this for hours or milliseconds or whatever we basically have to do these changes multiple times right even though if you actually look at that this is the same exact calculation for each line that doesn’t change right if you want seconds then this is the calculation that you need to do so how can we actually avoid repeating the same calculation and the same text in our code and the answer to that is variables so in programming languages we have variables that basically hold values that will repeat throughout your code that you can set once and use it in multiple different places so instead of basically repeating this calculation four times we basically do this calculation once like this and we basically save this value in a variable so that we can use it whenever we need right and the way that variables are defined in python is variable name let’s call it two seconds equals and whatever that value is that repeats itself and that we want to save into a variable now i want to make two notes here regarding the variables in python first of all in python defining or creating a variable and giving it a value like this syntax for that is actually very simple compared to other languages because you just have the variable name and the value in many programming languages you actually have to define here some kind of data type for that variable for example if it’s a number like float or integer or string etc in python you don’t have to define that you just have name of the variable simple as that the second one is the naming convention or standard for the variables so we have two words for example if we name our variable calculation to seconds right we have actually three words here so variables that are descriptive so basically they tell you what this value actually is about so they have multiple words in them you can separate them using these underlines again in different languages the naming for variables can be different in python this is actually one of the standard ways of defining variable with underscores which i find pretty nice and easy to read so we’re gonna use this syntax basically throughout the course it will be totally and absolutely okay if we wrote it like this or if we used capital letters instead but again this is probably the most readable form and this is what we’re going to use now here note that we can decide whatever name we want to give our variable but in python there are some specific words that have special meaning to python these are called reserved words so you can’t use these words as variable names and we will use some of these reserved words throughout the course so you will see some examples great so we have our variable defined here and this is the value that this variable gives us so how do we replace now these repeating values with this variable so we’re going to delete that and again inside we’re simply going to copy the name of the variable so let’s execute and as you see we have our value printed just fine and we’re going to do the same for all those values and again execute everything works just like before now you may be thinking if we change this to minutes we would have to change the variable in all these places so that’s our case we can basically just rename our variable something more generic so let’s say calculation to units and this could be now any unit that we want second meaning it doesn’t matter and this is exactly the advantage of variable because you can name it whatever you want which basically just describes what this variable is about and now you won’t have to change that again and we can also replace this one here accordingly since it’s a text we can call it a name of unit we can also call it unit doesn’t really matter we’re the ones deciding what that variable name is and once we have that variable we can now replace it here how do we do this because this is actually part of a text a string the same way we did right here we’re gonna delete that and create an expression create a syntax that basically tells python hey this is not a string this is a non-string value and you already know this could be either number or variable itself and so we’re going to use the curly braces and the name of the variable and just like that we have substituted these values here and if i execute it works perfectly fine and we can do that in all four lines and our code is still working and this syntax right here with this format at the beginning basically prevents us or avoids basically saves us from having a bunch of plus signs here and then space characters etc this all looks way elegant now and now if at some point we actually decide you know what i want this program to calculate how many hours there are in the given days instead of seconds and we want to change the program to do that we could basically just change the calculation here and instead of seconds we have hours and if i execute there you go we see the changes right away so this is why when you’re programming doesn’t matter in which language including python using variables will be probably some of the most frequent thing that you do because you always have values that are repeating themselves and you want to write clean code so you create variables and one of the best practices when creating and using variables is as we’re using actually here is to name your variables so that you later and also other programmers who are working with you understand what this variable actually does or what type of value it actually has because if you just look at 24 you would probably not know what this 24 is about right but with variable you actually know that this actually represents a number that is used for calculating units right it could also be more descriptive like units for days but generally another advantage of variable is to basically describe that value as well that you’re using in your code now another thing you probably also noticed is that even though we’re using variables here so that we don’t have to change those values in four different places a lot of these four lines are actually pretty similar the only difference in those four lines are actually these numbers right here everything else is exactly the same so what if instead we wanted to make this code cleaner and basically avoid this type of duplication in our code right so for example if we did this for 10 different values we would have the same line this long line basically 10 times right so how do we avoid this type of duplication so right here we actually avoided duplication for specific values right piece of string here a whole calculation here but how do we actually avoid duplicating a whole line right the whole piece of code basically which has multiple different stuff in it not just a value and we do that using functions so functions are basically blocks of code like this right or basically logic in code that does something it’s not just simply a value but actually does something more complex that is again used in order to avoid repeating the same logic or most of the same logic in your code so how do we create functions just like we created variables here we create functions and the way we do that is using following syntax right here let’s create our first function we start with def so we define a function just like we define a variable but for function we need this keyword basically called def and now we can give our function a name just like we gave name to our variable we can give our function a name and here we can use the same standards like for variable we can name the function something descriptive something that actually says what this function does and let’s call our function days to units and then we have the brackets and a column so this line basically defines a function it tells python hey whatever comes after this is actually going to be a block of code that is going to be referred to or is going to be named these two units and how do you write a function i’m just going to copy this one actually here and let’s give us some space and again this is very specific to python we need to indent here with spaces and i’m going to paste in what i copied inside these two lines basically tell python this piece of code or this line of code because we just have one line here belongs to a function called these two units and again we just have one line but this could be function with hundreds of lines right so i can write whatever i want the next line all good and then i can do some calculations and i can basically write whatever logic i want here and all these will belong to this function so now this logic is inside a function that is called these two units and we can actually get rid of this and test our function and here if you noticed we have this yellow line under the function name that’s actually a warning for our code style it says we need two blank lines before so pycharm has a built-in official style guide for python that tells you how to style your code or how to write your code correctly now why is code style important well just like you write code you need to read code from other developers or your own code to understand what the code is actually doing so it’s important that code is easily readable and this is just another example of how an editor like pycharm helps you to write code so to fix the warning we’re just going to add a new blank line before the function definition so now what happens if i execute this block of code i have the variables defined here that i’m using in the function and then we have these two print statements so what happens if i execute now and as you see in the output here there is no output right nothing actually got printed so what actually happened because we have those two print statements that we defined in the function but we don’t see anything in the output and the way it works is whenever you create a function or define a function like this you actually have to use that function right again this is a similar concept to variables we have created variables here and we’re using that variable in our code the same way we create a function and we need to use that function how do we use a function or in programming languages it’s called calling a function or executing a function and we do that using the name of the function like this and as you see in the suggestion as well using brackets like this so this syntax here basically is what we call calling the function that we defined right here or using that function so now if we execute it there you go you see that those two lines got executed and we have the results here so we’re creating variables and we’re using that here we’re creating a function and we’re using that function here and note the difference between using a variable and using a function python knows this is a function because we are providing these brackets at the end right that tells us we’re making a function call basically but as you see now we have these 20 days so this only works for 20 days right what about other values that we had what about 35 days and 100 days we haven’t de-duplicated that right we have just one case here so how do we use functions so that everything else except for these two values right here actually stay the same and we do that in programming by giving our functions some kind of input value which are also called parameters so instead of having this 20 basically here hard coded as we said here and here we provide that value of 20 or 35 or whatever that value is basically whenever we use the function so we are telling python use these days to units function with a value of 20 or use that function with a value of 35 and way we define this input parameter in functions is very simply by defining this parameter between those brackets right so this is where the input we as programmers define the input parameters so right here how do we define that using our already familiar variables so basically right here i’m going to define a variable and i’m going to call it whatever i want i’m going to call it days or number of days but i’m not assigning a value to that variable right like i did here because i want it to be assigned whenever i use the function so this basically tells python that a function these two units can be used using one input parameter which is called num of dates right number of days so now the last part which is remaining is replacing these values using this variable right and just like we do it in these two places where we’re also using variables defined here exactly the same way we’re gonna remove this and define a block for non-textual value and we’re gonna put our variable num updates here and also here so you see now that our function actually doesn’t have any fixed numbers in it instead we’re using variables we’re using two variables that are defined outside that function and we’re using one variable that is defined within that function right this variable actually belongs to that function and now as you see whenever we want to use that function we’re telling python hey call this function called days to units with a parameter an input basically of 35. so now if we execute it by the way we can also do it here you see 35 days are and the calculation was done here and hours and now if we go back to our previous example where we wanted to calculate these for four different values right for different number of days we can actually do the same so we had 20 then we had 50 and we had 110 right so this basically gives us exactly the same logic that we had previously but with different syntax right so you see the difference that instead of having this basically four times we have much cleaner syntax where we actually see what this logic is doing which is days to units and then we have the number of days that we pass or give our function as parameter and if i execute this you see that it was printed four times for all different values we can actually remove this line and now if we make some change in our function for example we change the name of this variable we want it to be hours instead of units we just do it once in one place and that’s basically it so whatever changes we make inside that function and that is actually the big advantage of using functions in code whatever change we make inside here it doesn’t affect how we use the function because for using the function we only need the name of that function and the input parameter now probably you’re wondering what happens if i do not give my function a value let’s delete those lines and let’s say we do not provide any value here and we try to execute or call our function without the parameter and let’s execute and you see that python interpreter is complaining because we have told python here is a function called these two units and whenever i want to use that or my colleague another programmer wants to use that function they have to provide an input value here right so now whenever python sees the usage of that function and there is no input parameter that we are giving that function it cannot execute that function right because basically this value is missing here right and that’s why we get an error which also says missing one required argument so as you see whenever we define a function with a parameter with input parameter we have to also provide that input parameter another thing that you may be also wondering is what if i want to provide multiple input parameters to functions how do i do that it’s actually very simple you can do that by simply defining here another input parameter separated by comma and let’s say we want to pass here something that we want to print out additionally like a custom message doesn’t really matter and the same way exactly the same way as the first one we can actually use it in here we can even create a new line and basically just print out that message right and note that if you are using a variable without stream so basically it’s just the variable itself we’re not using any text in that case you don’t need this format right so you can basically just print it out directly and now again we have told python i have this function and two input parameters are required so i also need to pass to input values whenever i use that function so now let me just pass in some custom message let’s say i’m happy about the calculation or i know i’m going to be happy so let’s say awesome and let’s do another calculation and this time i say looks good and if i execute it you see that i get awesome the first time and then for 35 i get looks good so you can basically define and provide as many input parameters as you want common practice and also what you will see in just normal code basically is just a handful of input parameters maybe one or two so it’s not actually overloaded with 10 parameters cool now that we know functions and variables why they’re used or why are they useful and how we use them there is one point that i want to mention which is variable scopes in functions what does it mean as i mentioned previously in this function we’re using multiple variables right we’re using two variables that are part of the input right that we provide when using a function and we’re using two variables that are defined outside the function right somewhere else in the code so variable scope basically means where is the variable that function uses defined and variable has a global scope for a function if it is defined outside the function like these two variables right here could be completely in a different file not even in the same file where the function is so these are global variables so all the functions that you have in your python code can use those global variables and then you have local variables local variables are variables that are created within that function right so these two variables are basically only available inside that function because it was created within that function so internal scope and global scope so that means that when we create another function let’s call it scope check because that’s what we’re going to do we want to test the scope in this function i can access the global variables like name of units but i cannot access the internal variables like number of days and let’s actually test that so i have num of units which is a global variable defined here outside the function and the second one i have a variable that is defined inside another function right so as i said internal and as you see right here we already get a red line underneath that says unresolved reference num of days so for this function basically that variable is not visible it’s not accessible it doesn’t exist basically at all and we can even test it out actually so again if we want to see the results we have to actually use that function like this run the function and if i execute it you see that we get an error that says name num of days is not defined right it doesn’t know that there is a function like that anywhere in code however it does recognize the global variable and that means that variables defined outside function itself global variables are accessible to all the functions and if you have variables defined inside the function then they’re only accessible for that specific function and not for other ones and that means actually that if num of days variable does not exist for scope check variable we can actually create a variable inside scope check with the same name and we would have basically no problem at all so this is not going to be a duplicate because this function doesn’t know about this variable the number of days here and scope check doesn’t know anything about variable num of days right here and if we want to use that function now we have to put provide the value let’s do 20 and if i execute there you go you have name of units and the 20 that we provided so global variable local variable defined here another interesting thing is that as i said inside the function body so to say so this is basically whatever is part of the function right in this indentation is called function body so we can create whatever logic we want inside that function body so whatever i can do in python generally i can do inside the function body so one of those things is actually creating variables right just like we created variables here we can create variables here like this let’s call it myvariable and variable inside function and we can print that out as well so now we have three types of variables that we are using in this function we have a global variable we have internal variable that is passed in as a parameter and we have internal variable again that is basically defined so the variable isn’t provided when we use the function but it’s basically just defined inside the variable and again if i execute this see hours num updates and variable inside function text printed out like this and obviously this is just for demonstration but we’re going to see more realistic examples of that in our projects so i’m going to clean this up and we can move on to the next concept so now let’s go back to the example where we calculate number of hours and we do that for four different values now if you want this application to be really useful for us or somebody else it doesn’t help that we have to fixate here just four different values right the application should be able to take any value that we basically fit it right so we should be able to provide any number of days and the program should calculate the number of hours in those days so what we need here is user input so when we give this application program to somebody else or use it ourselves it should allow some user input so how do we write a program that asks for and accepts a user input and then does something some kind of calculation some kind of other logic based on that user input accepting a user input from a python application is actually pretty easy let’s get rid of all of these lines first and we can do that by writing input and this will basically give a user a prompt to enter some input value now you probably already see from the syntax that this looks very much like using our days to units function right in this case with the parameter so input is actually a function that python provides us with so we didn’t have to write this input function right we wrote the days to units function but input function is available in python so that we can use it whenever we want and this parenthesis here tells python we want to call an input function and we’re calling it or using a function without a parameter so now we know that we can write functions ourselves for logic that we need but python has tons of functions that python developers already wrote and is part of python and we can use it in our code so that not everybody has to write their own input function logic and the code or the functions that python provides are again part of this python that we use in a project and obviously if you’re using the latest version of python you will get the latest code and latest functions that python basically provides so back to our function execution and let’s see what happens when we execute this program i’m going to run it and in the outputs you actually do not see anything other than my cursor is blinking here so it’s actually waiting for user input so i can actually type in something here so i can do 20 and enter and process finished with exit code so i was able to input something doesn’t really matter it could also be a string actually doesn’t really matter and program basically finishes so that’s the simplest usage of input however as you noticed here running this program and basically having this blank output here is a little bit confusing so if another user is using our program they will probably be wondering what’s happening here so what we can do is in input function we can provide a parameter that actually tells a user something right like enter a value for number of days or something similar so that it’s not just a blank prompt right so we can do that by passing in a parameter a string which is going to be our message so we can do a user enter a number of days and i will convert it to hours and here you see right now that the program wasn’t finished because we didn’t enter anything so this program finished line wasn’t output yet and that means the program is still running it is still waiting for our input and in pycharm in this ide if you want to terminate the program manually yourself you can click this stop button and as you see process finished so now we can run the program again and as you see here we already have a message that we’re displaying to the user so that they can enter the hours right and here we can provide our input 30 and there you go however this doesn’t look nice here we actually want the user to get a prompt on the next line how do we do that as part of a string we can actually add a new line or newline character basically and that in programming is actually represented by backslash n and you see a special highlighting for that one now let’s execute and you see that my cursor is on the next line now and again let’s provide a value enter and program ended so we have now a more user-friendly way of asking program user for their input instead of just showing an empty prompt and we’re getting user input now we’re not doing anything with that user input right that input basically just finishes the program and that’s it we’re not doing any calculation for that input so how do we use the value that user enters here when input function gets executed we do that and this is a very important concept by assigning whatever result this function usage gives us which is in this case user input assigning that result to a variable so right now it’s basically executed and it’s just wasted right it just disappears so instead we want to save that value that entered input value in a variable so that we can access it later and we do that by let’s call it user input variable equals so just like we created variables here with variable name and a value right or even an expression right if we did a calculation here that will be basically a whole expression whole calculation the same way we can use values that function execution gives us to assign it to a variable so now what i’m going to do is i’m just going to print the user input so that we can see what value that user input variable has so let’s execute again it asks for our input let’s put 20 and print user input gives us 20. so user input variable value basically becomes whatever we provide as an input now that’s a new concept and it could be a little bit confusing so let’s see another example with our own function what would happen if we assigned value of this to a variable we get a warning as you see here in the editor which is one of the great things about ides that it basically gives you warnings when something is not correct and the warning says function doesn’t return anything so basically if we want to have some value as a result of function execution we have to return some value in the function and how we do that instead of printing the value right away we can actually return that value using return keyword again you see special highlighting here just like here because return is a special word that python understands that you want to basically give back a value this value right here as a result of using the function right so you could have some logic here doing the calculation whatever and then as the last line you can return that calculated value and now the warning is gone because we’re actually returning something from the function and when we return value from a function again we can assign it to a variable so that we can use that value whatever function returned by referencing the variable and one of the usages will be basically just to print it just like we did before like this let’s delete it temporarily and test our program and there you go you see that this function got executed with input 20 this text this display text basically was put together in the function and was returned or was given back as a result and we saved that this whole string basically this whole sentence in a variable called myvar and when we print that myvar we see that value printed out here and again if we enter some other value we would get different text and again that is actually a very important concept of giving back some results from a function execution and you saw in our examples that you can have a function that doesn’t return a value just print something on maybe does something else or function that returns some value you can have both types so back to our example of user input so now hopefully it makes sense that input function returns whatever value the user entered as a result and we can save it in a variable and then access it later again let’s get rid of this line and now let’s actually do the calculation on the user input number of days how do we calculate number of days very simple by calling our function that actually does that so we’re going to call our function to calculate the number of hours for an input and the parameter that we passed in is going to be whatever the user provided so instead of basically hard coding a value here ourselves we give it a value that user provided instead so the num of days will be the user input and now again because this function returns the whole string it doesn’t print it remember it just returns it so when i execute this and i provide in some value that’s to 200 you see that i don’t have any output here because we didn’t print anything we basically just returned the value here we didn’t do anything with it so the last piece missing here is to display the text the string that function returns so we save that return value first let’s do calculated value so we save this thing in calculated value variable and finally we can print it and now let’s execute it and let’s see what happens i’m going to type in 10 10 days and let’s see what we get now and you see we have this weird value here as a result of the calculation so what exactly happened so this part of calculation basically which represents this number didn’t do a proper calculation and the reason for that is because the input value that we get with inputs function is always treated as a string and not a number so basically at this place here number of days inputs 10 here is actually treated as a text and not a number and where this weird result comes from is basically number 10 printed out 24 times so instead of doing the actual calculation 10 times 24 10 is printed 24 times and that’s what happens when this is interpreted as a string so how do we make python see that number see that input value as a number as an integer and not a text or not as a string and it’s actually pretty easy to do on the next line the user inputs again we saw right here it is a string so we have to make it into a number and we’re going to do that using int and user input and that process of turning a value from one data type into another is called casting if you remember we already saw an example of it when we turned a number into a string in the string concatenation example again from the syntax you should already know that this is a function call so we’re calling a function called int again that python itself provides us with because we didn’t write that function and we’re passing in one parameter which is a string and we should get an integer from that string as a result and we can save that number into a variable and let’s call it user input number and now we have 10 as a number instead of as a string and instead of passing in that string user input we can now give our function number that it expects let’s save it and execute let’s put in 10 and there you go now the calculation is correct what i want to show you now is how this user input actually works without a code editor like pycharm so i’m gonna copy all this code and let’s go back to our terminal and in our test dot pi i’m going to paste in our code and save and let’s now actually see how the user input works when we execute it in a simple terminal window and as you see here we have the message first and the prompt is right here so we can enter a value let’s do 25 enter and we have a result 25 days are 600 hours great so our program is working it is converting the number of days to number of hours and accepts a user input now what happens if a user enters an invalid value here so for example instead of a positive value for number of days maybe they enter a negative value like -10 for example and obviously that input value doesn’t make any sense but we are still calculating and giving a value right and this is another important concept in programming generally that when we allow users to give our program some input value we also want to restrict them and basically validate that what they provided as input is a valid value for our program specifically one that it makes sense like in our case -10 program still does a calculation but it doesn’t really make sense and second it doesn’t crash our program right so now let’s see what happens if we enter some text here you see that the calculation didn’t happen because we basically crashed the program application using that invalid user input does make sense or an input that crashes our application because the calculation isn’t even possible and we want to avoid users basically either providing a nonsense value or a value that will crash our application so we need to validate user input and this is again important concept in program because whenever you allow user input you always have to validate it so in this part we’re going to learn concept called conditionals and we’re going to learn this concept with an example of validating a user input so where are we going to do the user input validation we can do it in our function right before we actually do the calculation we can first validate is it a positive number and not a negative one so user gives us their input we convert it to a number and then we pass that number to our function so negative 10 positive 10 that is a number basically will be passed on to our function and right here we can check whether this variable value here is a negative number or not how do we do that we do that using if else conditional statements so very simple and intuitive to understand we say if number of days is greater than 0 means it is a positive number then we want to do the calculation and return all of this but you see that we have a red line here so basically whenever we use if condition we have to have a proper indentation so all of this line basically goes indented for this line kind of the same way as we indented the whole function body inside the function whatever logic and whatever code is right here indented below the if condition will be executed if number of days is really greater than zero so let’s try that again i’m going to execute it let’s put a positive 10 you see 10 days are 240 hours got calculated now let’s put -10 as an input and you see none basically no output for us because this line didn’t actually get executed for -10 input value now what if we want to tell a user hey this was an invalid value and that’s why we didn’t do the calculation instead of just showing none we can do that by returning this feedback message or error message whenever this is not true so whenever number of days is not greater than zero we want to return something else right another message and we can do that using else and the same way as for if we have the indentation and whatever we write here will be executed if number of days is not greater than zero so here we are gonna return you entered a negative value so no conversion for you and here it’s time for another special term in programming that greater than sign is called a comparison operator and we have three of them we have greater than less than and equals and these are called comparison operators because they are used in an operation to compare two values and before in this course we learned arithmetic operations like plus minus divide multiply so again fancy words for simple concepts but these are the official terms for these so now if someone mentions them you will know what they’re talking about so now let’s execute the application and let’s provide -10 and you see that this line was printed as a feedback to the user so let’s go through the flow again user gives us their input in this case -10 we convert it to integer so now it’s -10 integer and we pass it on to our days to units function and these two units function basically has this if else statement that’s how it’s called in programming and our if else statement validates or checks whether this input is greater than zero if it is then the function will return this as a result so basically the calculation with a proper message else so basically if this is not the case then it will return basically just a feedback message for the user and note that else doesn’t have such a check here we don’t check num of days is less than zero and the reason for that is because it doesn’t check for less than zero because it basically just decides if this is not true else or in that case just do this so we don’t need additional check here now this segment right here where we’re doing the check is called a conditional so basically we’re providing our program a condition if this condition is correct then do something otherwise do something else and that conditional can be true or false if we enter 10 then this conditional will be true because it’s greater than 0 if we enter -10 then this conditional will be negative it’s not greater than 0 and those true and false values in programming actually are represented by its own data type which is called boolean and in order to show it to you that this conditional either gives true or false what i’m going to do is i’m going to print this conditional right before i do the check so for a positive number input this should print true and if it’s negative so it’s not greater than 0 this should print false so let’s test it out first i’m going to provide positive 10 and right here you see true because this condition is indeed true and note that this is not a string that’s why we don’t need the quotes here so we can basically just put in the whole expression in a print function and now let’s do the same with negative 10 and you see false and as i said true and false values belong to its own data type in programming which is called a boolean and again we can demonstrate that instead of printing it out we can save it into a variable let’s call it conditional check and in python there is a function called type which checks or prints out basically a type data type of a variable or a single value so if we pass it so this will give us data type of conditional check and obviously if you want to see that result we need to print it so print the whole thing so it doesn’t matter what we pass in this point and right here you see class boolean so this conditional check here which has a value of true or false is of type boolean now there are two things that i want to note here the first one is that you see that i am calling a function here which is type and then whatever that function type returns which is basically this output here we are printing it so we have two function calls that are basically nested and that is absolutely fine you can nest function calls another example of doing this nested function called would be for example right here instead of assigning these to a variable and then passing it here we can actually save us that step and in the days to units function call pass it as a value so this is a perfectly valid syntax and you can do that you can nest in the function calls and you would not need this additional step and you can do that as many times as you want it just looks cleaner when you have that syntax a little bit separated and not have two three four function calls nested so that’s one thing and another thing is we just saw a class boolean type here and let’s actually see the same output for string and number so just for the demonstration let’s actually see the type of string and integer let’s get rid of this for a second because we just want to test so we’re going to print the type of a string which says this should be a string type and execute and you see class string and now let’s provide an integer you see class int and let’s provide a float and there you go we have float so this is a very handy way of checking the type and we’re going to need that actually in a later example so back to our application and one note about booleans and conditionals is that you’re going to be using a lot of those in programming because they’re really the major or the core part of writing any kind of logic in programming so you’re going to need if else conditions and statements and booleans in your application so it is a very core concept and we’re going to be using a lot of them in our coming examples so let’s get rid of this code right here and one note before we move on here is that the negative numbers are not being calculated because of this condition now what about zero let’s actually try that out so i’m gonna enter zero which is actually also valued that doesn’t make sense because zero days input obviously will give zero of any units so enter and right here you see a feedback to user that says you entered a negative value so no conversion for you and the reason for that is because this condition here number of days checks greater than zero which means that negative numbers and zero will not match this condition so they will basically give you this feedback but our message says you entered a negative value right when we entered zero what if we wanted to have a specific message for a user if they enter zero and a specific one if they enter negative value right we want to differentiate between those two how can we do that in the if else statement in programming we can have multiple conditionals so basically we can have multiple ifs so how do we do that first we check number of days is greater than zero okay great now we want to check whether number of days is equal to zero and we can do that using another if here and in python the syntax for that is el if which basically is a combination of else and if so if this is not true then we want to check another condition number of days equals 0. now you know the equation sign generally is this one right here however when we’re checking whether something equals to something else in programming that equation check is represented with two equal signs and the reason is because one equal sign is already used to represent assigning a value to a variable so not to confuse those two actions in programming we have two equation signs when we want to check whether something equals a certain value and just like here we execute some logic whenever this condition is true so in our case we want to tell the user you entered a zero please enter a valid positive number so now again to go through this logic flow if the input value is a positive number then function will return the calculation and the message if it’s not a positive number then we will check additionally whether it’s zero if it’s not zero then this is a last condition basically then we know that it has to be a negative number right so let’s test this out let’s enter a positive number there you go let’s enter zero you entered zero please enter a valley positive number and let’s enter negative one and everything works perfectly note that you can have multiple alif’s between if and else statements and again note that el if has a condition just like if statement else does not have any condition so this is like the fallback so if everything previously stated all the previous conditions did not match so they were all false basically then this is the logic that will get executed in that case great so we have validated input value for users and we may feel pretty good about our program because it doesn’t calculate anything for values that don’t make any sense however we still have a problem what happens if a user enters a text instead of a number so basically anything that is not a number value doesn’t really matter basically some text if i enter you see that our program actually crashed and this is actually a user input that we want to protect our programs from because we don’t want to allow users to blow up our application right so let’s see what happened it actually says that we provided an invalid literal literal basically means the text itself or a number so basically a value that we entered for int function that’s the problem so this function call basically just blew up because in function expects a value which is a string representation of a number so basically ind expects something like this or something like this it doesn’t expect my text or some text so our application crashed on some text input now let’s see what happens if i provide a number but a float number instead of integer let’s enter 19.99 and enter and you see the same error this function basically returns an error because it cannot convert float into integer as well so we have a problem here that whenever user enters anything which is not an integer our program will blow up so how do we avoid that so basically before the int function gets executed with an invalid value we need to validate this whole thing and stop our program before that happens so we need the validation before int gets executed and we can do that right here right so before that line gets executed we’re gonna do a validation and one way we can do that is using our familiar if else statement so we can say if user input is digit so again from the syntax you know this is calling a function but note that instead of calling the function like this so basically just stand alone we have the syntax where we have the variable dot and then the function name so instead of passing this as a parameter right here in the function brackets we are passing it as a parameter again but using this syntax right so each digit function will execute for user input as a parameter and again in if we have conditions so this will be either true or false it’s a boolean and if user input is digit it’s a number basically so basically this will filter out input values that are text so basically they’re not numbers and if the input is digit then we want to execute this line and also the rest of our application like this and if it’s not true so if the user input is not a digit we don’t want to execute anything in our application we want to stop the execution and want to tell the user this was an invalid input value i’m not doing anything with my program so that it doesn’t crash so else if not digit we are telling the user your input is not a number don’t ruin my program so now let’s actually test it so i’m going to execute and write some text and there you go so user input is digit was evaluated to false so none of these got executed instead the else block was executed and it printed a message for our user so we basically avoided our application to crash with this check and if we try a proper number it works and if we enter 0 for example the application will get executed and we will get our message from here so our application is more or less protected and we’re not allowing for a invalid input number you say not a valid number now we know that in programming there are different types of numbers we have float numbers as well so let’s actually see what ease digit function really checks so let’s actually try to provide a float number instead of integer which is not a proper valid input for our program so i’m going to type in 19.99 and you see that each digit is false for a float number so we got the same your input is not a valid number output for float number as well which is perfect it’s exactly what we need and now let’s actually try to enter a negative number and let’s see if each digit function returns true or false i’m going to enter and you see that else block got executed because is digit was false for a negative number so basically this function filters out a lot of the bad input for us to protect our application from bad user input and that also means that we don’t need a check for negative values anymore and by the way in python you can actually have if statement without an else at the end this will work perfectly fine and this could be our application however note that in programming we don’t put this type of logic directly like this basically outside a function as a common and best practice we encapsulate most of the logic basically in functions so as a cleanup for our code we can take all this and put it into a function so right here i’m going to create a function and let’s call it validate and execute or something like this and all the logic that i copied will be just simply pasted in that function like this so now we have the logic nicely encapsulated in its own function but as you know when we create a function we have to call that function otherwise nothing happens so we’re gonna call it right here we don’t have parameters and we don’t have to provide a user input because user input is a global variable so our function has access to it let’s actually test it out and it works and let’s provide some bad input and it works too so that’s actually a proper way of writing code having every piece of logic in its own function with a proper description for the function now as a next step i want to show you also a concept or something that you will encounter very often in code which is nested if else statements and i’m going to show that example by cleaning up our program a little bit so as you see here we’re doing validation in two different places so we’re validating user input here but also inside these two units function itself so what we can do is we can put all the validation in one place in this validate and execute function and basically have all the validate logic in here and let the days to units function just do the calculation and not the validation and this way our functions and code will be a little bit cleaner and more logically built so after we validate that user input is digit we convert it into an integer so right here we have an integer value of the user input so we can actually check whether that integer value is greater than zero or equal to zero and we can do that right here without passing it on to the days to units function and just like this if conditional we’re gonna do user input number greater than zero if that’s the case we want the calculation to happen so both of these lines will get executed only if user input number is greater than zero and else in our case if it’s exactly zero we want to print a message to user you entered zero and remember we’ve got the negative numbers already covered using this condition here so that’s the one remaining i’m just going to copy that and paste it right here variable is called user input number so we’ll fix that and we’re going to print out that message so that means we don’t need any validation right here we can simply do the calculation so to go through this logical flow of if else or nested e-files statements we have the first if right here also note that indentations for these if else so basically they are on the same line here same position and the nested if else or in our case alif they’re also in the same position so again first that’s the big validation the first one is is the user input digit in the first place if not we basically shut down the program we print out a message to the user and that’s it if it is a digit then we need additional validation is that digit a positive number or is it a zero so we do that additional validation using a nested ifall statement and basically this line gets executed only if it is a valid number and if it’s a positive number and because of that we don’t need any additional validation once the these two units function gets cold and you probably already think and notice that nested if else statements are not the most beautiful thing in the world they are pretty ugly actually and especially we have multiple of them or multiple else ifs in between the function may actually end up looking pretty bad so it’s not recommended to have multiple levels of these nested if else statements in your code to basically just keep it clean but as i said you will encounter it a lot in programs in application code because sometimes you just have to write it like this thing i want to show you here is something called a try accept in python so right here as you see we’re validating user input right and then we’re executing this part of code only if that condition is true what if we had logic here where there were multiple places where something could go wrong let’s say a function execution could basically just blow up because of a wrong input or even as an example maybe this is digit doesn’t actually cover all the use cases so maybe there is a value that user can input that will still blow up our program so instead of checking each such possible scenario using if statements and then doing the actual calculation once all those things have been validated what we can do instead is basically tell python something like try executing this part of code here and if something goes wrong so if any line any function call or any logic execution fails we want to catch that error and we want to control what happens with that error ourselves programmatically and then catch logic will be accept and we’re going to specify what type of value we want to catch basically using this block and the name of that error type is actually what we saw in the output when we provided some text and a float which is value error so that’s the error that we want to catch basically so again we tell python you know what try to execute this block of code here and if one of those lines in that code results into a value error then instead of just crashing the program basically catch that error and print out a friendly message to a user so let’s actually try this out and note that try doesn’t have any validation like if statement so when i entered some text here int function will actually be called with some text and it will result in a value error and this block will then handle that error so i’m going to enter and and you see that your input is not a valid number message got printed and the same will work for a float number that also doesn’t convert to integer and for a proper integer value it will work fine and again difference between if else statement and using try except is that you can cover multiple such errors with this whole try except block right so you don’t have to do the validation specifically and that is especially useful for cases where you can’t really validate something using if condition right if there is a chance that you might miss something in that condition check so basically you just say you know what just try to execute with whatever value and if error happens then i still got it covered and an obvious difference between this if else is that here nothing actually crashes the program the program will still work is just a nonsense value with zero days right and as you see here we have specified an error type but with try except what can also do is you can basically say you know what i want to cover any type of air i don’t care if it’s value air or some other type of air let me handle any type of air in this case you can basically just leave it without a specific type you get a warning though that it’s too general however this would work and you will be covering all the air cases with it but we can go back to our value error and know that in many programming languages this is actually called a try catch so accept is actually pretty specific for python i personally think try catch makes more sense because you are catching any error that may happen right here and then basically handling it in the catch block so if you happen to hear or see try catch in other programming languages note that this is the same thing as try except in python one thing that we’re missing because we converted that if statement into try except is now we need to validate the negative numbers again because negative numbers will not cause an error in our application so they’re not covered by this except block here so let’s add back our previous else block and again if neither of these are true it means automatically would mean that it is a negative number so let’s print that message for a user enter negative number no conversion for you so now we got all the cases covered again so let’s try that out -10 and there you go now there is one minor problem with our application and that is we can only use it once so basically whenever we type in a value it either calculates it or gives us a message that we provided an invalid value then the program basically exits so if we want to do a calculation for another value then we have to restart the application provided value and then do the same so that’s not very convenient if we want to use that program to basically calculate a number of hours for many different values so basically we want to keep fitting it some different values for calculation because we don’t want to restart the application over and over again so how can we actually make the program continue after it’s calculated the first value so we want the program to basically just keep running and accepting our values so how do we do that and we can implement the logic using something called while loop concept of loops in programming is basically you do the same thing so the same logic gets executed multiple times in a loop and how many times that logic gets executed is basically defined in the condition of that loop and the condition could be it should run 10 times or condition could also be it should run until some specific event happens in the application and conditions you already know from if else statement conditions are basically logic that gives you either true or false so condition is checking some logic and then giving you a result which is either true or false so now the question is how many times do we want this application to run in our case let’s say we want to run indefinitely right until we actually stop it from here until we kill the program so it means the condition for that should always be true and for our application we’re going to use a while loop which is one type of a loop and very simple syntax while and while just like if actually takes a condition this is going to be the condition for the loop so basically we want to tell the while loop how many times it should run the logic coming after it and again you know our familiar indentation these two lines should execute in a loop over and over again with some condition right here so how many times do we want the program to execute in our specific case well we want the program to run indefinitely until we actually stop it from here right from our editor so that means that condition of the loop that decides whether the next lines should get executed or not in our case should always be true because if it’s false then the loop will stop right no execution anymore so how can we make sure it’s always true we just write true right here and you remember i told you that true and false in programming languages have their own data types well they are also reserved words even though this is just text representation basically you see the highlighting here just like for these other words because python knows this is a boolean value of true and note that again specifically for python we actually write true with capital t unlike in other programming languages so this will basically be just a string so python doesn’t know what to do with it but it recognizes true width capital t so we’re telling our loop our while loop the condition is always true so basically run these two lines indefinitely because the condition will never change it’s always going to be true and the syntax is probably already familiar to you we have the keyword just like if or try we can actually compare the syntax to the if statement so we have the while keyword here then we have the condition so this is the same type of condition as this one right here it’s just that with us is basically fixed true value here it could be true or it could be false based on the condition and then we have the colon and then we have the indentation for the next lines so all of these belong to the while loop so that’s basically it we can now execute the application and see that our program runs indefinitely so this is the first one let’s say we enter 10 awesome we have a result and then we have again the next execution where it’s asking for our input again and we can do -10 now it’s telling us we provide a negative value but we can enter the value again let’s enter some invalid value that should be handled by this value error block execute it’s not a valid number and application basically continues so again as you see if you have an application that should continue running and basically get user input over and over again you don’t want that application to be crashed at some point by some bad input you want to catch and handle every type of input so that your application continues to run and if we want to stop it we can basically just shut it off here and process finished now we can do one optimization in our program and this would be to allow users themselves to stop the application using some specific input value so for example when they type in exit for example the application should stop only for that specific word so it shouldn’t run anymore so how can we do that so basically instead of having a condition that is always true we want a condition that says if the user did not input word exit then continue running the program if user entered exit then basically just stop it right so we need to change our condition right here so here we want user input is not exit right so user input is not exit now we didn’t learn how to check for not equals something right we have check for equality so we check whether input number equals zero or if it’s greater than or smaller than however we didn’t learn how to check for not equals not equals in programming and this is not specific for python is expressed like this so instead of two equation signs we have an exclamation mark and equals and if we want to compare it to a string obviously we type that string in our case it’s exit so basically this condition tells our while loop while user input is not exit continue running the program so while this is true basically just keep moving on but if user enters exit this will not be true anymore it will be false so loop will basically break and application will end now you see that we have a warning on this user input that we’re using here and if i hover over it you see a message that says name user input can be undefined so it’s not always undefined but it can be and here i want to mention again that pycharm because it’s an intelligent editor can give you actually this warning when otherwise in a simple or normal code editor you probably wouldn’t get such a warning so again it helps you in avoiding some of the mistakes that you might accidentally make when writing code so basically it detects the errors or possible errors for you and tells you to fix it so again this kind of intelligent warnings and error messages can be a lot of help when programming an application and now let’s fix that warning so what’s that all about the problem is on the very very first run of this while loop user input variable itself will not exist why because we’re creating that user input variable on this line first so our application will basically complain because when our while loop runs for the first time it will not be able to find user input variable let’s actually try that and as you see user input is not defined so we need to create that user input variable before the first execution of the loop so right here we’re going to create user input so we’re going to create this user input variable before the while loops first run and it doesn’t really matter what the value of that user input variable will be because what matters is the variable exists so the value is basically just empty and as long as it’s not exit the loop will start running and our application will get executed so again to go through the flow of this we’re creating a user input variable then we’re making sure it’s not exit if it’s not this line will get executed so we get the input from the user that’s going to be our first input and then we call validate and execute function that basically does all the checks and execution so that’s going to be the first run of that loop on the second run of the loop the condition will get re-evaluated so now the user input is what the user provided so again python will check is the user input exit no cool let’s execute the program again user will have to enter another value and then that value will get re-evaluated so note that after each time that this block of code has run and executed every single value that user will give as an input will be evaluated over and over again in that condition and while user input is something else then exit it will run the program if it is exit then the loop will break so let’s actually test that so this is our first message and our first input let’s do 10 it got calculated let’s do minus again calculate it and we can do that over and over and over again and now let’s actually enter exit and let’s see what happens and as you see a process finished with exit code so our application actually stopped because this condition was not true anymore it was false because we entered exit so that’s how we can allow users to finish the application and two takeaways here one is a conditional in a loop and the second one is a negative equals check for values great so now we have our application that basically allows inputs multiple times and can be terminated with exit input now what if i wanted to calculate number of hours for several days but i didn’t want to basically just pass it on one after another because that’s just too much effort for me so let’s say i wanted to give it 10 different values but i don’t want to type it in 10 times right i want that application to basically do the whole calculation for all those 10 values but i just want to enter that list once instead of entering each value separately so in this part we’re going to learn another data type in python called list so till now we have learned several data types like strings for example as well as integers and float numbers and boolean true or false and list is just another data type and the syntax for list is using square brackets and inside the square brackets we have a list of elements and those elements can again be either strings numbers or boolean values in our case we want to provide our application with a list of number of days right so we’re going to have a list of integers like this and you can have as many values inside the list as you want and these are going to be comma separated and the syntax will look like this but again as i said you can have a list of strings list of booleans etc so as i mentioned we want to let user basically provide inputs as a list instead of those individual values one at a time so i’m going to copy this let’s clean this up and let’s actually see what happens if i just input that list as a value right here and enter you see program doesn’t recognize that as a valid number obviously because we have the check and causes a value error that’s why we get your input is not a valid number don’t ruin my program message right here so we want to change that and make our program actually accept that as a valid input so how do we actually implement it and let’s go through this logic theoretically first before we start implementing it what we need here is that we want to read this list and we want to do validation and execution for each value one at a time so that means that validate and execute function needs to be called for each value in that list right so basically this function for all this logic needs to be executed for each element now how do we get the individual elements of the list so you remember the definition of a loop loop is basically executing same function with the same logic multiple times and the number of times basically depends on the condition right here we have a condition for while loop and the condition for executing the same logic for each of those elements is going to be the number of elements in that list right so we want to execute the logic as many times as we have elements in the list and for that we have another type of loop called for loop and basically we want to execute validate and execute function using a for loop the syntax for for loop is a little bit different first of all we have four keyword just like for while then we have the element is a variable so we can call that number of days so this variable basically represents each of those elements in the list and then we have in which is again a keyword of python so for in basically puts together the for loop logic in python so python knows what we are trying to execute and finally we need the list that we are executing this loop on and our list is our user input and that’s our for loop however again you remember the indentation the logic that for loop executes needs to be indented so it should belong to for loop so now we can read that for loop statement as follows for each element which we call we decide to call number of days in a list called user input we want to execute this logic exactly what i said before so for each element in this user input list we want to execute validate and execute function we don’t have a condition written here like we did in while loop or if statement so the condition is basically implicit right the condition says however many elements there are in this list that many times that function or that block of code here will get executed so if i provide five elements you will be executed five times if i provide 10 elements it will be executed 10 times and that’s exactly what we want however there are still a couple of things we need to do for this application to work properly first of all validate and execute function still uses user input right here so instead we want it to use the individual values of the user input because now it’s going to be a list and not a number so this element we can actually call it num of days element this value should be used here instead right so we’re going to use that element instead of the whole user input list and paste it here so that fixes the first problem and the second one is as you know user input is always a string so even if we provide a list of these it is still going to be considered as a string so we need something similar to this right here so the list of numbers that are provided as input needs to be converted in at least in python and we can actually do that in a convenient way using user input dot split and split is a function that will take user input as a parameter and will give us a list data type so split function basically will return a list of all those input values and again note the syntax of executing the split function we’re not just calling a split function like this with user input as parameter instead we are basically calling it on user input and i’m going to explain more about this type of functions in python later but for now let’s actually execute this application and see what happens so first of all how am i going to provide a list to this application so that userinput.split can actually convert it into a proper list in python and the way i should provide the values are list of values with spaces between them so basically like that so why spaces how come it’s not a comma or something else the reason is because split function by default splits that provided list on spaces and then creates a list value out of them so that’s the default behavior of split however we can override that behavior and we can decide you know what we want the input to be a list of numbers that are comma separated instead of space separated so what we can do is right here we can do split on a comma so that’s what our split function here will do and now if i re-execute it and i can do commas now 40 55. so that’s going to be user input and split with comma should convert it into a list value in python so let’s execute it and as you see it worked fine we have a calculation for each of those values now let’s actually play around with this and let’s say we provide a list with some values and somewhere in between we decide to add a text and then maybe a float so let’s see what happens now and you see that for those two valid numbers the calculation was done properly and for the other two basically the validation kicked in and it says that these are invalid numbers however again our application ran without any problems and we can even provide another input so now let’s actually do 20 maybe a boolean even and a negative number execute and you see that for 20 the number of hours got calculated true is obviously not a valid number and minus 100 is a negative number so everything works perfect validations in place and we can provide a list here now and as a final optimization we can actually change this message here that says hey user enter number of days as a comma separated list and i will convert it to hours so now we can provide either just one value and it works fine or we can provide multiple values as a list and again if we want to see how that list actually looks like and check the type that it has in python let’s actually print it so first i’m gonna print type of user input called split and then i’m just gonna print that list itself so let’s execute and let’s provide some values and here you see this is the class list so basically the data type list and that’s how our list looks like so we have these square brackets here and each element inside as a string because we have the quotes here and later our application then transforms it or tries to transform it into an integer and you also see there are some additional spaces here because that’s how we entered the values so basically the split splits the values on comma so this space also becomes part of that element so to fix that leading space in each value we can basically just add a space here so it will split on comma and space and let’s test it out and there you go we have our values without the space before them so you saw an example of when we actually need to use list data types in this example we wanted to allow users to basically just input multiple values at once as a list but obviously this is just one of the use cases for a list and one of the specific examples because throughout the application you can create lists and you can use the elements of that list in another function so you can use it for multiple use cases and just to show you some basic syntax of how to create lists within your code inside your application so how to initiate it and then how to use that list i will show you the examples here so basically to create a list in your code you would use that syntax that i showed you earlier with square brackets and inside that you would have list of elements and this could be strings so it could be for example names of month let’s say like this and then we would have to assign it to a variable right again just like we did for strings or integers or other data types so we can call it my list and this will give us a list with three string values inside and once you have created a list you can then use it to read the values from the list right so basically to get the individual values elements out of that list so for example if we wanted to print out the first element of my list then we would access that using my list and then following syntax with again square brackets and then index number of the element which is starting from zero so this is the first element with index zero this is the element with index one index two and so on right so it could be confusing because it starts with zero not with one but that’s how the specific element of a list can be accessed right so if i wanted the march value here the third element then i would just type in index two and this is a syntax of getting elements from a list if i just want specific values and not each element one by one as we had in this example right so one way to use a list is to basically loop through it and get one element at a time and that’s why we don’t need to use index here because it gives us elements one after another or maybe we don’t want all the elements or to do something for each element we just want specific values from the list for different use cases in this case we can access them individually like this and in addition to accessing the values from a list or basically reading the values from release we can also add values to a list and we can do that by typing my list and then on the my list we’re going to do dot and use the append function right so append will basically take the next element or another value basically and add it to the list of elements already in the list right so let’s say we want to add the next month and now if i print my list we should actually see this here with april as a fourth element right so let’s execute and there you go so first we have march here printed out which is the third element right index two and then we have my list append that adds fourth month name into the list so after append this is how my list will look like and now again we can access the specific element for example if we wanted to access the newly edit element on index three so that’s going to be the fourth element and there you go we have the new element printed out and also an interesting note is what happens if we use an index here which is too high so basically pointing an element that doesn’t exist right so instead of three let’s say we have four here so this will point to the fifth element and since we only have four elements let’s actually see what’s gonna happen so i’m gonna execute this and there you go you see an error index error that says a list index out of range so every time you access or you try to access an element at an index that doesn’t exist you will get this list index out of range error and this is actually something that may happen pretty often when working with lists if you’re accessing the values like this so this is how you work with lists how you create them and access values in them as well as add some values however note that most of the time if you are using lists you’re going to be using them in a for loop because most of the time you would want to do something specific for each element in the list so this basically should give you an idea of syntax of lists and how to use them generally and also how to use them in combination with for loops here i want to take a few seconds to thank jetbrains the creators of the awesome pycharm and intellij editors for sponsoring this complete course besides all the great existing products they have they recently introduced space which is an all-in-one team collaboration platform covering software development project and team management and the great thing about space is that every single tool you would need in a company to collaborate and work together in a team is in one space so you have tools for chats blogs planning and creating tasks meetings but also software development tools like version control ci cd package repositories and much more so all these in one platform and in terms of productivity the great thing is you get all the notifications in one place like code review updates newly created issues new blog posts etc you get all of these in chats where you can react directly in place or add them to your to-do list automatically so i think the main value of space isn’t that it has all these tools but rather the fact that it integrates them in such an intelligent way that it improves the team communication and productivity overall now let’s go back to coding now at this point here i want to mention a pretty minor and simple detail but something that is also very important and useful in programming and that is comments so how do we write comments in python and why do we need or in which cases are comments actually useful one usage of comments is basically to give yourself some notes on your own code so basically if your code gets a little bit complicated and it’s not really clear what the logic or the function body is doing it could be because of bad programming but also because the function logic is just a little too complicated so you want to add some textual notes to that code so that you understand what’s going on there even when you look at that code days or maybe weeks after you wrote it so for example right here we may want to add some notes about what this part here is doing and comments in python are written with this character so for example i want to add a note here we want to do conversion only for positive integers and that’s basically my note that summarizes all that logic right here and it is not only useful for myself in case i forget what this complex logic actually does but also for your team members so if you’re working in a team and your code gets really complex and it’s difficult to keep an overview of different functions and variables and what all these things do you can basically add these comments as notes to your team members so they can also understand what you thought or what kind of logic actually you were thinking about when writing this code so comments is a way of communicating your thoughts and your logic on your code so that’s one use case for using comments and the second use case if you have a piece of code that you do not want to delete because it has some logic or it has some example that you want to keep as a reference but you don’t want that code to be executed so basically you can comment out code so that it still stays there but doesn’t get executed and the way to do that is just basically having this character before the line and also note the color of the comment in the editor is gray so it’s immediately visible that these are the comments and now these two lines will not get executed by the program they will be ignored but they are for your own reference in case you want to keep it there for example this could happen if you are unsure about the change and you want to delete that whole code from your application because you might actually need that eventually so you’re not sure about it so temporary comment the code before you permanently delete that so these are some of the use cases of comments now if you have multiple lines of code that you want to comment out or maybe hold text that you wrote as a note so for example you want to comment out all these four lines here obviously you don’t want to do this in front of every line so for multi-line comments you can actually use the following syntax which is three quotes at the beginning and at the end and again you see the highlighting is different here which basically is highlighting of a string however it is ignored by the program and it will not be executed as a best practice you shouldn’t have too many comments in your code because it will just add additional clutter and your code will look basically unclean so you should use them only when needed in this part i’m going to show you another data type in python called set so what is a set let’s start our application again and let’s say i provide here input values as a list let’s say 20 40 and 20 again so basically i have duplicate values in my list and when i execute it i see that the program got executed for each element and i have duplicate results because i passed in the same value twice now again users they can input any value they want either intentionally or accidentally this could be bad values or things that don’t make any sense so let’s say we want our program to behave in a way that if user provides the same values twice or three times we only want to calculate the number of hours for that value just once so basically for this input we want just those two lines and basically ignore the execution again for the same value and you probably already guessed that’s where set data type will help us so set is basically a list of elements but with unique values inside so list data type allows duplicate values the same value multiple times set does not allow duplicate values so how do we use set instead of a list and it’s actually very easy to convert an existing list into a set and we can do that using a function called set and basically the parameter of our set function will be the list so if this list here contains any duplicated values that will be basically just filtered out when we convert it into a set so that’s how it works and again for demonstration let’s actually print out how set value looks like so i’m going to print the list first so that we can compare then we’re gonna print out the set and let’s also print out the types and i don’t want to repeat this expression over and over again so what we can do even though this is just for demonstration we can actually extract it into a variable let’s say list of days like this and we can use it everywhere we need and this is a little bit cleaner because we don’t have to repeat the same expression over and over again and again let’s print out the type of list of days and then print out the type of a set of lists of days and again you see that nested function calls three times and this should give us some interesting value that we can compare lists and sets and just a small note here that whenever we have this nested function calls think of the execution from inside out so the first function that will get executed in this chain is actually the set right so it starts from the last function in that chain so set function will get executed and convert that list into a set then type function will get executed on that resulting set value and then print will get executed and print basically the result of the type so the order goes from innermost function to the outer functions so let’s save it and execute and now i’m going to again provide a list let’s say 10 and then 45 and 30 and 10 again and enter and first of all we see that 10 only got executed once and not twice and we can also see the first one is basically value of a list and you see at least here the second one is a set and you already notice the difference that list basically uses square brackets and set is represented using curly braces right and again it has value of 10 just once and again we have the data type of a list and a set so just to demonstrate that they are actually own separate data types and like we saw previously with lists we can also create sets as well as add an excess values from it so let’s see an example here for example if you want to create a set the syntax for that will look like this as we already saw again set can have strings or numbers or booleans as its elements let’s use the same example we use with lists so i’m gonna just basically type in names of the month here so let’s say we have again january february march and we’re going to assign that again to a variable so this will give us a set that we can create ourselves not just from the user input and now we can access the values the individual elements from the set and we can also add elements to the set however we cannot access the individual elements of the set like we did on lists right you remember on lists we use the syntax with square brackets and the index of the element in set we cannot actually do that instead we can only access the elements of a set in a loop so for example in a for loop we would write element in my set and then we can basically print that element so let’s execute and right here you see all the elements printed out and again as i mentioned with lists also previously most of the time when you’re working with lists or sets you’re gonna want to look through the elements because you probably would want to do some operation on individual elements or some of the elements right instead of just grabbing individual one or two values from that now how do we add elements to a set let’s see it as well we can add elements to my set using my set so the set itself the variable name and then if you do dot you see a bunch of built-in functions again set has its own built-in functions which are completely different from what list has and it has a function called ed and here we can basically add a new element again let’s do april and now we can print my set and execute and there you go so we have here individual elements that are printed out and we have the new list after we edit april now one thing you probably already noticed when working with the set like printing its elements or adding a new element it doesn’t work in the same sequence as with a list right so for list we basically had this january february march in this exact order and when we edit a new element basically it got added at the end right as a fourth element in set it’s not ordered it’s basically in a random order right so if i execute this again rerun you see the order changed here and here as well right and if i do it again there you go so this order and this order basically changes right so as you see working with sets is actually pretty different from working with lists so this means that set not having or not allowing duplicate values is basically just one of the differences between sets and lists and of course you’re probably wondering i can add elements i can access elements what about removing elements right from lists or sets and you can do that actually the same way for both sets and lists so for example if we want to remove an element from a set we can execute a built-in function called remove and remove basically takes a parameter which is the value itself so let’s say if we want to remove january from here then we’re going to pass the value to remove function and now if i print my set again after the remove gets executed and let’s run it and here you see the last print basically doesn’t have january inside and as i said it works the same for lists so let me demonstrate this as well so on my list which has its own set of built-in functions one of them is remove which in this case is called the same for both set and list and this remove built-in function also accepts the value of the element you want to remove and let’s print it again my list and execute there you go this is a set with the syntax with curly braces and this is a list which now doesn’t have january inside because we removed it and as you know lists can have duplicate values so if we have january again here so two times and we do remove january it will actually remove the first occurrence of that value so if i execute this you see the first one got removed and the last one or the second january value is still there so that’s how you work with sets basically and also how to remove elements from sets and lists so at this point i want to take time and review the functions that we have used from python itself so the functions that we ourselves didn’t actually write and the functions that python basically makes available for us to use are called built-in functions so till now we have used function print which basically just takes some input this could be a string this could be a variable this could be a number doesn’t really matter and basically just prints it in the output console right in the terminal we also saw input function that basically takes user input again we can provide a parameter which will be a message or leave it empty we also in the last example so an example of set function which basically takes a list and converts it into a set and another example is int again takes a string as a parameter and converts it into integer and all of these are built-in functions because python provides them to us so that we can use it in our code and in python there are a lot of very useful built-in functions for different purposes and as i mentioned most of these functions basically accept a parameter and then do something with that parameter that input that we provide that function and give us an output again print basically provides something here and gives us the output in the output window here in input we can provide some message that will again print an input here and the rest of them are giving value inside the code without displaying anything so in set we can provide a list and the same way a parameter here which is logical because the purpose of a function usually is to take some input like this as a parameter do something with that input and give us an output from that parameter and we have created our own functions that also take some input and give back some output like this and in addition to built-in functions that are called like this and our own functions we have also used third type of functions which is called directly on a value right and this is an example of that so basically directly on a value this could be a variable but also the string representation of that itself so if i had a string like that so basically directly on that value call a function like this and these are also built-in functions because python makes them available to us other than the syntax there is one major difference between these type of functions that are called directly like that and the functions that are called on the value itself and the main difference is that each data type has its own set of functions that can be executed like this so again let’s take example of a string and if i do dot here you see the ide pycharm basically gives me a list of all the functions again built-in functions in python but functions that i can execute on a string value and again you see split is digit this is the one that we used in one of our previous examples that basically checks if that string is a representation of a digit or just a regular string and as you see lots of different functions so all of these are provided by python to do different stuff like turn the string literal to uppercase or replace a letter for example in that string and so on but the main point here is that those functions are only for string but as i said each data type has its own list of functions that can be called on that data type so for a demonstration let’s take a list and if i do dot here again you see a list of functions that i can execute specifically on list values and there are lots of things that you can do with lists like add elements to it remove elements from it sort the list copy and so on so that’s basically a major difference between these type of functions and functions that can be executed on specific data type values but the concept is the same here you also have a function that gets a parameter an input and gives you an output and the parameter for this type of functions is actually the value that we are calling that function on so this string here 2 3 is going to be parameter of the split and in addition to that we can also provide additional parameters for example for split you saw here that we were able to add a comma space to basically tell the split function on which character to split that text so that was function comparisons in a nutshell in this part we’re going to learn a new data type in python called a dictionary and we’re going to do that by modifying our application and modifying how users can actually input the values now our program currently takes the number of days and turns it into a number of hours what if we wanted to make our program a little bit more advanced a little fancier and basically allow users to also decide what units it should be converted to so user gives us the number of days and tells us whether to convert it into hours or minutes so instead of the whole list now we’re going to get just number of days and the conversion units and this change may be a little bit complex in terms of syntax so i will try to explain everything step by step so the first thing we need to do is adjust how we get input from the user so now we want the user to be able to give us the number of days and units in one input so first of all i’m going to adjust the text here enter a number of days and conversion unit now there are a lot of different ways we can allow a user to do that but what we want to do is something like this as an input so basically number of days colon and minutes or number of days and hours again this is our own decision we decide how the user input should look like but this should be a nice way of providing both of those values basically colon separated so instead of a list we’re going to have a single input with two values that are separated by a colon so on the next line i’m going to change this split here into a column and this will give us user input this whole value split into two values as a list this is going to be day and days and unit so least with these two values and let’s actually get rid of this for loop because we’re not iterating through a list of numbers anymore and to begin with let’s just print out the output or the result of days and unit variable so i’m gonna refresh and let’s do two hours and enter and this is what we get so basically splitting this string on column will give us a list with elements 20 and hours and note that 20 is still a string right because that’s how we get the input and now from those two values we’re going to create a value of a data type called dictionary so in python we have another data type called the dictionary which basically looks like this so you have curly braces just like we had for a set and inside we have key value pairs so we don’t have just single elements like this but rather we have key value pairs so key in our case is days and the value of that key in our case would be 20. and then comma separated another value would be unit and a string hours so basically this is the syntax of a dictionary and obviously the difference between a list and a dictionary is that we have descriptions for each of our values represented as key value pairs so we want to create this construct right here from those two values and since this is a data type we can create a value and assign it to a variable of that data type so let’s call it days and unit dictionary equals and obviously we don’t want those values to be hard coded here we want to get it from the list now how do we access an element of a list how do we grab the first value which is 20 out of that list and to do that there is a syntax to access the elements in the list the list name and then you have square brackets and index of the element which if you remember you already learned in the section of lists so again days of unit list is this one right here and with index 0 we are accessing the first element index 1 is the second element and so on and index is basically just location this is location 0 location 1 and so on so this will give us the first value and obviously the second value is going to be with the same syntax with index one and let’s actually print that one out as well so that we see the results restart the application let’s do 20 hours so again this is our list 20 hours as two separate values and this is a dictionary that we created using those two values so we have key value pairs basically and the same way for minutes we would end up with a dictionary that looks like this so now we have these two pieces of information in one variable and now we can give that variable to our function so that it does the validation first of all of the number and calculation based on the units so on the next line we’re going to call our validate and execute function and as you see we have this red line here because something is wrong first of all we don’t have this variable called num of days element anymore because we deleted the for loop instead we have days and unit dictionary and here we are validating the integer value of the input number and the same way we need to validate this input number here as well so now the question is how do we access a specific value in this case the value of days here in a dictionary because we have to validate this value as well because i might as well have entered text instead of this number so the way to access values inside a dictionary is again using the square brackets just like we did for list but instead of an index index 0 or index 1 we don’t need to use an index because we actually have a key so instead of index we’re going to use the key like days or unit and this will give us value of 40 which will then be converted into an integer and then validated right here so again i’m gonna copy this for comparison so to access an element of a list let’s say my list here and let’s do 20 30 doesn’t matter in order to access the elements of that list we can do that using an index so this will basically print number 30. again if we had other elements here we can do index 2 so that will print out 100 and let’s actually check that and remember to comment out a multi-line code we can use three quotes at the beginning and at the end let’s refresh and there you go 100 was printed let’s do the same with the dictionary so we have a dictionary days like this and to access an element inside that dictionary we use the square brackets and instead of the index like here on the list we use the key itself and again i’m going to print this and there you go you see value 20 and i can also access unit value and if i execute it i see hours and so on and i can add any number of key value pairs in my dictionary as i want so for example i can add a message here all good and i can access that message like this so this is how you create a dictionary and that’s how you access the values in a list or in a dictionary so let’s clean this up comment in our code again like this and get back to our code so basically again this is how we access the number of days in our dictionary and in our days to units function we need both of those values and we can pass in those values separately so we already have a user input number from the dictionary and the second value would be the unit from the dictionary however we have to add that second parameter to our function so let’s do that unit let’s call it conversion unit so now we are passing both of these values to our function so we have the user input number here which is already converted into an integer and the second one which is the conversion unit and now we can finish the logic in this function here right now we are using this hard-coded calculation to units which is 24 and number of units which is hard-coded hours so first of all i’m going to remove those two we don’t need them anymore because we get those values from the user and now we have to substitute those two so here we’re going to check if the conversion unit is hours equals hours then we’re going to return calculation with hours it’s going to be 24 and conversion unit here we can also hard code hours here because we know it’s hours else if so if the conversion unit is minutes then we can return calculation for minutes and a text like this and it could also be that the conversion unit that was provided is none of those or maybe some invalid text and in this case we’re gonna add final validation so if it’s neither hours nor minutes then we’re just gonna say you know what unsupported unit so basically we don’t do conversions other than those two so we just tell the user that’s an unsupported unit and now if we execute our program and enter value there you go we have our output and same way if we do 90 days to hours we have our calculation in hours so that’s how dictionaries work we can do one final thing here and as usual print out the type of our dictionary and there you go you see class of type dictionary here which is another data type and at this point we can actually summarize all the data types that we have learned so far so let’s give us some space here so first one was string so basically a message or some output like this that’s our string then we have integers example of that we saw already days then we have float numbers which for example can be used for price or weight of a product etc we also have learned boolean data types when we check some kind of condition whether if it’s true or not so for example is it a valid number or is the user input exit we also learned a data type of lists so for example usage list of days like this including duplicate values and list data type can be used for strings as well not only for numbers so for example we can have list of month like january doesn’t really matter we also learned a data type called set and set basically is very similar to list but it doesn’t allow duplicate values and its syntax is with curly braces so the same way we can have numbers or strings or booleans or any other data types inside a set and the last one that we learned was a dictionary and let’s take our own example day in unit and dictionary is basically a collection of key value pairs and the syntax is written like this so why do we need all these different data types well depending on the use case or what exactly you are trying to achieve in the program you’re gonna need a different data type to achieve exactly that so each data type has its own specific purpose and throughout these days to units calculator i try to demonstrate the purpose of each data type and when we need to use them so these are all the data types that we learned these are also most of the data types available in python and the main ones that you’re going to be working with so this should give you a good foundational knowledge about data types in python and also note that most of these data types you will also encounter in any other programming languages because as i said these are the core data types and most of the programming languages actually support these data types as well till now we have been writing all our code in one single file so basically we have a project with just one python file and we’re writing all the logic inside that file however you can imagine that if you’re writing a little bit more complex applications that have much more complex logic so they end up having lots of functions obviously you’re gonna end up with a python file that has hundreds of lines of code maybe thousands of lines of code and it’s not very practical to manage all this logic and all this code in just one file so instead you need to structure your code and divide your logic between multiple different python files and you do that with modules to give an example imagine a web application that has basically many features like facebook for example obviously you can put all the facebook logic in one single python file right you will have a structure of facebook project with subfolders in your project which all contain multiple python files so you would have maybe packages for each feature and each such feature has a lot of functionalities so they will be all grouped then again in multiple python files right so you would end up with a project with a hierarchy of folders and lots of lots of python files inside now the question is if i have multiple python files in my project how do i connect them together so for example if i have another file here and let’s call it helper dot py and if i have some logic here basically functions defined here how do i use them or how do i reference them in another file and the way it works in python is using the concept called modules so a module is basically a python file that contains functions or variables that you can use in another python file so basically any python file that you have in your project both of these in this case are modules and you can reference one module from another so basically the idea is that you can structure your application your program using modules so you can make your project modular so in this part we’re going to create our own module in helper file and we’re going to reference that in main dot python and let’s say in main.python i only want the code that basically starts the program right all the functions all the logic i kind of want it hidden away and grouped together in a separate file so what we’re going to do is copy this entire thing so both of these functions basically and paste it in here so now you already see a couple of red lines here because now the reference is obviously broken right so main.python obviously doesn’t know anything about validate and execute function right it says unresolved reference and the same way face to unit dictionary is unresolved for helper because it doesn’t know anything about main.python and the variables defined right here so the first thing we need to do is we need to tell main note python file where to find this validate and execute function right we have defined it in helper python so that’s what we need to define how we do that is using something called an import statement so we basically import this whole helper.pi module inside main.python and we do that very simply using import helper right helper is the name of the file and therefore name of the module and right now it’s grey because we’re not using it and the way to use it is helper dot and the function name and you see the red line disappeared so again what we did is we told main.python there is a helper module in this project and please import this whole module and all the functions that this module has and make it available in main.pi and then once we have that helper module we can reference any functions if we had any variables using module name dot function so this has to be the name and if i hover over it you see that pycharm actually displays the whole path to that helper.pi file and now note that here we still have redline because this is a variable which is defined in main dot pi but a helper module doesn’t know anything about it and that’s an important distinction here because we imported helper module inside main so helper modules functions are available here but not the other way so in order to make this dictionary available invalidate and execute function we would need to pass it in as a variable like this and this will work now now note that in main.python we actually only need this validate and execute function we don’t need the days to units function because this function is only used by validate and execute function so that means that we don’t need to import the whole entire module inside main.pi we actually only need the validated execute function and this is a small example but if you had a module with 20 30 functions and you just needed one of them you wouldn’t need to import the whole module just for that one function so what you could do is you can pick and choose which specific functions you want to make available inside another file or another module and you can do that very easily using the following syntax we say from helper that’s the module again import and the name of the function like this and now because we are accessing and importing that specific function we don’t need to use module name anymore we have that function available directly so we can delete the module reference here and we have that function available like this so again instead of having entire helper module with all of its functions and other stuff we only have one specific function available here so that means we wouldn’t be able to use these two units for example now we saw an example of a module that has just functions right however module can have many other stuff for example variables and you can make those variables also available for another program and that’s an example here i’m going to create a variable called user input message and this is our user input message and we can actually put it into a variable instead of having it defined like that so i’m going to copy it and paste it here so now we have the user input in a variable in another file again how do we access it in main dot pi in this statement at the top we can actually import several things from a module right now we are importing a function we can also import our variable and we can do that also very easily like this and we can use that user input message here so basically if you have again 20 functions and variables from a module and you just need maybe five of them you can import them individually like this just basically just list the names of functions and variables what you can also do is import all this is what this asterisk sign represents so we’re basically importing everything from the helper module again this is kind of a waste if you just need a couple of functions and variables from that module and not the entire thing however with this syntax you can import everything and now you may be wondering what is a difference between importing everything from the module and importing the whole module because in both cases you have everything in the module available the difference is in the syntax because note that if we use this from import statement you don’t need to use name of the module every time you’re accessing something defined in that module right so we don’t need to do helper dot function name or helper dot variable name whereas if we imported the module like this you see we have red lines because we would need to do helper dot or module name dot whenever we use something from the module now this could be a matter of taste so basically which one you want to use i personally think that this is the most efficient and also cleaner way of using specific functions variables etc defined in a module and as a side note the things that are defined in a module that you can use basically in another file are called definitions so all these those three elements here are definitions of a module and you can use any of those definitions in a file where you import that module what you can also do when importing a module is you can rename that module basically to whatever you want so if the name of the module is too long or you just want to use a different name you can do as and then basically write a name whatever you want like h for example and then obviously you need to use that new name everywhere you access functions or variables of that module so basically how you import a module and whether you rename it is a matter of taste basically how you want to do that in your code however i think that importing specific elements from a module like this is most efficient and also cleanest way to do that so we saw how to create our own module and use it in another file so basically if you had hundred python files here with each one of them having their own functions and variables you can cross reference them from each other using the import statement very easily now in addition to creating your own modules we can actually use modules that python itself already includes so just like we used some functions that python gives us out of the box like inputs or ins so basically all of those the same way python also gives us modules for different scenarios so that we don’t have to write this logic ourselves and there are a lot of useful modules that python actually includes for example math module for mathematical operations its own module for working with dates or date times module for working with specific files and so on so basically for many different use cases python already gives you ready modules and these modules will then contain multiple functions and variables for that specific use case again if we take an example of a date so if you have an application that works with dates and times you have this module from a python that gives you a bunch of useful functions for working with dates and again this means you don’t have to write this logic yourself but rather use the existing one so to give you some examples of modules that python provides us with for example if you want to work with operating system there is an os module so we can print out we can get the name of the os for example and i’m going to comment all this out and run and you see the name of the os another useful module python offers is logging so if you want to use logging in your application the logging module gives you different functions to log an error message or warning etc as well as basically just configure how the login will look like again to see an example again it may look a little bit complex here but essentially just using the name of the module and then functions that it gives you obviously you need to know the functions and you need to know how to use them and you can get that information from documentation or if you’re using pycharm it actually gives you all the information about these functions and the module if you just hover on it so you don’t even need to google or check out the documentation and basically we’re creating a logger and we’re logging an error message so if i execute this now and here you see the output of the logger error happened in the app and logging in application is actually a very important feature so that’s why logging module is available by default in python any use case in our application would be right here if an error happened for example instead of using a print basically just log and error so these were just some basic examples but as i said python comes with lots of very useful modules that you can use in your applications for different use cases and that of course makes your work easier because you can just use the logic instead of having to write it yourself in the modules that are part of python so that you can import them like this directly are called built-in modules we learned about built-in functions so these are the functions that python makes available to us directly and there are built-in modules that we get from python and by the way if you’re wondering where this module actually comes from so where is the physical location on our machine or where this module files actually leave if you’re using pycharm you can actually hover over it and hold down a control key or if you’re a mac command key and click inside you see the file opens up which is the module the logging module since i said module is basically just a python file that has multiple functions variables etc available and you see right here on this top line the whole path for that python file so that’s the location of that module file locally on my computer and inside this python file basically you again have python code and if we look for get logger function here like this right here you will find the definition of that function right so somebody implemented this function and called it get logger and this is basically the logic all the things that get executed behind the scenes and you as a user of python basically can use the name of the function and write your own programs with it and let’s also look for error and there you go we have error function as well right here and obviously this is a more complex code here than what we write but just to give you an idea that this is actually a file on your machine that comes with the python version that you install locally and all the functions are defined already there by python developers and you can just use them like this without worrying about how the logic is actually implemented and another interesting thing is if i click here in this python 3.9 like this logging is basically one module that we used and here you will see the list of the complete list of all the built-in modules that you get from python so some of them are folders like logging for example email and bunch of other stuff and the operating system module for example that we used is a python file then you can find right here so these are the built-in modules so now that we know what built-in modules are and how to use them let’s actually see a realistic example and also write a little more interesting application using built-in module so what i’m going to do is in my python project i’m going to create a new file and i’m going to call this time to deadline dot pi y and we’re going to write an application that basically accepts a user input of a goal and a date like a deadline date and then we’re going to print out back to the user how much time it is remaining till that deadline and that deadline will be a date right some date in the future so that means that we’re going to be working with dates and in order to work with dates we are going to need python’s built-in module that allows us to call functions and do some processing and stuff on date values and that module is called date time so import date time so let’s have that import statement right there and we’re going to use it in our program so the first thing we want to do is let the user give us an input about their goal and a date or deadline for that goal so let’s do that first we already know how to ask for user input with a message so we’re gonna say enter your goal with a deadline separated by colon and we also know this already basically what we want to do is user to be able to enter their goal like learn python column and a date and let’s say again this is totally up to us to decide we’re the ones basically setting the rules here so let’s say we want the date to be entered in following format day month and a full year like this so that’s the format that we’re looking for and this is how user should input the value otherwise with a different format it’s not going to work so we’re going to save that input value into a variable let’s call it user input so we have the user input let’s do the split again on a colon remember we have this whole thing as a string as one string so we want to split it into two parts so we have the goal here and the deadline and this will give us a list with those two values and let’s call it input list and now from that list we can actually extract or get those individual values using a list syntax so accessing the elements from a list which is what we learned already using an index right so we have input list index 0 which is going to give us learn python and let’s save it as a goal variable and let’s create another variable which is going to be date let’s call it deadline and this will be the second value in our list now let’s actually print this out print this whole list out and now note that we are actually in a different file we’re not in the main.pi anymore and we don’t want to execute main python file instead we want to execute this one right here we basically just want to ignore everything else in this project so how do i go from main to this file execution very easy in this editor just to right click and you see here run time till deadline and i’m going to execute this everything else is ignored in the project we are basically just working on this one right here so enter your goal with the deadline separated by colon let’s do that i’m going to do pi learn python colon and then let’s enter some date and enter and this is the output so we basically split that into two values and put it in a list right here and very important to note here that both of these elements in this list are strings because again user input is always interpreted as strings so this was a string and it was split into two strings which are learn python and this date here however we don’t want date or deadline as a string we want deadline as a date and exactly for that functionality we need this date time module because we don’t want to implement it ourselves we want python to give us a ready function from a module that will basically just let us convert this string into a date value and converting string to date is just one example usage of date time module but you can use this module to work with dates generally like creating new dates formatting the dates updating the value etc and we’re gonna see some of those examples in this section now if you’re learning this type of thing alone you don’t have me basically teaching you and giving you an example the way you would do that is you would basically research and maybe google how this is done in python and you would basically see some examples of using this date time and what the name of this function is and how to use that as well as each module has its own documentation page where you can look up the syntax and usage examples because obviously you’re not going to know how to do that by yourself so the way we convert a string into a date using this date time module is on this datetime module if i type in dot i will see a list of all the definitions that daytime module gives me right so i have date daytime time etc the one that we need is date time because the function that we need for conversion is inside that definition and don’t be confused here because we have date time twice here the first one is a module and the second one is a definition in that module and we can actually check that as well so if i jump into this date time module and inside that if i look for date time again so right here you see this date time definition and on that daytime definition we have now functions that we can use and as you see this is not a function or variable it says class here which is another concept in programming we’re gonna see later so just for now think about this as a container of functions and variables inside that module and that’s why we have to access it like this and then on that daytime definition this class we now have functions that we can use to do the conversion so the function we need is called str so string p time and this function will take a string representation of a date and we’ll convert it into a date format so our string representation is deadline and we need to pass in the second parameter because remember i said we basically decided that the date should be entered like this with points and a full year here and as you know there are lots of different formats and types for dates right depending on a country or a language or even within that language we basically have multiple different formats right we have formats like this or we could also have a shorter version of the ear etc so we need to define here the format that we want python or this method here to use when converting this string into a date again because there are so many different formats available so what we have here is a day then we have a dot then we have a month again a dot and then we have an ear so this is kind of a main structure of a format however formats for dates have their own specific syntax and this is actually for all programming languages so what we need to do is put this percentage sign in front of every letter so again we have day month year and there is one more thing about this format this format right here matches this date however we want the full date not just the last two and the format for that would be a capital y again this is something that you would look up in the documentation of the module instead of knowing it by heart but just know that this type of formats are used when working with dates and this is not specific to python you will actually see something very similar in all the other different programming languages and that will do exactly what we want it will take this date here and give us a proper date format from it let’s actually test this so i’m going to print this first and i’m also going to print a type a data type of that value so let’s execute i’m actually going to copy that so i don’t have to retype it over and over again and enter and here you see we printed first of all the date not a string and now this looks like a proper date and not a string anymore note the change in the format plus we have these zeros here which represent hours minutes and seconds we didn’t set any of those so these are all zero and we have the date time type again note date time for a module name and date time of the class name so this is the type of our converted date and the reason why we needed to convert that string into a date is because we want to calculate how many days or how many hours are remaining until the deadline from now starting from today and to do that calculation we need to have date type because we can’t do that on a string great so now we have our deadline represented as a date so let’s actually assign this to a variable it’s a deadline date like this and remove this and now we need to do a calculation how many days from now till the deadline we already have the deadline we need now again now is or today is also a date and since we have this module date time we can also assume that this module will give us some function to tell us the date of today and if i do date time again daytime class and today you see that we have this function available and this will basically give us the date of today so depending obviously when you execute this program it will give you always the current date so let’s print it today for me it’s 7th of february so if i execute it now i’m going to enter this and today is 7th of february for me so if i execute this let’s actually comment this out here i have the date for today which is 7th of february plus the exact time it is now but we don’t care about the hours and minutes and seconds we just care about the day so that means we already have deadline and we have today let’s also add it to a variable like this and now we can actually do the calculation calculation is super easy we just say deadline date minus today date and this will actually give us the difference between or time difference between today and the deadline date in the future again let’s actually try this out and you see that so this is 12th of august for me today is 7th of february so the program calculated that there are 185 days until the time plus how many hours minutes seconds and milliseconds so that was a pretty easy calculation now what we want to do is tell the user some kind of message and we want the message to be dear user the time remaining until the deadline for your goal whatever the goal was is this so let’s actually put that text and message together and bring it back to the user so first i’m going to save it into a variable let’s call it time till and the message dear user time remaining for your goal and here we want to print what the goal actually is and you remember how we format a string when we want to use a variable we put an f here and in curly braces now we can use variables or numbers or some other expressions which are not string so first of all we’re printing back the goal so time remaining for your goal whatever goal they entered is time till and let’s execute our program and let’s give it some other value like this and enter and here we have our message dear user time remaining for your goal learn python is 132 days and this many hours minutes etc now let’s say we don’t care about this whole thing here we just want to know how many days are remaining so how do we get rid of this part here again very easy and the time till if i do dot here i get a list of suggestions for functions or variables that i have available and one of them is days as you see here so if i click here and save and i’m going to reuse these inputs because i don’t want to type and as you see we got rid of this whole thing here and we just have days and let’s actually write days and there you go we have a cleaner output now for our user and finally what if the deadline was just a couple of days in the future and the user wanted to know how many hours are remaining till that deadline we can do that by getting rid of these days and again type in dot and we have something called total seconds here which gives us the time different in total seconds and now we can reverse engineer and calculate the number of hours from this total seconds which is pretty easy like this calculate minutes and then calculate hours and i’m gonna execute this again and here you see the number of hours with a decimal precision so we have 4450 hours point some fraction number here again we want to get rid of this extra stuff and as you see from the syntax it is actually a float number with a dot here so what we could do is basically convert this whole thing this float number into an integer so convert this whole thing into an integer using int function and we need this whole calculation here inside the int function and let’s execute it again learn python and let’s choose a date which is near and there you go we have a whole number 57 again cleaner output and as a code optimization we could take this whole thing out into a variable and call it hours till to make our code a little bit cleaner so now we have the whole program that takes user input and basically prints back to them how many hours are remaining till the deadline for their goal and for this program we used a date time module a built-in date time module from python and we also learned a new data type which is date time and as we learned from the module section we can actually optimize the import of the module because obviously we’re just using the date time definition and nothing else from that module so what we could do is from date time module import date time definition which is a class in this case so now you don’t need to use the module name so let’s get rid of those and this could make the code cleaner as well as make the import more efficient because we’re not importing the whole module even though we just need one definition from there when you install python it comes with a set of modules that are built in into python however there are many more modules for other different use cases like web development or data science and machine learning etc that are not part of that installation and these are basically external modules not built-in modules that you have to install as you need and this makes sense because the built-in modules are the ones that most of python programs will probably need and depending on what specifically you are doing with your program whether you are developing a web application or creating some machine learning program you can then add and install them as you need and there are hundreds of such external modules for python out there and obviously it wouldn’t be practical to have them all on your laptop when you’re just gonna use maybe a handful of them right now if i need to install an additional module for example django for web development where do i find these modules and how do i install them python modules actually live in a module repository where you can find them and that module repository is called pipey so if i look for pipey right here you see the python package index if i click inside you can search for any module that you want to add or install additionally for your application and here you see this word package everywhere instead of a module so what is a package or what is the difference between package and a module to give you a simple comparison module is basically a python file like this one right here that has a name of that file right so we have an ssl module or the one that we used earlier we have this os module right so module is one python file that contains all these functions and variables that you can use package is a collection of modules so if we scroll up and logging is actually one our example so these are actually packages and again let’s go to logging so package basically contains multiple python files and use it in the same way you basically import the functions and definitions from the module and as you see clearly the difference is that package is more structured so for example the code is not available in just one single python file but it’s divided like this in our case we have two python files and package always has this init python file and this file basically differentiates a normal folder like we have right here with bunch of python files from an actual package with python files so that’s the difference between modules and packages and many external modules basically that we want to use in our projects are actually packages so basically package is a good way to define some hierarchy and structure for your modules and kind of group them together so that’s why you see package here as a name instead of module so now that we know the difference let’s actually search for a package for our project so for example if i type here django you see django packages that we can use from here we also have numpy and so on however in programming when working with and using these external packages a typical example would be where you need to implement some logic for example you want to write a program that basically talks to aws maybe and you don’t know exactly the name of that package but you know what you’re looking for so in this case instead of the exact name you would actually type in here in the search projects box a description of what you’re looking for so let’s say we’re looking for an aws api package right something that will allow us to connect to the aws api and as you see here we get a list of different packages for that to choose from so basically pipey is a repository or storage for all of those modules and packages and people can also publish their own libraries like individual developers for example they can publish their own packages and modules there and make it available for other programmers to use and that’s one reason why large community is so great for a programming language because then you can make use of all these modules and packages that others in the community have developed so for any kind of functionality you need in your application you could imagine that there is a module or package that helps you do exactly that now let’s say i need a django package for my web application so first i find the package and now i can actually check some of the documentation for that specific package so if i click inside i see some description for the project as well as documentation and some other links now the question is how do i actually install this package locally so that i can use it in my project in python we install packages using a package manager tool called peep and right here on top below the package name you actually see a command peep install django so this is actually a command that will install that package locally on my laptop so we install packages in python using this pip command so what is this command or where does it come from pip is a package manager for python and if you know any other programming language basically the concept is the same every programming language has its own package manager tool for javascript it’s npm for java it’s maven or gradle and for python it is pip and one of the main tasks or usages of a package manager tool is to install external packages or libraries or also called dependencies for your project so if python needs this django package basically it’s the job of the package manager to install that package and make available for python now where did this command come from do we have pip command available well in python version 3 actually pip is packaged inside the python so when we install the python we actually installed pip as well so basically we’re going to copy this command peep install django and we’re going to execute it actually from the terminal of pycharm so in pycharm editor we have this integrated terminal so this is actually pretty much the same terminal as you have outside like this so we are going to execute this pip install command directly in this pycharm terminal so i’m going to copy it here and do peep install django and you see it is downloading and successfully installed django 3.1.6 and we can actually see that package from our editor directly if i expand these external libraries and site packages and scroll a bit down here i have django 316 version installed so i see that the package is now available in my project and to also test it in the code i can do import and django and you see that pycharm actually recognize that i have django packaged locally so it gives me that package as a suggestion so that will basically import the whole django package so we can now use it in our application here you see pycharm actually noticed you are using or want to use django web framework as i mentioned in the beginning the pycharm professional edition has special support for different python web frameworks supporting you with syntax highlighting suggestions database integration and so on so again if you want to try it out for free for three months just use my code in the video description in the same way as we install the package we can also uninstall packages using pip and let’s also actually demonstrate that pip uninstall django and let’s confirm that successfully uninstalled django now if in the site packages i click inside you see that django packages are gone so this site packages folder got updated django was removed and you also see that in the code editor now i have this red line under django because pycharm cannot find a module called django and also if i do this obviously it won’t give me any auto suggestion for that so that’s how you can use peep to install packages and also to uninstall packages for your application now here i want to show you another cool alternative to installing and uninstalling packages directly in the pycharm ide and this is actually a feature in the latest pycharm release and for this i need to switch to an early access pycharm version so you see here it says pycharm eap early access to show you the feature however when you watch the tutorial it probably will already be included in the latest official pycharm version so you should have that already so instead of us basically finding this package in pipey and then executing peep install commands right here what you can do is down here you have another tab called python packages so if we click inside this is a place where you have everything that you need to know about the package the package search and all these features basically in one place so for example in order to install django we can just search for django right here and you see that when i type in the first couple of letters i already get suggestions so this is a list of all the packages that start with this name that are actually available in pipi so let’s type in django and we see that right here and on the right you see the documentation of the package that you would actually see in pipey ui so you have that in place as well and in addition to that what they added is the documentation link so this is actually the package how-to guide and the full documentation with examples etc so very convenient way to basically get all the information about the package search the package and then to install the package we can choose the version here so either you can leave the latest or basically select the specific version and then once you have selected that you can just click install and here you see installing package and there you go so now in installed view here so we just had pip and setup tools these two things installed and right here we have now django in the installed packages list and again while you’re now using the installed package or library in your code and basically you want to look up some examples or you want to check some documentation right you go back to the package click inside and you have link to documentation and the package information as well and also just by looking at this list you know which versions of which packages you have installed so i think it’s really cool way to manage all your packages to install packages and for example if you want to uninstall packages from your project then again just clicking to that specific package right here you can just delete it and it will be removed from your application like this and no django anymore here so a very cool addition to pycharm because this will be very convenient to work with the packages so now i will switch back to my other editor again and continue from there so basically i have just cleaned up my python project we have this main.pi which is empty and we’re gonna write an application that will read a spreadsheet file from our local file system it will read some information from that spreadsheet file and do something with that data and this could be a very useful use case if you’re working with lots of files and you want to do some data processing in those files and you don’t want to do that manually by automating or writing a program in python that basically can do anything in a file or across multiple files so let’s see exactly what we are going to be doing with this program so first of all we’re going to have an input file a spreadsheet file that we’re going to be working with and that spreadsheet will look like this it’s called inventory that’s how it’s going to look like so basically this file simulates something that many companies would have and employees of that company would be working with so we have this list of product numbers inventory for each product price for the product and a supplier so this could be an example file from a company that is basically dealing with selling or buying products so what we’re going to do is we’re going to read the information from this file and we’re going to do something with that information first we’re going to write logic that calculates how many products we have per supplier so we have three supplier companies here and per supplier we’re gonna calculate number of products from that specific company and as a result we’re gonna list the company so all three companies with their respective number of products then we’re going to write another logic that lists inventory products that have inventory which is less than 10 so basically those ones the third exercise is going to be to list each company with their respective total inventory value and finally in the last exercise we will calculate the inventory value for each product so product count times price and we’re going to write that value to an additional column in the spreadsheet and after that we’re going to save that updated spreadsheet file programmatically using python so we’re gonna see how to update a file and then save it programmatically in python if any of these sounds a little bit too complicated for you then just bear with me i’m gonna explain everything step by step and it’s gonna become much clearer when we actually start writing the logic so the first thing what i’m gonna do is i’m gonna take this file that i have in the downloads folder and i’m actually gonna move that into my project so i’m gonna copy that and i’m gonna drop it in here so that we have the file right in our project and so we can basically just read it easily and okay and here is our inventory file so that’s taken care of so obviously what we want to do now is read that file so basically let our python program read the contents of that file right here because we want to write some logic based on the values that are in this inventory file right we want to calculate stuff we want to list some stuff and so on so basically we want to work with these values and in order to do that we need to read all of these values into our program so that we have them available so how do we do that now there is actually a built-in module in python that allows you to work with files generally right it’s not specific for a spreadsheet or for any other file type it’s for different types of files generally however there is an external package that allows you to work with spreadsheets specifically and the obvious advantage is that that external module that allows you to work with spreadsheets or was created to work with spreadsheets specifically has much more functions and is much easier to use if you are working with spreadsheets compared to this built-in file module so that’s one of the cases where you may have multiple ways of actually implementing some functionality for application and then you have to make this decision of maybe finding a better package or better module which is available externally that will make it easier for you to implement that functionality so that’s what we’re gonna do for our project we’re going to choose the package that is actually made for working with spreadsheets we’re going to use that one and it’s called open pi xl and if i search for it this is the package that we’re looking for and if i click inside basically we have some information about this package so here we see a description let’s actually make this bigger description library to read write excel files with all these formats so this is the library that we’re going to be using in the same way as we did before we’re going to copy that command and execute it from pycharms integrated terminal so from here i’m gonna execute this pip command and install our module and as you see successfully installed open pi xl and this is the version of the module that we installed and in external libraries site packages you should be able to see our open pi excel package and now because the package is available locally i can do import and open pi excel again i get a suggestion from pycharm because the module is there and now we are able to use that package for our application and one small note here if you’re wondering why there are some packages with basically a dot inside and some without these are the packages that we install python packages and we know that because there’s this init python file inside and the ones without the dot they’re just folders with bunch of files inside but they’re not python packages so to say and inside some of those packages we see other packages as well with their own init file so basically hierarchy of multiple packages and at this point i’m going to say that the word library basically describes package that includes multiple other packages so basically which has a hierarchy of packages so we have module which is basically just one python file that we can use in our project then we have package which is a hierarchy of multiple modules with an init python file inside and then we have library which is basically multiple packages together in a hierarchy just like we see right here so note the difference so you don’t get confused when you see library package and module especially if used interchangeably great so now we have our module in place so let’s use it now to read our spreadsheet file and again you basically have to know the function names to do that if you don’t you can do dot and get suggestions and load workbook is actually the function that we need in order to read our spreadsheet file so i’m going to choose this function and obviously we need to tell this function which file it should read so as a parameter we’re going to say please load inventory file and we even get a suggestion because we have this inventory file here and there you go now this function will load the workbook and all its contents and later we obviously want to do something with that content so in order to be able to do that we need to save it first as a variable and let’s actually call it inventory file like this and this will give us the file contents now let’s actually open that file again and let’s see exactly what we need so we can have multiple such sheets basically per file so we need to tell the program which one it should use exactly so for example if this was called a product list you would use that name but we’re gonna go with sheet one so we’re gonna use that name basically and we’re gonna grab that using following syntax and you remember this syntax probably from using a dictionary so this will give us this one specific sheet and all the information inside and we can also save that into a variable so let’s actually call that product list so now we have read the whole file then we have read this specific sheet of that file and now we have all this information in that variable so now we can read any of those values and do calculations etc using that variable so let’s get to our first task and the first task is basically to calculate how many products we have per supplier and then list the names of the suppliers with that respective number of products so let’s go back and do that so the results what we want to get is basically products or number of products per supplier right that’s basically what we want to get as a result so we’re going to create that variable and we’re going to set it to an empty dictionary so by the end our program should give us something like this a dictionary where the name of the company is the key and the value is basically product count for that company and since we have three suppliers or three companies we’re gonna end up with a dictionary with three key value pairs per company so we’re starting with an empty dictionary for products per supplier and now let’s see how we can programmatically calculate this first of all what we need is we need to go through each of these lines basically so we have these rows so we need to go through each and every row in order in sequence and we need to get or check a supplier name for that row and you remember whenever we execute a logic on multiple values over and over again so basically same logic or same function gets executed for multiple different values for a number of times that’s basically a use case for a loop right so we’re looping through those rows and we’re doing the same thing per row which is getting the name of the supplier now as you also remember loops have conditions right we need to tell the loop how many times it should execute that specific logic and if we check our file here how many times we want to execute the logic the answer is as many times as the number of products so if we scroll down we have 74 products so we need to do that 74 times for each product so basically as many times as the number of product and obviously we want this program to work for any spreadsheet file right with any number of products so we need to calculate or we need to read that value also from the file so basically we need to read how many products are on this list so let’s see how we can do that first of all we’re using for loop to execute the logic for specific number of times and if you remember from for loop syntax four then we have the specific item so what is an item in our case our item is a row right product row is going to be an item of iteration so looping basically so we can call our item products row and then comes in and now we need that condition how many times and again this should be generic so we need to calculate or we need to read the number of lines here number of rows here from the file and the way we can read that is remember we have all the information we need in that one specific variable which is product list and that variable has the value for number of rows which is called max row now how do i know that max row attribute is available for product list i basically just looked it up on the documentation of the module and as i previously also mentioned whenever you’re using a module this module will have a documentation so if you need some functionality if you need some values you can basically just search inside the documentation which functions and variables are available to get the functionality or values that you need and we can actually test it we can print it out like this and as you see here 75 so basically max row will always give us the number of lines or number of rows in that specific sheet so we know how many times to iterate now whenever we’re providing a specific number in a for loop like 75 for example in this case we need to put that number in a range like this so we can’t just say 70 or in this case max row now why do we need a range here and why is number just not enough because the for loop is for iterating over a list and the range will create a list of numbers to iterate through in our case range of 75 will create a list of numbers or sequence of numbers from 0 to 74. and with that we’re going to have a valid for loop where for each item in this list of numbers some logic will be executed so that’s why we need a range here and now there’s one more thing that we need to fix we go back to our spreadsheet you see that the first row so this is going to be the first row basically does not actually include the product information it just includes the titles for each column right so we actually do not want to read this line we want to skip it and we want to start from the second row so instead of starting for loop from the first row we want to start it from the second row and in order to tell python to start at row 2 in the range function we’re going to pass first parameter 2. so basically this will give us a new range of numbers starting from 2 instead of starting from 0. and since we’re using those numbers in the range as an index for the rows the first number is going to be 2 so we’re going to start iterating from the second row so this will be the start point and this will be the end point so basically from here to the end now there are two things specific to a range that you should be aware of first of all when we do not provide the start index basically the start number in the range by default it’s actually zero so it’s not one but it’s zero and obviously we don’t have a line zero here so if we executed it with the default one we would get an error so that’s one thing to consider that range actually by default starts at 0 and not 1. but for us it doesn’t matter because we’re skipping the first one anyways and we’re starting from line 2 because our spreadsheet doesn’t have line 0 obviously another specific of the range is that the second value here basically the last number of execution in the loop in our case this is going to be 75 because we have 75 lines and we printed that out here that number is actually exclusive it’s not inclusive that means that the range will execute from line 2 to 75 exclusive so basically till here this line will not be included in the loop again that’s a specification of the range which we need to fix and basically want to tell you know what we want that iteration including the last number as well including that max row and a simple fix for that is going to be to do plus one here so basically whatever the max row is we want to include that one as well so we want to add one to it so now we have a range starting from two and ending in 76 exclusive so obviously the 76th line will not be red and this will now give us a range that we need and now that we have condition for the loop and we have set how many times it should execute let’s actually execute the logic itself so what is the first information we need from that product row for each row we basically need the supplier name so that we can increment or start counting how many products this supplier has so we need this one two three fourth column and the value in that fourth column for each and every row right let’s go back to editor how do we get a value in the cell you have to imagine when we iterate we have one row per iteration so right here we actually have this product row which is just one row and we have four columns here and we want value in this specific cell and we can get it using first of all product list because again we have all the information here so in this list we need a cell right we need a value of a cell so that’s the name of the function and the cell basically takes two parameters again product list contains the whole sheet here so the whole list with all the rows and columns and we can get a specific cell value so whatever we are doesn’t really matter from that variable by providing two values the row number and the column number that’s it so row nine column one basically will be this specific value row five column four will be this specific value so for each iteration we’re gonna do exactly that so for our case the supplier is always column four and the row is dynamic because we are iterating and therefore we’re going to use whatever row we’re at at the current iteration so that’s the first parameter and column 4 as i said and this will give us the supplier name for each and every row so we can grab that value like this and this is going to be supplier name so we can save it in a variable as a next step we’re going to start building how many products each supplier has we’re going to start building a dictionary with the name of the supplier and then how many products they have so we’re going to be building this dictionary here so this is a reminder now for what i said previously that you don’t need knowledge of math in programming rather you need logical thinking right so you’re going to get tasks like this where you have to basically logically decide how you are going to do a certain task and think all this through right so programming is more about logic rather than pure calculation or math which is actually more interesting and cooler and that’s exactly what we’re going to need in this example we’re going to need some logical thinking to basically build this application so bear with me on this one the first thing we need to check here so think about this iteration on the first time and second time the first time the list or the dictionary is actually empty so we want to add the first supplier to the list right away right so we’re gonna grab that and the syntax for adding a new entry in a dictionary is like this where we have a key and a value here so basically what we want to end up with is supplier name like a company and number of products for that supplier that’s the dictionary that we want to end up with then it’s going to be bbb company and so on so the very first supplier goes directly into the list and we’re going to need the name of that supplier we don’t know what it’s going to be so name as a key and value is going to be 1 at the beginning right this is the very first iteration so after the first it iteration we’re gonna have the first company name supplier name and count one for that on the second loop second iteration basically if the next line is a different supplier like here for example then a new entry will be added because we have a new key now with count one right so now we’re gonna have company a with one product company b with one product now what happens when on the next iteration we get company a again right what we want to happen is company a the product count to increase to two right because now we found another product that is supplied by the same company however with this land we are actually overriding and setting it back to one so how do we make sure that number of products gets incremented instead of always setting it to one what we’re going to do is before we execute this line we’re going to check is it a new supplier or an existing one because that makes a difference so how do we know if it’s a new one or an existing one we can look that name up in the dictionary if we have already edited that name in the dictionary then it’s going to be there and we can do that very easily again with the syntax if supplier name in the dictionary it’s actually very readable syntax that says is the supplier already added to the list or is it a new one so if this is true again remember if conditional so if this is true statement if the supplier name is already there then it is an existing one so we need to increment the product number instead of setting it to one so instead of assigning a new value we want to grab that value the existing one and basically add one to it right just increment by one so getting a value from a dictionary you probably remember the syntax already using the key and we can save it into a variable let’s call it current number of products like this remember we’re using a key in order to get the value and the key is the supplier name value is the product count so this will give us the current number of products on the first iteration this will be one or after the first iteration we’re going to have one product for that specific supplier and if we already have that supplier in the dictionary we want to increment the number of products for that specific supplier by one because we just found another product from that supplier so we want this value to now be plus one right so current number of products plus one so that’s the new value that we want for the existing for this current supplier and how do we assign it back to the dictionary again we grab that and assign it so as you see taking the value from the dictionary has the same syntax as setting that value in the dictionary in fact we could actually use a shortcut here so instead of current numproducts we could just take that value and add plus to it and then set it back as a new value and this will basically just give us a one-liner for the logic depends on the taste whether this looks nice or not or whether it’s better to have a new variable and increment the value like this let’s actually leave it like this so this logic will take care of adding a product count every time we find another product for the same supplier however now we have to decide what happens when it’s a new supplier so if this condition is false if the supplier name is not on the list and this is going to be the case on the very first iteration as well because the dictionary is basically empty so there are no supplier names and for that case else we’re going to do what we had before which is just setting that number to one right this is going to be the first value so this will do two things basically it will create a new entry in this dictionary for this new supplier and it will set the product count number to one for that new supplier and that’s it that’s actually our logic and let’s actually try this out and print it out so right here i’m gonna print adding a new supplier and this is going to happen three times because we have three suppliers so we can safely print it because just gonna happen three times there is one more thing we need to fix here and that is getting the value from the cell so if we actually execute this now let’s comment this out and actually print out what the supplier name here is let’s actually get rid of this line we don’t need this and run the program you see here we have cell information so it’s not actually the the value the name of the supplier but it’s just the object cell and the reason for that is because we’re accessing a cell but we’re not actually extracting or getting the value out of it and we can do that using this value attribute on that complete object again something that you can look up in the documentation of this open pi xl module so now let’s run it again and now we have the actual values of that cell and this will take care of that small problem and now we are ready to execute our program and after the for loop actually let’s print out the dictionary because we want to see the results of the dictionary that we are building here and i’m going to execute it now and there you go first of all we have three times adding a new supplier because we have three suppliers and this is the resulting dictionary and it looks actually very good first we have company a because this was the first on the list and we have number of products that were counted for that company then we have the second one with number of products and the third one so it looks like our program did exactly what we wanted so that takes care of the first exercise now i want to note here one small thing which is an alternative syntax for getting values from a dictionary which is actually a more recommended way of doing it which is instead of having these brackets here to have a get method right to use a get function with the key name so now you see the difference between those two so this is setting the value of that key again remember key is this one here and this is the value so we are accessing the value of the dictionary using that key and get function is actually another way of grabbing this value out of a dictionary using the key name again if i execute this i should see the same result after the first exercise basically we see from which company from which supplier we have the most product or the highest number of products now in the second exercise we’re going to calculate the total inventory value per supplier meaning in our list for each product we have number of units for the product and the price so basically for each supplier we want to calculate how much is the total value of inventory of their products of all their products and again as a result we want to create a dictionary that basically tells us that value per company let’s go ahead and do that so this was calculation calculation for number of products per supplier and here we’re going to give us some space and do calculation total value per supplier or total value of inventory per supplier that’s what we want to calculate so just like we did before we’re going to create a new dictionary now and we’re going to call it appropriately total value per supplier and start with an empty dictionary again for starting in an easy way let’s consider the first very first iteration for the first supplier how are we going to calculate for the first supplier for the first product so i’m going to take this new dictionary and with our familiar syntax i’m gonna do supplier name so that’s gonna be our key and the value of the very first iteration for the first product is going to be inventory times price so for the first product we’re going to calculate how much or how many of the product items we have and number of price right that will give us value of the total inventory for that one specific product and that means we need those two values right now we’re just getting the value of the supplier so we need inventory i’m actually going to copy this so we need cell for product row and column inventory is on column two and value so whatever the product row is going to be so for each product basically for each row we need always the second column so all these values here and then we need price which going to be product list cell and we are looking for the third column for every row number three and value so now we have inventory and price per product and the way to calculate value is basically inventory that’s the number of product items times price very easy that will give us the first value for the first supplier now again the same way if we are getting a new supplier so basically in the next iteration if it’s a new supplier then this line will get executed and everything is fine however if it’s an existing supplier that we already have in the dictionary then we have to add to that previous value right instead of setting a new one so we’re going to do very similar logic as we did here so we have the supplier name we’re checking is it a new supplier or an old one an existing one this time in our new dictionary and if it is we’re gonna grab that old or existing value again using this get syntax here existing value now is hundred we want to add to that hundred right so we’re gonna grab that value this is going to be current total value and then we’re going to add to that current total value the inventory value for the current product and assign it back to our dictionary now our variable names a little bit long so the code kind of looks a bit cluttered but it’s easy to read and descriptive so you can also go for shorter variable names to have a cleaner code again matter of taste i usually name the variables something descriptive something that basically really differentiates or says what the value is about and that basically takes care of existing suppliers or the suppliers that we already have in the dictionary else we do this and this is complaining about too many blank lines so let’s fix that and that’s basically our logic again to go through it once for new suppliers again this is going to happen three times because we have three suppliers we are basically setting the total inventory price or inventory value for that specific product because remember we are iterating through products and then every time a new product iteration happens for the same supplier we basically just add an inventory price or total value for that specific product for what we already have in the dictionary for that specific supplier so now let’s again print out our dictionary let’s actually print both values so the first dictionary is this one right here supplier and number of products second one is going to be supplier and total value of all the products they have in the inventory with us execute and there you go we have both dictionaries printed here and here you see for each company we have the value in price basically right here the value for the total inventory of all the products they have on this list and we see that value per supplier and the values are decimal numbers with cent precision so 95 cents 47 cents because the prices are obviously like this as well and if you’re wondering this comma here is actually a german format for number precision so this is going to be actually equivalent to english dot and we don’t have to worry about this actually because python reads it and interprets it correctly so no problem with different language formats so that takes care of our second calculation now the third logic we’re going to write is basically printing out all the products that have inventory less than 10 like this ones here for example so the logic for that is actually going to be pretty easy what we need as a result is again a dictionary let’s call it products which have inventory under 10 like this and the value in the dictionary should be the product number which we have in the first column and the inventory count so let’s get rid of these print statements and let’s do calculation or we can do logic products with inventory less than 10. so basically as i said for each product which has inventory under 10 we want to print out or we want to save in a dictionary the product number and the inventory count so we have the inventory count already the value from the cell but we don’t have the product number we’re not accessing it so let’s actually do that product number and we already know how this works this is going to be the first column right this one here and this gives us product number and now in our dictionary products under 10 we want to add value like this product number and it’s going to be set to value of the inventory like this however we don’t want it for every product we wanted only for products with inventory less than 10 and that’s going to be an easy if conditional here if inventory again remember this logic all this logic happens for each product row right so all these get executed for each of these rows so basically we have inventory number on each iteration for each specific product and that’s why we can just say if inventory is less than 10 so if the value on that specific row is less than 10 we want to add that product the current product that we are iterating on on the list and set the value of inventory as well again we have some complaining here because of the lines and this will be the logic basically and a use case for this type of calculation would be if we find products that have inventory which are less than 10 means we need to reorder them right because they’re going to get out of stock soon and now at the end let’s print the list of all the products that have inventory less than 10. so i’m going to execute it and here we have the product number and inventory count so we have three products basically which have inventory less than 10 and let’s actually check that product number 25 right here which has inventory of seven and product number 30 inventory of six and the third one as well now you’re probably wondering why we have this dot zero here because by default those values are interpreted as float numbers and not integers if we wanted to we can actually fix that using the integer function in both cases like this let’s execute it again and we have the integers and not floats and finally as a last exercise what we’re going to do is we’re going to actually add some value inside that spreadsheet till now we have been reading the values and doing some calculations and just printing the result on the terminal as the last exercise we’re actually going to create a new column here for every row and we’re going to calculate basically the total price of inventory right the number of units times the price and we’re going to basically set the value for each product inventory multiplied by price so how do we add a column or how do we make changes to a file it’s actually pretty easy the same way as we were grabbing the value from this file and basically reading the values we can add values to it and add columns and rows etc so to add a fifth column we’re gonna do product list cell product row this is going to be the number of the row and a column number so the same way we accessed the cells for all other values we can basically access the cell on column five which has an empty value right so we’re not actually creating a new column we’re just grabbing a value of a column five which happens to be empty and we are overriding that value and we could do the same actually for any other columns here right we can overwrite all these values if we wanted to so that’s basically what we’re doing so we’re grabbing that cell and we can now save it into a variable let’s actually call it inventory price so now that cell is saved into that variable so we can reference it and note here that i didn’t add dot value at the end because if we want to update the cell we need the whole cell object right so that we can actually set a value on that so how do we set a value for that specific cell so again note that this is iteration so for each product row the value will be set so how do we set the cell value i’m just going to grab this variable here inventory price which is representing the cell in column five for each iteration and right here at the end because this is our last exercise let’s write this is a logic or basically add value for total inventory price and the way we set the value in a cell is dot value equals and the calculation for that is actually very easy we already did it here inventory times the price for that specific product and that’s it so we’re using that dot value here in order to set the value instead of grabbing the value and that will actually update and add this calculation a result of the calculation on each line on this column but note that this will only change the value in a temporary file but it’s not going to save anything right so what we want to do at the end if we want this change to persist to actually be saved we want to explicitly save the file so for example if i manually did something here added some value i would need to save it here as well right so that’s exactly what we need to do here but programmatically using python so how do we save a file using python again this package or this module that we use here also gives us a function that we can use to save the file and since we’re doing an operation on a file and not a sheet here we’re going to grab that variable in file and here at the end we’re going to call a save function on it and this will save the file changes however we’re not overriding the same file the existing inventory file we’re creating a new one and because of that we need to provide a name of the new file that is going to be created with the save function and we’re going to call that file let’s say inventory with total value and extension the same extension as we have here so this line will now save the changes and create a new file from the original one which has these values generated basically so now that we are done with the fourth exercise let’s actually print out everything that we’ve done so far i’m gonna take all those values so this is going to be execution of all our logic printing these three dictionaries here and then updating the spreadsheet file and saving it into a new file so with this let’s actually execute our program and see what happened first of all we have all those three dictionaries listed here or printed here with the values and if we pull this aside here you see a new file got generated with the name inventory with total value and if we open this file we should see that for each row a new column was generated and filled with values which is calculated for each product’s inventory and price so that’s basically our project that’s how you work with files in python specifically with spreadsheet files and as i said at the beginning this could be actually very useful automation logic when you’re working at a company where there are lots of excel files or spreadsheet files that employees have to work with and manually update stuff inside in this part we’re going to learn the concept of objects and classes in python and generally object oriented let’s consider an example of an application with lots of users for example linkedin right we have users and each user will have some information for example email address name of the user password maybe a current job title work experience a set of skills and so on right so each user will have all this information but obviously the actual values the actual information will be different for each user in addition to that users are able to do something with their own information right so for example a user can change their password change their current job title add a new skill and again basically do stuff with their own personal information and our program will be able to handle this user information plus user changing their information right so this will be user data and in order to do something so to perform some action we would have functions for that right so all of these will actually be functions however as i mentioned every user will have their own data and whenever a new user basically registers for an application all these data should be gathered for that new user and saved in the application so basically that means that in our program we need some way to define kind of a blueprint for a user for all the data user information and user behavior right things that the user can do in the application because if we have thousand users in our application obviously we can’t write the same logic and same variables thousand times right we want to have a blueprint once and then we can use the blueprint for all those thousand users and that blueprint for a user is called a class and the specific implementation of that blueprint is called an object so think of this like a blueprint of a building right you can have a blueprint once which is like a general description of building with doors and windows and everything that every single building has and then the specific implementation of that blueprint will be the actual built ready buildings right so that’s the same concept we’re going to create a class blueprint for a user and the user class blueprint will define what information a user has and what actions user can perform in the application and object then will contain the actual information like this information right here for each specific user so let’s clean all these up and let’s now actually create class user so let’s create a new file in our project and let’s actually call it user dot pi so this is going to be our user class and inside that i’m going to paste in this piece of code that basically will represent data for the user and some behavior these pieces of data are also called attributes for that class so now let’s turn all of these into a class so first of all we create a class using class special work and you also see the syntax highlighting and we’re going to call that user and you know the syntax already for functions um etc with indentation so this is going to be where our class definition goes now note here the capital letter for u for user and lowercase user in the python file name so a standard convention is that we call classes with a capital letter and the file names are written in lowercase letters and now all of these should actually go inside that indentation right like this now we said that class is a blueprint for specific objects and blueprint cannot actually have specific values right so all these needs to be removed so in the blueprint we don’t have any specific values we just have the attributes so basically we say this user will have an email name password and current job title the actual values of those attributes will be then set when we create an object from the blueprint however we need a function that will actually take those specific values and assign them to an object which is created from the blueprint and we’re gonna create that function right here in the class and that function actually is called init with underscore or two underscores at the beginning and at the end a couple of notes here first of all you see the syntax highlighting just changed to this different color second note is that these functions that start with underscore in python are special functions so python basically gives them some special meaning so it knows exactly what this init function is and we also have to call it init we can’t just call it whatever we want and final note is that this init function in python is something called a constructor again we have a blueprint and we’re constructing objects from the blueprint and this init function the constructive function will help us construct objects from that user class and now for a function syntax you know that we use these brackets right and when i start writing the bracket you see that self got automatically created as the parameter here and the reason is as i mentioned python knows what the init function is and that it’s a constructor so it knows that it needs this self as a parameter again self is also a special word in python it has a special meaning and it actually refers to this class here right this entire class if i hover over it you see self points to the user class and it will basically just help us access and reference all the attributes and functions within that class so it’s for special usage within that user class and we’re going to see examples of how to use that in a second now you can think of those attributes as variables within the class because they belong to the class right they describe basically what attributes or what characteristics this class has and in order to define that these variables belong to the class we need to use self here so and you see again syntax highlighting changed and the red line disappeared so basically we are defining that email name password and current job title belong to this class using this self keyword and now the last thing remaining in this constructor again remember constructor is to construct new objects so whenever a new object is created the specific values will be assigned to all these four variables right and those values those specific values will be passed into the constructor as parameters so email name password and current job title those four values must be provided to the constructor whenever we’re creating a new object note that these names here could be different from this these are not the same these are just parameters and using these parameter values we are going to basically set the variables or attributes of the class like this and the warning is gone as well again as i mentioned this could be something else we could call it user email so it doesn’t actually have to be the same it’s just for convenience so this function will construct an object with parameters that we provide when we actually create it and we’re going to see how to create an object later this is just the definition as remember when you define a function nothing actually happens until you call or you use that function so right here we’re just defining that function so that we can use it later so constructor logic is done now we have these two functions that any user in our application can do right any user can change their password or change their job title and logically when change password happens by user basically user provides a new password in order to override the old one so the flow will be following the object will be created for the specific user so the initial data for that object will be provided so we’ll have the user email name password and current job title and later at some point user may decide to change their password and their current job title and that means the initial data will be changed and that means that we’re actually changing the attributes self.password with a new password right so logic will be like this now we have red lines here why because we need this self as a parameter first of all we also have that as um note right here so just like here we need to actually pass that self as a parameter that’s just how it is because we need to access attributes of that class in that function and new password will be new password variable will be the new password basically that user wants to set so this will change the initial password with the new one and the same way in change.title we have self as a first parameter we always need it in all the functions because otherwise we cannot access the attributes in the class and new job title so now let’s review this class that we created first of all we have this class keyword here with a capital letter for user you already know the syntax with colon and then indentation so this all of these inside this indentation is class body so part of the class logic first we have this init constructor that sets the initial values of that class attributes whenever we create a specific object for that class right so this happens only when we construct a new object and then on that constructed object we can change password we can change job title and note that right now we have nothing basically hard coded we have no specific values here right everything is just parameterized and also this is just a definition for class and its functions nothing will actually happen when we execute this because we’re not creating any user objects so if i right click here and execute this run user you see that nothing happened because the class definition was created but we’re not doing anything with that class definition we’re not creating new users so now let’s actually go ahead and do that in the same file in user.py i would actually use that class blueprint to construct a new user object and creating an object from a class is actually very simple we just write name of the class and parentheses this is actually the same syntax as calling the function with parameters and the parameters that we need to give that class are these four values here and note that calling this user class function basically in the background we’ll call init function right so the constructor will be called whenever we write this syntax with class name and parentheses and this init constructor as you see expects four parameters so we have to provide all those parameters right here in the parenthesis so let’s actually provide them let’s do user email like this my username and password and a current job title again very similar to calling a function and this will actually construct a new object from the user class which has these four attributes with values that we just provided here and has these two functions that we can use to either change a password or change job title one note here is that functions that belong to a class are actually called methods so there’s a special name for functions which are part of a class so we can refer to them as methods so user object basically gives us two methods that we can use now again if we execute this program now we will not see anything even though user will be created because we’re not printing anything to the console we’re not doing anything so let’s do that run user nothing happens because we need to print a message or some kind of information so what i’m going to do now is inside that class i’m going to create a function or a method as we learned now that basically prints back some user information right prints me the name email and current job title because we don’t want to display password so let’s give us some space here and let’s create a function called get user info so that we can see something and again as soon as i typed in these first parentheses self got generated because we need self in every function within the class and in the function body we’re gonna print user information so let’s say user and name of the user which we can access using self remember all the attributes that the object has can be accessed with this special word here so self dot name so user whatever the user’s name is currently works as a and now we need the job description or job title and you can contact them at and now we can use the email so this message will be printed for the user again because this will be used for any user of our application the message these parts will be the same but each user will have their own different name different job title and different email address so all of these are and written as variables because we don’t know these values up front so now we can actually use this function or method to print out information of a specific user so how do we use or how do we call that function of the user we first save it into a variable app user one or nana doesn’t really matter let’s call it app user one so it’s generic so how do we use that function to print out the information about the user if i do app user one and dot you see that i have the attributes here the four attributes that our user object has or user class and we have these three methods of the class get user infor change job title and change password so using get info we can call this function and if i execute this right here you see user nanogenasia currently works as a devops engineer you can contact them at this email and now let’s say we want to change job title of that user we do that in the same way app user one dot change job title and we’re gonna provide the job title parameter note that even though you see two parameters here on that function this first parameter is passed in automatically so we don’t have to basically pass that self right it’s already done automatically we just have to worry about these parameters so new job title is let’s say devops trainer and now we can call that user info method again and execute and you see first message printed here before we change the job title now it’s devops trainer so that’s how we can create a new object from a class and we can use methods of that object by first saving that object into a variable and then calling that function on that variable and obviously now this is just one user but if we had another one user two that’s actually clean this up we can create a new user with different values like this they have their own email own name own password and on job title and again we can create that user and basically just use the methods defined in the class and in two different cases or for two different users obviously the user info will be different so let’s execute this and right here you see the user information for both users and obviously if you have an application like linkedin you don’t have two users or a thousand users you probably have millions of users and having a user definition once and reusing it every time a new user gets created or basically existing users do something in application is only possible when using classes and objects instead of just having all these logic non-structured throughout the code and again in this type of applications you would not have four attributes and three methods you will have probably hundreds of attributes and hundreds of such methods now as you see here we have created this user.pi file for user class but we’re also creating these objects in the same file which actually doesn’t make sense because the file should be only for defining the class right so all of this logic actually needs to move out from here and this should be just only for class definition so in the application again using an example of linkedin we would have class user and then we would have a class post right whenever someone posts something each post will have their own attributes like the actual message or text in that post the author who wrote the post how many likes it has etc as well as specific functions right for example changing the post commenting on the post etc so you will have separate file for each such class right in the application and then you would have one file somewhere else this could be a main dot pi where you would actually use all those different classes and create objects from those classes and that means that logic that we wrote here constructing a user object and then calling some functions on that will actually happen in another file in our case let’s use main.pi and now let’s see how we’re going to do that i’m going to paste in the code that i copied from there and as soon as i paste in you see those red lines so basically main.pi says that it cannot find a reference to user so this file doesn’t know anything about the user class so how do we fix that or how do we make this user class available in another file and if you remember when we needed to use modules or basically functions variables whatever from other files in python we use import to basically import those functions and make them available here or import the whole module to make its functions and variables available here and the same way we can import classes from another file import user and note here that i’m using the name of the file user lowercase and not the class name with capital user right so we are importing that file so now we can use anything that is defined in that file and one of them is class called user and the way we can access that class now is using the name of module and not the class user itself and this is basically exactly the same concept as we saw before because we are importing a module called user remember every python file that has functions or variables or classes inside is a module so we are importing a module and once we have that module imported now we can use and access functions variables or classes of that module and we can do that by copying the name of the module dot and there you go in the same way here so exactly the same concept whether this is a function or a class doesn’t matter we use it the same way remember when we use the date time module with the syntax datetime.daytime and that was an example of using a class from a module now user.user may look a little bit weird so we can use our familiar import statement where instead of importing the whole module we can pick and choose and import specific definitions or specific elements of that module in our case we just have one element which is the class so we’re going to say from user module import user class and now we don’t need the module name anymore because we imported the class itself and now if we execute main dot p y let’s do it again here we have the same result for two of our users and again as i said in applications you will have multiple classes that are connected to each other so for example if we have a post here post blueprint basically whenever a new post gets created with some specific values like the actual message and creation date time etc it will also have an author and that author will actually be one of those user objects right so you will have some functions here that actually reference the post and we can also see that in action let’s actually create a post class let’s give it just two attributes to keep it simple so we need a constructor here in it and we’re gonna pass in message and author right this is gonna be the user who wrote it and you know the drill already and let’s create another function which displays a post with its respective author so let’s do get post info again we have self here and let’s print post written by and the author name so this is going to be our simple post class and user is able to create new posts so we have the blueprint for a post and the same way we can create that post inside the main dot pi so first let’s import the post class and then here we’re going to create a new post in pycharm you get this nice display of parameters that function or class basically expects so we have message and author let’s do some message or post and as a second parameter we have the author and we can use the name of a user so let’s do app user to dot name and this will create an object also called instance in programming special instance of that post class and then we can print the information of that post first assign it to a variable let’s say it’s a new post and on a new post we’re gonna call get post info let’s actually run this application now and see the result and here we have our post message that gets printed by this get post info method in the post class and at the beginning i mentioned object oriented programming which basically means that when you’re writing your code with objects and classes like this to create blueprints and then use those blueprints for specific instances that’s called object-oriented programming and also an interesting note here is that in python almost everything is actually an object for example the data types like string integer list set etc when we printed them out we saw class of string or class of list so these data types are also classes in python and this int or sdr for string functions we called where actually the constructor we called to create a string or integer object and the constructor of int for example took a string representation of a number and in its init function and constructed an integer out of it now for us in terms of using these data types and variables etc it doesn’t actually matter but it’s just an interesting thing to know about how this whole thing works in python in this part we’re going to learn how to use python to talk to external applications in our case we’re going to use gitlab and then application and just note here that communication between two applications in our case our python application and a gitlab application usually happens using a common protocol like http so basically our python application will send an http request to gitlab application and from the gitlab application it will get an http response for that request so just know that http is just a protocol that these two applications can communicate with over the internet i have a couple of projects on gitlab so we’re gonna write a very simple python application that basically goes to gitlab and asks for the list of projects for my user and then just prints it here in our run window and the concept of one application talking to another is basically done using something called api requests so the remote application in this case gitlab has an api so these are functions basically that gitlab makes available for other applications to call and we’re going to call those functions from our python application in order to get the list of projects for my user and that communication or python basically asking for this information is going to be an api request or api call and what we get in response from this gitlab api is going to be api response so let’s go ahead and do that in python in order to make those external requests to remote applications we’re going to need a module called requests this is a generic module that you can use for any external application and as i mentioned at the beginning the communication happens using http protocol between two applications and as you see here also in the module description it says an http library which allows you to send http requests and then receive http responses from another application and that’s exactly what we’re going to be doing and this request module is not part of python so we’re going to install it using pip again remember that we’re using pip that actually comes packaged with the pycharm so in the terminal window of my ide of pycharm i’m going to execute peep install requests successfully installed request this is the version of that module and if i expand this external library’s site packages i’m going to see the requests package in the list great so once we have the module available locally we can import that module in our file and this requests module now has or package actually has functions variables and objects that we can use to talk to these remote applications like gitlab as i said gitlab is just one example you can talk to any remote application that has an api and we can not only do requests for getting the existing information but we can also make requests to change something in that remote application so for example i can write a python application that will actually create a new project on my gitlab account but to keep the demo simple we’re just going to be fetching information from gitlab so how do we make requests to an api of an application with this requests module we get a function called get and get takes one main parameter which is url so basically we need to tell python where to find that remote application or again in our case where to find gitlab to talk to it so we need the url of gitlab and where do you find this url information of a remote application you can basically google that every application has their own documentation where you can see the urls so for example for gitlab i actually googled it so if i do gitlab api documentation like this let’s make it bigger so you have basically description for the api and what type of information you can get from gitlab and also what kind of things you can create in gitlab and you see an example api here that basically just lists all the projects however we want to list projects of one specific user in this case i want to list my own projects and in this documentation i found this list user project section where i have an example of how to use projects for a specific user so we have slash users and the user id so that’s going to be my gitlab user id and projects so basically the url will now look like this first we’re gonna have this base url so that’s basically https gitlab.com api v4 and all the things that we want to do is going to be at this base api and after that we can basically depending on what exactly we want to do we can choose one specific action and again going back this is the action we want to execute on this base url so from gitlab we want projects that belong to user and right here i’m going to add my own gitlab user id so if you have a github account you should add your own user id here and that’s going to be an api url for user projects and this will actually give us some kind of response so requests.get will make that request to gitlab and it will return some kind of response and we can save that response into a variable so let’s call this variable response because that’s what it is and on the next line let’s actually print and see what’s in that response let’s run our application and right here you see we have an object response with a code here 200 is a code for a successful request but we’re not seeing the actual contents right we want to see the projects with their details and in order to get that we’re gonna do dot and text and let’s actually execute this now and now you see these square brackets which means it is a list because we have a list of projects and this whole bunch of information about projects there and you also see curly braces so this is a list of dictionaries and each dictionary holds information of one specific project now if i actually print the type of that response text like this see that it is a string so even though we see the format is actually a list of dictionaries we’re getting a string because we’re accessing text attribute now there is actually another attribute which will give us the same thing but as an actual list of dictionaries instead of string and this will be actually a better way to get that information because then we can work on it so we can look through it and get the individual elements and access the values so what i’m gonna do now instead of dot text i’m gonna use json json is a standard format that all programming languages understand and usually when two applications communicate with each other which are written in different languages and with different technologies with json they have a common format for communication and this requests module basically gives us this json function to read the json format that gitlab sent us so json function will read the json response from gitlab and turn it into one of the python data types so i’m going to execute this now and now you see that response.json actually gave us list data type instead of string so again for demonstration since this is a list i’m going to access the first element of that list and print that out and right here you see that is actually the first element just the first one from the list and that element is a dictionary as you see so all these just to give you an idea of what we’re getting back from that gitlab api and what we can do with that response or how we can actually work with that response so i’m gonna clean all this up and we saw that response.json gives us exactly what we want and that is a list of my projects so let’s call this variable my projects and now what i want to do with this is i want to print out in our window for each project project name and project url so basically the repository url for that project so i don’t want to have any other values like id or description or whatever other stuff i have in this dictionary i just want name and project url for every single project and i want that information printed out in this window so how do we do that we have a list so we’re gonna loop through that list to access each element inside that list so you remember we have for loop to loop through or iterate through a list and give us access to each element one at a time so here i’m going to write for loop and if you remember the syntax of for loop we have four and then a variable which will represent the single element in that list and in this case it’s going to be a project a single project and then we have in list so for project in my projects do something so for every project element in this my projects list we want to print out the name and the url so right here i will do print and let’s do our formatted string here and let’s start writing our message let’s do project name and the project name will be this one right here now how do we actually access the name of the project in each project element as you see here these project elements are actually dictionaries and how do we access a value in a dictionary using the name of the dictionary in this case our variable project so this whole thing is going to be saved into a variable called project and then on that variable on the dictionary we’re going to pass in the name of the key which is name now i’ve been using double quotes throughout our project and for a syntax for dictionaries as well like this right however here we have a small problem which is we have double quotes inside the double quotes but as you remember for string representation we can actually use single quotes as well as double quotes and this is one of the really important use cases for why we can actually use both single and double quotes for a string and that is if we have a string inside another string like right here we can actually use that interchangeably so that we don’t have this problem here so now as you see back to normal everything works because now python knows okay this is another string which we’re using inside this string so we can use these interchangeably as we want so this could be single quotes and this could be double quotes wouldn’t really matter but that’s a really good use case why we need both types of quotes so we have the project name now we need a project url and let’s see where the project url is in our dictionary this is one element one dictionary right so i’m gonna scroll it to the left and we have web url this is what we could use or we could also use http url to repo let’s go with the web url so again this is a key inside the dictionary so we can access the value so this is actually the value we need and we can access that using the dictionary name projects and the key name which is web url and this is actually project not projects and this code will now print name and url for each project so let’s actually execute our program and as you see we have project name and project url for each project we can make the output a little bit cleaner let’s do a new line here and a new line here so we can separate the projects from each other and run again and there you go this looks a little bit cleaner for each project we have a name and a url so if i click inside i’ll go directly to this project so that’s basically a very simple example of how to use requests module to talk to external applications or external urls and then do something with the response that we get from that external application by first converting that into an actual data type that we’re getting using json function so in our case it was a list and that’s why json function actually converted it into a list if the response was a dictionary instead of at least then json would convert it into a dictionary and then we can do something with that response value congratulations you made it till the end i hope you learned a lot and got some valuable knowledge from this course if you like the course please leave a thumbs up on this video on my channel i actually cover lots of different devops topics like docker ci cd terraform and more so be sure to check out my tutorials if you’re learning python to become a devops engineer i actually have a complete devops bootcamp with all the technologies you need to learn as a devops engineer which also includes a module for automation with python with several cool demo projects to automate some common devops tasks like application and server monitoring cloud automation tasks with aws jenkins etc so if you’re interested check out more info in the description also happy to connect with you on social media so i would love to see you there with that said thank you for watching and see you in the next video

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog

  • Iran International: Pahlavi, Ukraine Talks, and Economic Woes News 19-Feb-2025

    Iran International: Pahlavi, Ukraine Talks, and Economic Woes News 19-Feb-2025

    Iran International reports on a range of current events. A key focus is Prince Reza Pahlavi’s advocacy for action against the Islamic Republic at the UN Human Rights Council. The broadcast also covers US-Russia talks regarding the war in Ukraine, including potential normalization of relations and possible meetings between Putin and Trump. Economic issues within Iran are highlighted, particularly the impact of sanctions on oil sales and widespread inflation affecting Iranian citizens. The program further explores how the Iranian government spends its money. Finally, the report analyzes how Iranian oil exports work with sanctions in place.

    Iran International News Analysis Study Guide

    Quiz:

    Answer the following questions in 2-3 sentences each.

    1. What did Prince Reza Pahlavi say in his speech at the UN Human Rights Council in Geneva?
    2. What was the main purpose of the US-Russia talks held in Riyadh, Saudi Arabia, regarding the war in Ukraine?
    3. According to Marco Rubio, what topics will be of importance in the ongoing Ukrainian peace talks?
    4. What did the Director of the Center for Contemporary Iranian Studies in Russia suggest about the US-Russia talks?
    5. What is the significance of the past meetings between Donald Trump and Vladimir Putin, as discussed in the broadcast?
    6. What accusations did US intelligence agencies make after Donald Trump’s victory in the 2016 election?
    7. How has the high price of goods in Iran been reflected in Iranian social media?
    8. What is the Iranian government’s view on the austerity of its people?
    9. According to international reports, what has been the impact on Iran’s oil exports since the announcement of the Trump administration’s policy of maximum pressure?
    10. According to Mehdi Mozambi, how does China pay for the oil that it imports from Iran?

    Quiz Answer Key:

    1. Prince Reza Pahlavi stated that the time has come to take action to destroy the Islamic Republic and emphasized the Iranian people’s fight for freedom, justice, and human dignity. He also told those who want to silence or stand in the way of Iranian progress that Iranians will not wait for their approval.
    2. The US-Russia talks in Riyadh were ostensibly about ending the war in Ukraine but were, in fact, an opportunity for the two countries to improve bilateral relations, including the resumption of consulate operations.
    3. Marco Rubio indicated that future talks on peace in Ukraine would include discussions of territory and security guarantees. He said that European countries will join these talks at some point.
    4. The Director of the Center for Contemporary Iranian Studies in Russia suggested that the Ukraine issue was an excuse for the US and Russia to resume relations. He also claims that Trump intervened in the war because the U.S. would lose too much (the Middle East, Europe, and the dollar).
    5. The past meetings between Donald Trump and Vladimir Putin are significant because they highlight a complex and at times controversial relationship between the two leaders, characterized by both personal admiration and political tension. It was also mentioned that Trump may have had contact with Putin while no longer in office.
    6. After Donald Trump’s victory in the 2016 election, US intelligence agencies accused Russia of carrying out an organized cyber operation to influence the election in Trump’s favor.
    7. On Iranian social media, people are protesting against the Islamic Republic due to the rising costs of goods, expressing their frustration with the government’s indifference to the suffering of the Iranian people, and discussing the financial and living problems they are facing.
    8. Users on social media have stated that economic austerity is only for the people, but prosperity and growth budget is only for the government.
    9. Reports indicate a significant decrease of 40% in Iran’s oil exports to China since the announcement of the Trump administration’s policy of maximum pressure. This has caused turmoil in Iran’s economic situation.
    10. China does not give cash to Iran for oil; instead, payments are processed through the Central Bank of China in the form of Chinese goods or other issues.

    Essay Questions:

    1. Analyze Prince Reza Pahlavi’s speech at the UN Human Rights Council. What are the main arguments he presents, and what impact do you think his words have on the international community and the people of Iran?
    2. Discuss the complexities of the relationship between the United States and Russia, as reflected in the news coverage of the talks in Riyadh and the historical overview of meetings between Trump and Putin. How have these relations evolved, and what are the potential implications for global politics?
    3. Evaluate the economic challenges facing the Iranian people, as depicted through social media reactions and reports on oil exports. What are the primary drivers of these challenges, and how are they affecting daily life in Iran?
    4. Examine the role of international sanctions in shaping Iran’s oil exports and economic policies. How effective have these sanctions been, and what strategies has Iran adopted to circumvent them?
    5. Discuss the perspectives of the Iranian people on the relationship between domestic unity, political movements, and the role of leadership in shaping the future of Iran.

    Glossary of Key Terms:

    • Islamic Republic: The current ruling government and political system in Iran, established after the 1979 revolution.
    • Prince Reza Pahlavi: The son of the last Shah of Iran, and a prominent figure advocating for a transition to a democratic government in Iran.
    • UN Human Rights Council: An inter-governmental body within the United Nations system responsible for strengthening the promotion and protection of human rights around the globe.
    • Marco Rubio: A US Secretary of State involved in US-Russia talks related to the war in Ukraine.
    • Vladimir Putin: The President of Russia, a key figure in discussions regarding US-Russia relations and the war in Ukraine.
    • Donald Trump: Former President of the United States, known for his complex relationship with Vladimir Putin and his administration’s policies toward Iran.
    • Rial: The official currency of Iran.
    • Sanctions: Economic or political penalties imposed by one or more countries against a targeted country, group, or individual.
    • Bloomberg News: A major international news agency that provides financial news and information.
    • Iranian Broadcasting Corporation: The state-controlled media organization in Iran.

    Iran International News: Opposition, Economy, and Global Relations

    Okay, here’s a briefing document summarizing the key themes and ideas from the provided text.

    Briefing Document: Iran International News Excerpts

    Date: October 26, 2023 (Assuming current date based on the nature of news)

    Source: Excerpts from Iran International broadcast.

    Main Themes:

    • Iranian Opposition and Regime Overthrow: A central theme revolves around calls for the overthrow of the Islamic Republic of Iran and the role of opposition figures, particularly Prince Reza Pahlavi.
    • Human Rights Concerns: The broadcast highlights human rights violations within Iran, focusing on suppression of protests, political prisoners, and the lack of political freedom.
    • US-Russia Relations and Ukraine: The excerpts cover US-Russia talks regarding the war in Ukraine, including potential normalization of relations and a possible meeting between Putin and Trump.
    • Economic Crisis in Iran: The news highlights the severe economic situation in Iran, characterized by high inflation, a collapsing rial, and the impact of US sanctions on oil exports.
    • Iranian Oil Exports and Sanctions Evasion: The broadcast discusses Iran’s efforts to export oil despite US sanctions, including using smaller Chinese ports and potential illicit activities.

    Detailed Breakdown:

    1. Iranian Opposition and Regime Overthrow

    • Prince Reza Pahlavi’s statements: Prince Reza Pahlavi is a major focus, with his speech at the UN Human Rights Council in Geneva highlighted. He argues for decisive action to “destroy the Islamic Republic.” He states, “The time has come to take action to destroy the Islamic Republic.” He emphasizes the regime’s corruption, dismantled “axis of resistance,” and destroyed internal legitimacy as reasons for immediate action. He asserts that Iranians are fighting not only for themselves but for “the values of freedom, justice, and human dignity.”
    • Call for international partnership: Pahlavi says to those “who want to silence us or stand in our way, we will not ask for your green light. We will not wait for your green light…Our question is, will you stand with us?” showing a clear push for international support beyond sympathy.
    • Geneva Summit: The broadcast covers a summit for human rights and democracy held in Geneva, coinciding with the UN Human Rights Council. The summit focuses on human rights violations and the struggles for freedom and democracy in Iran. Activists like Farnoush Tabatabaei emphasize the importance of unity and being “the voice of the silent ones.”
    • Emphasis on Unity: Speakers emphasize the need for unity among Iranians, both inside and outside the country, to achieve regime change and restore human rights. There is a call for different political spectrums to unite.

    2. Human Rights Concerns

    • Suppression of Protests and Political Prisoners: The Geneva summit is presented as a platform to discuss the suppression of protests, the situation of political prisoners, and the future of democracy in Iran.
    • Focus on specific issues: The broadcast mentions a panel on the “Islamic Republic’s brutal treatment of protesters.”
    • Historical Context: An activist references the “oppression and lack of political freedom” that Iranians have suffered for 46 years.

    3. US-Russia Relations and Ukraine

    • US-Russia Talks in Riyadh: The broadcast covers talks between US and Russian officials in Riyadh, Saudi Arabia, ostensibly focused on ending the war in Ukraine. The talks are also framed as an opportunity to improve US-Russia relations.
    • Normalization of Relations: Marco Rubio is cited as announcing Washington and Moscow’s decision to normalize relations between the two countries.
    • Potential Putin-Trump Meeting: The talks are seen as potentially paving the way for a meeting between Vladimir Putin and Donald Trump.
    • Ukraine Concerns: Zelensky criticizes any talks on Ukraine that do not involve Ukrainians. The EU also has differing interest in the war.
    • Trump’s View: Trump believed that he had to intervene to prevent the issue of war. Because if this continues, after a few more years, Russia will win.

    4. Economic Crisis in Iran

    • High Inflation and Collapsing Rial: The broadcast emphasizes the severe economic hardship faced by Iranians, linking it to high inflation and the declining value of the rial. Users on social media express their struggles and criticize the government’s indifference.
    • Impact of US Sanctions: The report highlights the impact of US sanctions on Iran’s oil revenues.
    • Austerity for the People, Prosperity for the Government: A user criticizes the government, claiming that “austerity is for the people, but wasteful spending is for the government.”
    • Low Salaries: There is commentary and criticism of the low salaries being set for employees and retirees. One user states this amount is “not even enough to buy Eid fruits.”

    5. Iranian Oil Exports and Sanctions Evasion

    • Oil Export Decline: Reports indicate a significant decrease in Iran’s oil exports to China following the Trump administration’s policy of maximum pressure. “International reports indicate a 40% decrease in Iran’s oil exports to China in January.”
    • Discounts on Oil Sales: A member of Parliament’s Energy Commission confirms the “extensive discount on oil sales.”
    • Use of Small Chinese Ports: Bloomberg News is cited as reporting that Iran is sending oil to “small Chinese ports” to evade sanctions.
    • Sanctions Evasion Tactics: The report mentions that Iran uses tactics such as transferring oil between tankers and falsifying licenses to sell oil in the Chinese market.
    • Financial Ramifications: China is mentioned as not giving cash to Iran for its oil.
    • IRGC Involvement: There are allegations that children of IRGC commanders are involved in setting up offices in other countries to facilitate oil transfers.

    6. Trump-Putin Relationship History

    • Mutual Admiration: Before Trump’s presidency, both leaders had expressed admiration for each other. Putin called Trump a “brilliant” man.
    • Controversy over Election Interference: Trump has repeatedly denied Russia’s interference in the 2016 US presidential election, even contradicting US intelligence agencies.
    • Meetings and Closed-Door Talks: The report details previous meetings between Trump and Putin, highlighting controversial closed-door talks attended only by interpreters.
    • Sanctions Despite Admiration: Despite personal admiration for Putin, the Trump administration imposed extensive sanctions on Russia.
    • Continued Contact: It is alleged that Trump maintained contact with Putin even after leaving office, possibly through private phone calls.

    Overall Significance:

    The broadcast paints a picture of a complex geopolitical landscape involving Iran, the US, Russia, and Ukraine. It highlights the challenges faced by the Iranian people under the current regime, the ongoing efforts to address the war in Ukraine, and the intricate dynamics of US-Russia relations. The focus on Prince Reza Pahlavi and the Geneva summit suggests a continued emphasis on regime change in Iran and the promotion of human rights. The economic news underscores the severity of the crisis in Iran and the difficulties the country faces in navigating international sanctions.

    Global Affairs & Iranian Challenges: Key Discussions

    FAQ

    • What was the main focus of Prince Reza Pahlavi’s speech at the UN Human Rights Council in Geneva?
    • Prince Reza Pahlavi’s speech focused on the urgent need for action to dismantle the Islamic Republic, emphasizing that the Iranian people are fighting for universal values of freedom, justice, and human dignity. He called on the international community to partner with the Iranian people in their struggle, rather than waiting for permission or offering mere sympathy. He highlighted the regime’s corruption, dismantled “axis of resistance,” and destroyed internal legitimacy as reasons why now is the time to act. He said that the Islamic Republic seeks war with the world and will not stop until overthrown.
    • What was the purpose of the Geneva Summit mentioned in the broadcast?
    • The Geneva Summit was held to examine human rights violations and support the struggles for freedom and democracy, coinciding with the United Nations Human Rights Council. Activists, political figures, and victims of repression from around the world attended. Discussions focused on the suppression of protests, the situation of political prisoners, and the future of democracy in Iran, with Prince Reza Pahlavi being a key speaker.
    • What were the key topics discussed during the US-Russia talks held in Riyadh, Saudi Arabia?
    • The US-Russia talks in Riyadh centered on improving relations and addressing the war in Ukraine. Key topics included resuming bilateral relations and reopening consulates, which had been strained in recent years. Discussions about Ukraine involved potential negotiation frameworks, including territory and security guarantees, with the US emphasizing a search for lasting peace. While Ukraine was not directly involved, the US affirmed consultations with European partners, who are expected to join future talks, particularly regarding sanctions.
    • What is the significance of potential meetings between Vladimir Putin and Donald Trump?
    • Potential meetings between Putin and Trump are viewed as significant due to the complex and sometimes controversial relationship between the two leaders. They are seen as potentially easing global political tensions, particularly concerning the war in Ukraine. Some believe that Trump might intervene to prevent further escalation and protect US interests, potentially collaborating with Russia to establish stability.
    • What is the status of Iran’s oil exports, particularly to China, in light of US sanctions?
    • Despite US sanctions aimed at zeroing out Iran’s oil revenues, Iran continues to export oil to China, albeit with significant discounts. These exports often go through small, private Chinese ports after major ports refuse to handle sanctioned oil. Experts suggest that these private ports have limitations in handling large tankers. The financial benefits for Iran are marginal, with payments often made in Chinese goods rather than cash, highlighting the economic pressures the country faces.
    • How are high inflation and the collapse of the rial affecting the Iranian people?
    • High inflation and the collapse of the rial are causing significant economic hardship for the Iranian people. Users are lamenting the high prices of basic goods and criticizing the government’s indifference to their suffering. They contrast austerity measures imposed on the population with what they view as wasteful government spending on religious organizations and state media.
    • How have previous meetings between Trump and Putin shaped US-Russia relations?
    • Previous meetings between Trump and Putin have been marked by personal admiration and controversy. While Trump repeatedly praised Putin as a strong leader, these meetings have also drawn criticism due to Trump’s perceived willingness to accept Putin’s denials of Russian interference in US elections. Despite imposing sanctions on Russia for various actions, Trump maintained a connection with Putin, potentially seeking to return to power through these interactions.
    • What is the role of unity among Iranians, both inside and outside the country, in addressing Iran’s challenges?
    • Unity among Iranians is seen as essential for addressing the country’s challenges and achieving democracy and human rights. Activists emphasize the need for Iranians, both within Iran and abroad, to unite despite differing political views. Some believe unity is emerging within Iran, particularly within the Women’s Uprising for Freedom, and hope for similar unity among political factions outside the country to support the liberation of Iranian soil.

    Reza Pahlavi: Advocacy for Iranian Freedom and Democracy

    Prince Reza Pahlavi’s activities and statements are a prominent topic in the sources.

    Key aspects of Prince Reza Pahlavi’s activities and statements include:

    • Advocacy for Action Against the Islamic Republic: Prince Reza Pahlavi stated that the time has come to take action to destroy the Islamic Republic. He has been traveling in Europe, discussing the democratic ideals of Iranians with government leaders. He declared that those who seek to impede progress by demanding silence or obstructing the path forward will not be granted permission or be waited upon.
    • Speech at the UN Human Rights Council in Geneva: He gave a speech at the UN Human Rights Council in Geneva, addressing the suppression of protests, the situation of political prisoners, and the future of democracy in Iran. The speech was titled “Fight for the Freedom of Iran”.
    • Call for Unity and Partnership: He emphasized that the Iranian people are not asking for sympathy but for partnership. He has called for unity under his leadership.
    • Historical Context: It was mentioned that 2,500 years ago, Cyrus the Great wrote the Charter of Human Rights, and there is a desire to see the charter and human rights return to Iranian soil.
    • Impact of Geneva Conference: The Geneva conference is seen as a platform for Iranians abroad to voice the concerns of those oppressed in Iran.
    • Views on the Islamic Republic: Prince Reza Pahlavi believes that the creations of the Islamic Republic will only disappear with the destruction and overthrow of the regime, which he sees as more corrupt than ever with its axis of resistance dismantled and internal legitimacy destroyed. He views the regime as seeking war with the world.
    • Support and Emotion: His speech in Geneva evoked strong emotions, with many attendees, including non-Iranians, expressing tears and solidarity.
    • Role as Leader: Some consider it a national and patriotic duty to support Prince Reza Pahlavi as the leader of the national movement.
    • Reactions to Economic Issues: Prince Reza Pahlavi’s statements coincided with discussions about high inflation and economic difficulties in Iran, with users on social media expressing discontent with the government’s handling of the economy.

    US-Russia Talks on Ukraine: Normalization and Future Negotiations

    The sources discuss US-Russia talks, particularly in the context of the war in Ukraine and broader relations between the two countries.

    Key points regarding the US-Russia talks include:

    • Normalization of Relations: Marco Rubio announced Washington and Moscow’s decision to normalize relations between the two countries. A significant step towards this normalization is the potential reopening of consulates in each country.
    • Talks in Riyadh: US and Russian officials met in Riyadh, Saudi Arabia, to discuss ending the war in Ukraine. These talks are viewed as an opportunity for the two sides to improve their relations.
    • US and Russian Representatives: Sergei Lavrov and an aide to Vladimir Putin represented Russia, while Marco Rubio and Steve Jobs, Trump’s special envoy for the Middle East, represented the US.
    • Future Negotiations: Two teams are expected to be formed by the United States and Russia to advance future negotiations.
    • Key Issues: Discussions about territory and security guarantees are expected to be important issues in future peace talks regarding Ukraine.
    • European Involvement: While there was concern that European countries were being sidelined, the White House National Security Advisor indicated that they are constantly consulting and discussing with European officials and that European countries will eventually join the talks, especially since they imposed some of the sanctions.
    • Russian Perspective: Lavrov stated that Russia will not accept European forces in Ukraine under any flag.
    • Potential Meeting Between Putin and Trump: These talks are seen as potentially paving the way for a meeting between Vladimir Putin and Donald Trump to discuss the Ukraine issue.
    • Trump’s View: According to Rajab Safarov, Trump felt he had to intervene to prevent the issue of war because if it continued, Russia would win, the European Union would be destroyed, and the dollar itself would be at risk.
    • Ukraine’s Stance: Volodymyr Zelensky has criticized talks on Ukraine that do not involve Ukrainians.
    • Importance of Dialogue: The beginning of the US-Russia dialogue is considered important, especially after approaching confrontation and war.
    • Overall Significance: The fate of the international community and the issue of global political escalation depends on the US and Russia.
    • Previous Meetings: The history of meetings between Putin and Trump reveals a complex relationship, marked by both cooperation and controversy. Despite tensions and sanctions imposed by the Trump administration on Russia, Trump maintained a personal connection with Putin.

    Iranian Oil Sales Under US Sanctions

    The sources discuss Iranian oil sales, particularly in light of US sanctions and their impact on the Iranian economy.

    Key aspects of Iranian oil sales discussed in the sources:

    • Impact of US Sanctions: The Trump administration’s policy of maximum pressure on the Islamic Republic and aiming to reduce Iran’s oil revenues to zero has led to a decrease in Iran’s oil exports. In January, international reports indicated a 40% decrease in Iran’s oil exports to China.
    • Discounts on Oil Sales: A member of the Parliament’s Energy Commission, Mohammad Bahrami, emphasized the continuation of discounts for oil sales, which has caused turmoil in the country’s economic situation. Sanctions mean that Iranian oil cannot follow its normal routine and will definitely be discounted, possibly more than before.
    • Destinations for Iranian Oil: Due to US sanctions, the Islamic Republic is sending oil to small Chinese ports. Bloomberg News reported that private terminals in some small Chinese ports have become new destinations for oil purchased from Iran and Russia after China’s major ports refused to deliver it.
    • Limitations of Small Ports: These small, private ports can only handle a limited amount of oil, around 700,000 to 800,000 barrels per day, and cannot accommodate larger tankers. Tankers under US sanctions are limited to these private ports.
    • Circumventing Sanctions: These private ports may be involved in fraudulent activities, such as changing licenses to sell the oil to the Chinese domestic market, similar to what was done in Malaysia and the UAE before.
    • Financial Aspects: The financial return to Iran from these oil exports has always been marginal. China does not provide cash to Iran but instead provides goods or other items through the Central Bank of China.
    • Role of IRGC Commanders’ Children: Some children of IRGC commanders have reportedly set up offices in Malaysia, Indonesia, and the UAE to facilitate oil transfers, including transferring oil from tanker to tanker.
    • Economic Pressure: The situation with oil sales puts more pressure on Iran’s economy. The psychological atmosphere created by these conditions also has a negative impact, and domestic brokers may exacerbate this pressure.

    Iran’s Economy: Sanctions, Inflation, and Government Policies

    The sources discuss the economic conditions in Iran, focusing on the impact of sanctions, inflation, and the government’s handling of the economic situation.

    Key points regarding the economic conditions in Iran:

    • High Inflation and Falling Rial Value: Iran is experiencing high inflation and a falling rial value, which are worsening daily and having a significant impact on social media. Citizens are expressing concerns about the bad economic situation and the financial problems they face daily, with some protesting against the Islamic Republic.
    • Austerity for the People, Prosperity for the Government: Users claim that austerity measures are primarily affecting the people, while the government maintains prosperity and growth in its budget.
    • Rising Prices: The prices of everyday goods, such as tea, have become very expensive.
    • Salaries and Wages: There are discussions and criticisms regarding the salaries set for employees and retirees, with some users joking that the government should not “break its back” over these amounts. Some users emphasize that the set amount is not even enough to buy basic goods.
    • Workers’ Wage Determination Committee: A journalist noted the existence of the Workers’ Wage Determination Committee, which determines workers’ livelihoods annually. There is a sentiment that the salaries and wages are becoming less and less valuable over time.
    • Government Spending Priorities: Amidst the economic difficulties, criticisms are raised regarding the government’s budget allocations to various entities such as the prayer headquarters, the Iranian Broadcasting Corporation, the Islamic Propaganda Organization, and the Revival Headquarters, while employees and retirees receive what is considered a “shameful amount” under the pretext of a lack of budget.
    • Impact of US Sanctions on Oil Sales: The Trump administration’s policy of maximum pressure and aiming to reduce Iran’s oil revenues to zero has led to a decrease in Iran’s oil exports. International reports indicated a 40% decrease in Iran’s oil exports to China in January.
    • Discounts on Oil Sales: Due to sanctions, Iranian oil sales are subject to discounts, which has caused turmoil in the country’s economic situation. The fact that Iranian oil cannot follow its normal routine due to sanctions means it will be discounted, possibly more than before.
    • Destinations for Iranian Oil: The Islamic Republic is sending oil to small, private ports in China after major ports refused to deliver it due to US sanctions. However, these ports have limitations in terms of the volume of oil they can handle.
    • Circumventing Sanctions: There are reports of fraudulent activities at these private ports, such as changing licenses to sell the oil to the Chinese domestic market.
    • Financial Aspects of Oil Exports: The financial return to Iran from these oil exports has always been marginal, with China providing goods or other items through the Central Bank of China instead of cash.
    • Role of IRGC Commanders’ Children: Some children of IRGC commanders are allegedly involved in facilitating oil transfers through offices set up in countries like Malaysia, Indonesia, and the UAE.
    • Overall Economic Pressure: The issues surrounding oil sales are adding to the pressure on Iran’s economy.

    Iran: Economic Crisis Under Sanctions

    The sources discuss the economic conditions in Iran, highlighting the impact of sanctions, inflation, and governmental policies on the populace.

    Key points on Iran’s economic conditions:

    • Inflation and Currency Depreciation: Iran faces high inflation and a devaluing rial, leading to widespread concern and discontent.
    • Austerity Measures: Citizens report that austerity measures disproportionately affect the people, while the government maintains a prosperous budget.
    • Rising Costs: The prices of essential goods like tea have become prohibitively expensive.
    • Wage Issues: There’s criticism concerning the insufficient salaries for employees and retirees. The Workers’ Wage Determination Committee is seen as ineffectual, with wages decreasing in value over time.
    • Government Spending: Critics point out the government’s allocation of funds to entities like prayer headquarters and broadcasting corporations, contrasting it with the “shameful amount” allocated to employees and retirees.
    • Impact of US Sanctions on Oil Sales: The Trump administration’s “maximum pressure” policy aimed at reducing Iran’s oil revenues has resulted in a decline in oil exports. January saw a reported 40% decrease in oil exports to China.
    • Oil Sale Discounts: Due to sanctions, Iranian oil sales are subject to discounts, causing economic disruption. The restrictions prevent normal oil sales and lead to further discounting.
    • Oil Destinations: Iran is using small, private ports in China to circumvent sanctions after major ports declined to handle Iranian oil. However, these ports have limited capacity.
    • Circumventing Sanctions: Reports suggest fraudulent activities at these private ports, like altering licenses to sell oil domestically in China.
    • Oil Export Finances: The financial returns from oil exports are marginal, with China often providing goods instead of cash via its central bank.
    • Role of IRGC: Individuals connected to the Islamic Revolutionary Guard Corps (IRGC) are allegedly involved in managing oil transfers through entities in countries such as Malaysia, Indonesia, and the UAE.
    • Economic Pressure: The oil sales situation is compounding the pressure on Iran’s economy.

    Human Rights in Iran: Voices and Struggles

    The sources discuss human rights in Iran, particularly in the context of the Iranian government’s actions and the efforts of activists and political figures to address these issues.

    Key aspects of the human rights situation in Iran, as highlighted in the sources:

    • Suppression of Protests: There is mention of the suppression of protests in Iran and the situation of political prisoners. Prince Reza Pahlavi, along with other Iranian activists, spoke about the suppression of protests, the situation of political prisoners, and the future of democracy in Iran at the Geneva Summit.
    • Human Rights Violations: The summit in Geneva coincided with the United Nations Human Rights Council and was held to examine human rights violations and people’s struggles for freedom and democracy.
    • Prince Reza Pahlavi’s Speech: Prince Reza Pahlavi addressed the UN Human Rights Council in Geneva, stating that the time has come to take action to destroy the Islamic Republic. He emphasized that the Iranian people are fighting for freedom, justice, and human dignity. He also stated that the Iranian people are not asking for sympathy but for partnership in their struggle.
    • Role of Iranian Activists: Iranian activists abroad are working to be the voice of the Iranian people and to address the oppression of their compatriots.
    • Summit for Human Rights and Democracy: The Geneva Summit is for human rights and democracy and includes activists, political figures, and victims of repression from around the world.
    • Garik Kasparov’s Speech: Chess player and political activist Garik Kasparov spoke about the unity of human rights activists around the world against dictatorships. He emphasized the need to unite efforts to fight dictators.
    • Empty Chair for Ahmad Reza Jalali: An empty chair was dedicated to the memory of Ahmad Reza Jalali, a dual-citizen prisoner in the prisons of the Islamic Republic of Iran.
    • Charter of Human Rights: There is a reference to Cyrus the Great’s Charter of Human Rights and the hope that it will return to Iranian soil. The focus was on the return of human rights to Iran, with emphasis on the freedoms of Iranian girls and women and the plight of fathers in prison and children who have lost their lives.
    • Panel on Brutal Treatment of Protesters: A panel was held on the Islamic Republic’s brutal treatment of protesters, moderated by Nazanin Afshin Jam.
    اخبار شبانگاهی، سه‌شنبه ۳۰ بهمن

    The Original Text

    Hello, good time, viewers of Iran International from the London studio. You are Tel Naz Khameh. Headlines. Those who want to shut us down or stand in our way, I tell them, we will not ask for your green light. We will not wait for your green light. Speech by Prince Reza Pahlavi at the UN Human Rights Council in Geneva. Prince Reza Pahlavi says that the time has come to take action to destroy the Islamic Republic. The end of the first round of US- Russia talks on ending the war in Ukraine. Marco Rubio announced the decision of Washington and Moscow to normalize relations between the two countries. In the appendix, we look at previous meetings between the leaders of Russia and the US. Previous meetings of Putin and Trump and the achievements they had. Of course, whenever our oil is under sanctions and it cannot follow its normal routine, it will definitely be discounted. A member of parliament’s account of the extensive discount on oil sales was also reported by Bloomberg News. Following US sanctions, the Islamic Republic sends oil to small Chinese ports. Reflecting the high inflation and the collapse of the rial, users say that austerity is for the people, and prosperity and growth Budget for the government Also in this news section, Esteghlal’s fateful confrontation with Qatar’s Ryan in the Asian Elite League, only one team from the Reds, Saudi Arabia, is playing. Welcome to the Geneva Summit today. We see live images from this summit. This summit for human rights and democracy is being held today with the presence of activists, political figures, and victims of repression from all over the world. This summit, which coincides with the United Nations Human Rights Council, examines human rights violations and people’s struggles for freedom and democracy. Prince Reza Pahlavi was one of the main speakers at this summit and, along with other Iranian activists, spoke about the suppression of protests, the suppression of protests, the situation of political prisoners, and the future of democracy in Iran. We will see together that these are all consequences of a regime that plunders its own country instead of governing it. But whatever the Islamic Republic has created will only disappear with the destruction and overthrow of this regime. Today, we have a historic opportunity. The regime is more corrupt than ever. Its axis of resistance has been dismantled and its internal legitimacy has been destroyed. Now is the time to act. The Iranian people are not only fighting for themselves, but for the values ​​of freedom, justice, and They are fighting for human dignity. This is not just a matter of the survival of my nation. It is also a matter of global stability and global peace. Because, as we witnessed this past week, from terrorist attacks to hostage-taking, the Islamic Republic, despite its lip service in Davos and its demand for a new agreement, is still seeking war with the world and will not stop until it is overthrown. I have been traveling in Europe for the past two weeks and have spoken with government leaders. I know from various parties that Iranians and their democratic ideals have many friends in Europe and the world. But I tell those who want to silence us or stand in our way, we will not ask for your green light. We will not wait for your green light. The Iranian people are not asking for your sympathy. They are asking for your partnership. Our question is, will you stand with us? Thank you. Farnoush Tabatabaei, an activist of the Islamic Revolution, says about the impact of the Geneva conference on the struggles of the Iranian people. In these 46 years, the people have suffered oppression and lacked political freedom. But today, Iranians abroad can hear the voice of the Iranian people speaking with unity. It is from Iran and oppression of our compatriots is our national and patriotic duty, as the leader of our national movement, Reza Shah II, declared and we elected him. For this leadership, we know it is our duty to always and everywhere be present where human rights and the rights of the Iranian people are discussed and try to be the voice of the silent ones. Look, Mr. Abbassian, I have been forced to emigrate for many years because of what happened in Iran in 1979. I lost my homeland, I lost my people, I lost my culture, but I tried to carry all these things in my heart with me until the day when we return the leader of our national movement to Iran, we will return our own life to Iran. And of course, these movements, although we still have shortcomings and shortcomings, we must practice democracy. We must respect all the movements that are active and the only way to save Iran is unity under the leadership of Reza Shah II. We will join my colleague Mehran Abbassian from the meeting in Geneva. Mehran is The 17th round of this summit, tell us more about the programs of this period. First, the Tenz actually had two parts. The morning part and the afternoon part. The morning part began with a speech by Garik Kasparov, a chess player and political activist who opposed the Putin regime. Garik Kasparov mostly talked about the unity of human rights activists around the world against dictatorships. He said that we should put the tests together so that we can better fight dictators. In the morning part, an empty chair was dedicated to the memory of Ahmad Reza Jalali. His name was mentioned as a dual-citizen prisoner in the prisons of the Islamic Republic of Iran. The afternoon part was dedicated to Iran. You broadcast the speech of Prince Reza Pahlavi. The name of this speech was “Fight for the Freedom of Iran.” Most of those who came to the Tenz hall were Iranians who came from all over the world to support the movements in Iran and Prince Reza Pahlavi in ​​Geneva. Many did not find the opportunity to go inside the hall because more Iranians had actually come here than the hall could accommodate. Many were taken to the side halls. That they can see there by video conference. Well, now the voices that you hear inside the lobby, actually outside the main hall, Iranians have found each other and are actually engaged in political discussions. They are talking about the women’s movement, you have given them a free life, and there is Mr. Babak Karim Khan Zand next to me on other issues. I want to point out this, Mr. Babak, were you in the hall? What was new in Prince Reza Pahlavi’s speech? And how much do you think such a meeting can bring the people of Iran to a democracy and human rights? Peace be upon you. The beauty of this meeting today was that it was not about politics, it was about the return of human rights to our homeland. 2,500 years ago, Cyrus the Great wrote the Charter of Human Rights, and today we are witnessing that the Charter of Cyrus and human rights are going to return to Iranian soil again. We all heard the prince’s speech. Everyone cried because he spoke from the hearts of his people. Today, it was not about who or what kind of government is going to be established in Iran. Rather, the voices of the Iranian people were going to be heard today from the hearts of the people. He spoke about the freedoms of Iranian girls and women. He spoke about freedom and They told of the torture of fathers who are in prison today, children who lost their lives, and we saw these tears in the eyes of non-Iranians who realized what is happening in our homeland today. Our conversation is not about politics, today is about the heart, love, and freedom that we hope will return to our homeland soon. The beautiful message of the prince, because today is the time for action, was very beautiful. Be very brief. In part of their conversation, they referred to the unity that emerged between the Iranian people and the Iranian protesters in the Women’s Uprising for Freedom. Do you think such a unity will emerge between different political spectrums to hold rallies outside Iran? I don’t know about outside the country, but I know that inside Iran, people’s hearts are with all people. Those outside Iran whose hearts truly beat for the Iranian people and for the liberation of the Iranian soil must have this duty to sit together. Maybe you and I have different opinions, but we shake hands, kiss, and say that we are happy to see you. I hope so. Political parties should also reach this conclusion. In order to reach and return to Iranian soil, we need to be together. Thank you very much. Well, there is only one panel being held right now. It is called the Islamic Republic’s brutal treatment of protesters. Nazanin Afshin Jam is the moderator of this panel. Five of those affected by the Yazidi Women’s Uprising are participating in this panel. Thank you for Mehran Abbassian’s report from the meeting in Geneva and also for the guests we had. US and Russian officials concluded the Ukrainian peace talks in Saudi Arabia, which began this morning. Russian Foreign Minister Sergei Lavrov and Vladimir Putin’s aide arrived in Riyadh yesterday to conduct these talks. US Secretary of State Marco Rubio and Steve Jobs, Trump’s special envoy for the Middle East, are also representatives of the US government who traveled to the Saudi capital to conduct these talks. The talks between senior US and Russian officials in Riyadh, the capital of Saudi Arabia, ended while the Russian presidential aide said that the talks on the Ukrainian issue would begin at the appropriate time and with Vladimir Putin’s decision. He pointed out the need The US-Russia cooperation said that separate teams of negotiators are ready for this issue, but it is difficult to set a specific date for the leaders of the two countries to meet. We will join my colleague Niloufar Pour- Ebrahim from Paris. Niloufar, the Riyadh talks have ended. Tell us more about what was mentioned in these talks. We can say that in general, these talks were more than related to Ukraine itself, an opportunity for the two sides to talk, Russia and the United States, to improve their relations. For example, one of the most important things that they say is the way to emphasize and reach an agreement is to resume bilateral relations and in this context, the consulates of both countries should be opened. We know that in recent years, for various reasons, diplomats from both sides have actually either recalled or expelled their diplomats from the country. For example, the United States expelled Russian diplomats and then the United States diplomats were expelled from Russia. So one of the most important things is this. And then the discussion related to the Ukraine talks is that Volodymyr Zelensky from He has strongly criticized Vladimir Zelensky, who is currently in Turkey and is meeting with Erdogan, and has indicated that he will not accept talks on Ukraine that do not involve Ukrainians, as well as his trip to Saudi Arabia, which was scheduled to take place tomorrow. In addition, two teams are to be formed from the United States and Russia to advance future negotiations. US Secretary of State Marco Rubio has indicated that the discussion of territory and security guarantees will be among the important issues of future talks on peace in Ukraine. He has indicated that their discussion is not a short stop, but rather a search for lasting peace, something that European countries have expressed concern about. On the other hand, the US team was asked about the role of European countries. Regarding the criticism that they were sidelined, the White House National Security Advisor pointed out that they were not sidelined, that they are constantly consulting and discussing with European officials. He referred to Donald Trump’s conversation yesterday and said that these talks are like the shuttle diplomacy talks or The round-trip talks that are held in different places, but he did not mention the fact that usually in the diplomacy shuttle, both negotiating groups are present in the same region. Ukraine is not present here. Another issue that I talked about, Marco Rubio mentioned that European countries will join these talks at some point. They must join because the sanctions must be lifted. Some of these sanctions were imposed by the Europeans. Lavrov also mentioned various issues, including that Russia will not and will not accept that European forces will be present in Ukraine under any flag. Thank you for your explanation, Niloufar Pour-Ebrahim, my colleague from Paris. While you were talking, we were still seeing live images of the speech of Vladimir Zelensky, who had a meeting with Erdogan. We will continue this discussion with Rajab Safou, the director of the Center for Contemporary Iranian Studies in Russia. Mr. Safou. Do you think this meeting will cause a change in Russian-American relations? Look, the whole world now thinks that this important issue that is currently in the world, the issue of Ukraine, is really part of the main cooperation program or The talks between Russia and the US are fine, but in principle, the US and Russia have reached a point where they must have these talks, and these talks are essentially an excuse for Ukraine. It is true that it is an important issue, but relations and the resumption of relations between the two countries are the most important agenda of this meeting. This meeting, which ended in Saudi Arabia, is preparing the ground for Mr. Putin’s meeting with Mr. Trump, which is a very important development in itself. Certainly, what is happening now is a very important area, a very important event in the international community, because the fate of the international community and the issue of global political escalation really depends on the US and Russia. So what happened in Riyadh is the first step, but this issue is so complicated. The second issue, which is Ukraine, is so complicated that it really cannot be said that it has come to a conclusion now. The important thing is that the dialogue, that is, the US-Russia dialogue, began, and this was the last straw when they were approaching confrontation and war. Mr. Trump felt that he had to do something immediately to prevent the issue of war. Because if this continues, after a few more years, Russia will win. The European Union will be completely destroyed. Therefore, what is very clear is that Mr. Trump understood that if he does not intervene now, he will lose Europe, the Middle East, the entire world, and the dollar itself in the international settlement. Therefore, he came to the fore very, very quickly to prevent this from happening. He did not even look at the European Union and Ukraine, and the rival he had in the international community, which for three years was almost the main rival, today can be a partner in the US strategy in resolving and establishing stability in the international community. How likely is it that these negotiations will help end the war between Ukraine and Russia? I do not think that this war, at least the first part, the main part, the warm part, as they say, can be ended with one voice and one speech, because it can really be said that the European Union has its own interests here. The European Union is not willing to end the war in any way, because if they end this war now, this is the loss of all of Europe, the West, and the Western world. And America will be the master. So the Western world, with America as its master, has spent more than a trillion dollars here and wants to really beat Russia and shut it up. But if this continues and the war ends, this is a declaration of victory for Russia, which can change the fate of today’s political actors, destroy the European Union, lower its influence, because the European Union can’t do anything right now to solve the Ukraine issue. So what is the message of these negotiations for the Islamic Republic, which is not willing to negotiate with America now? See, this is a clear example that we need to negotiate. We need to have face-to-face policies. In any case, they can be successful to some extent and talk about the independence of countries and allow countries to prepare themselves for greater resistance or for the future war. But in the matter of fact, in today’s global political composition, leaders should come to the fore who are ready to negotiate, to be ready to negotiate, to at least some extent, to protect the interests of other countries. Tolerating and tolerating some things, I don’t know how far Mr. Putin can tolerate some of himself turning things to the West, but as far as I know, if it is possible, Russia’s interests will be preserved to the end, both for Iran and for the Islamic Republic of Iran. The fact that this scene that is taking place in Riyadh now, and perhaps the meeting will bring Mr. Putin and Mr. Trump, is a good thing. Excuse me, Mr. Ambassadors. Time is up. Thank you for your presence. Rajab Safarov, Director of the Center for Contemporary Iran Studies in Russia. One of the goals of the secret talks is to pave the way for a possible meeting between Vladimir Putin and Donald Trump to discuss the Ukraine issue. This will not be the first time that the presidents of Russia and the United States have met. In today’s episode, Berdia Afshin looks at previous meetings between Putin and Trump and their [musical] results. Before Donald Trump entered the political arena, long before he became president, he was interested in investing in Russia since the late 1980s. Trump’s relationship with Russia is very complex and very controversial, but let’s look at the relationship between the US president and the US president. Donald Trump’s relationship with Vladimir Putin, a man who has held power in Russia for more than a century, is not easy to analyze. These images are from the last face-to- face meeting between Trump and Putin in 2019, on the sidelines of the G20 summit in Osaka, Japan, during Trump’s first term as president. Since then, many things have changed, including Russia’s invasion of Ukraine and the tense relationship between Moscow and Washington that has become much darker than before. However, the relationship between the two men has not been as cold as the Russian-American relationship. At times, it has even been very personal and very sincere. Before Donald Trump came to power in the United States, Vladimir Putin had called the American leader a “[ __ ],” a man who, according to Putin, was passionate and a very talented man. Trump also said that he was honored to be praised in this way by someone who is highly respected in his own country and abroad. He said that Putin. During the 2016 election campaign, Trump repeatedly brought up Vladimir Putin and called him a strong leader, which had caused many concerns in the United States because They see Putin as an autocratic leader and say that Donald Trump ignored this. Of course, Trump said that the United States could have better relations with Russia under his leadership. Following Donald Trump’s victory in the 2016 US presidential election and his Democratic rival Hillary Clinton, US intelligence agencies announced that Russia had carried out an organized cyber operation to influence the outcome of the election in Trump’s favor. Interestingly, since then, Trump has not only always denied this, but has repeatedly said that he believes Putin, not US security officials, that Putin said he did not do this. So let’s look at the meetings between the two, which have repeatedly mentioned this issue. Trump and Putin met for the first time on the sidelines of the G20 summit in Hamburg, Germany in 2017. It was an opportunity to talk about issues such as Syria and Ukraine. After the two-hour meeting, Trump told him that he should give him the interpreter’s notes and ordered the interpreter not to reveal what he had heard to anyone. Later that night, at a dinner party, Trump sat next to Putin’s chair to talk to him. There were no American witnesses with Trump, which made many in the United States wonder what Trump was talking about with Putin. That same year, in 2017, at the Asia-Pacific Economic Cooperation summit in Vietnam, the two men had another chance to meet. It wasn’t an official bilateral meeting, but during the summit in Vietnam, they had a brief conversation. At the end of the meeting, they issued a joint statement on Syria, which emphasized the two countries’ commitment to defeating ISIS. Despite the widespread tensions between Washington and Moscow, the statement was important and showed that the two countries wanted to take joint action in areas of cooperation. But the images we saw were from the first official bilateral meeting between Vladimir Putin and Donald Trump in July 2018 in Helsinki, the capital of Norway. A high-profile meeting that attracted global attention was highly controversial. During the Helsinki summit, Trump and Putin held a private one-on-one meeting, attended only by interpreters. And then, after holding a joint press conference like this, Trump said after the meeting that Moscow-Washington relations had never been this bad before. However, Trump believed that he really believed that during this 4-hour meeting, the state of Moscow-Washington relations had changed. As I said, this meeting was very controversial in 2018 because Trump again seemed to agree with Putin and deny Russian interference in the 2016 US presidential election, a claim that contradicted the findings of US intelligence forces. In November 2018, the White House announced that then-US President Donald Trump would not hold a previously planned meeting with Vladimir Putin on the sidelines of the G20 summit in Buenos Aires and that the meeting would not take place. Trump, who was dissatisfied with Russia’s actions in Ukraine, had canceled the meeting because he had made this decision while the Kremlin had still announced Putin’s readiness for this meeting and emphasized it. However, at the G20 summit in Osaka, Japan the following year, the leaders’ meeting on the sidelines of the summit in As we saw earlier, they met on the sidelines of the summit and discussed issues including Iran, Syria, Venezuela, and Ukraine. Of course, this meeting did not lead to any significant political change. However, despite personal admiration for Putin and the fact that at the 2019 G7 summit, Donald Trump officially called for Russia to be re-admitted to the G7 so that it would once again become the G8, the Trump administration imposed extensive sanctions on Russia due to Russia’s interference in the elections of other countries, including the United States, as well as the poisoning and assassination of their opponents. Although Trump’s critics say that the then US president was hesitant to implement these sanctions, as the 2020 US presidential election approached, Vladimir Putin distanced himself from Trump and accepted the possibility of his opponent Joe Biden winning. Putin told him that the men of Moscow would accept and work with any leader the American people elect. Of course, Putin even called Trump’s accusations against Biden that Joe Biden was pro-Russian completely unfounded. It goes without saying that during the time when Trump was not president, when Joe Biden was president, It seems that Trump has not cut off his contact with Putin. In this book, the famous journalist Bob Woodward’s new book titled War, it is mentioned that Trump may have made private calls with Putin several times during this period. This revelation could be interesting in that despite the many tensions between the United States and Russia, Trump has maintained this connection, maintained his interaction with world leaders, and perhaps his goal was to return to power. These images that we saw were of Donald Trump’s first phone call with Vladimir Putin during his first term as president. Now at least we know that these two men talked on the phone for 90 minutes during Donald Trump’s second term as president, and the possibility of their meeting is greater than ever. What will be the result of the closer relationship between the presidents of Russia and the United States? Will tensions decrease or will there be a change in this current tense situation? Which one determines the time? [Music] Bruger textile workers protested against the city’s governor’s failure to pay their salaries and demands. The workers say they have not received their salaries and insurance for months, and the authorities have not responded to their demands so far. They didn’t give [Music] [Music] You are still watching Iran International. Let’s take a look at the headlines again. Prince Reza Pahlavi’s speech at the UN Human Rights Council in Geneva. Prince Reza Pahlavi says it’s time to take action to destroy the Islamic Republic. The first round of US-Russia talks on ending the war in Ukraine ends. Marco Rubio announced Washington and Moscow’s decision to normalize relations between the two countries. My colleague Neshin Khani is here in the studios to review the reactions of users on the wrong networks. This time, let’s talk about the high price. Tell us more. Please. All the people living in Iran are in a big economic predicament. They don’t know how much the money in their pockets is worth to them today. They are talking about everything. Let’s talk about the living and economic conditions. Let’s do a part of them together. [Music] Inflation and inflation and the fall in the value of the rial, which are getting worse and worse every day, have had a lot of reflection on social media, and many citizens are writing about the bad economic situation, the financial and living problems that they are facing every day. They are struggling, they are protesting against the Islamic Republic. Users say that the Islamic Republic is indifferent to the suffering of the Iranian people. A user wrote, “Everything you buy has become expensive. God forbid. The price of a kilo of tea is 800,000 tomans.” He criticized the government and asked, “What’s the matter with you? Where are we going? You still don’t want to give up your illusions?” Another user criticized the authorities’ language, referring to severe inflation, and said that it seems that if instead of “expensive,” they said the problems would be solved. He continued that he wished they were as serious about reforming the economy as they were about changing the language. He emphasized that people’s tables will not be filled by changing new words. Ashkan reported on the living conditions and reported that you have to give up two months’ salary to put some meat in the freezer, especially if you bought the freezer before the sanctions and have had a house with a freezer in it. The author of this post says that people are spending money on meat and fish, but the government is not willing to spend money on the Iranian Broadcasting Corporation and seminaries. He believes that economic austerity is only for the people, but wasteful spending is for the government. But one Among the issues that many users are talking about is the amount of the salary set for the employees of the director and retirees. Ali Mizan wrote this salary and joked that the government should not break its back. At one time, he emphasized that this amount of money is not even enough to buy Eid fruits. A journalist wrote that we also have something called the Workers’ Wage Determination Committee, which every year during the Sabbath, the workers’ livelihood is determined. They consider one-fifth of whatever amount is made as the workers’ salary. This user recalled that years ago, salaries were given to each worker and employee equal to one month’s salary and continued that now the looters sitting on the treasury are slowly changing it, and every year salaries and salaries become less and less valuable. Of course, he wrote, “Shame on you.” Finally, this user wrote this reaction: While the government of the doctors has set the salary of employees and retirees at a shameful amount of 3 million tomans under the pretext of a lack of budget, the budget for the prayer headquarters is 330, the budget for the Iranian Broadcasting Corporation is 33, the Islamic Propaganda Organization is 28, and the Revival Headquarters is 24. The price of oil increased by 19, and I will continue to return to my colleague Tanaz. Thank you for your reading, my colleague. Here, with the announcement of the Trump administration’s policy of maximum pressure on the Islamic Republic and zeroing out Iran’s oil revenues, international reports indicate a 40% decrease in Iran’s oil exports to China in January. Mohammad Bahrami, a member of the Parliament’s Energy Commission, also emphasized the continuation of discounts for oil sales and said that the situation of oil sales has caused turmoil in the country’s economic situation. Certainly, whenever our oil is under sanctions and it cannot follow its normal routine, it will definitely be discounted, meaning that it will definitely be discounted more than it has been discounted so far. I don’t think so. I don’t think so, but like the previous routine, it will definitely be discounted. Well, don’t you think that this situation will put much more pressure on our economy than this. It will definitely affect it. After all, the psychological atmosphere it creates will affect us for a while. We will see that our conditions are not good for a long time, and our economic conditions are not good. They will affect it, and some domestic brokers will also double this pressure with special programs. In this regard, Bloomberg News reported in a report. He mentioned private terminals in some small Chinese ports as new destinations for oil purchased from Iran and Russia. According to this report, after China’s major ports refused to deliver Iranian and Russian oil, private terminals in the country’s small ports became destinations for sanctioned tankers. In this regard, we will join Mehdi Mozambi, an oil market expert from London. Mr. Mozambi, what is your assessment of these international reports about the decline in Iranian oil exports and especially the status of oil exports to China? Greetings to you and the viewers of this program. The first thing I can say is that this shows that you see that both Benberg reported this and Reuters both mentioned these news agencies. In addition, several news outlets or news sites, such as Energy Connect or First Price, have regularly made phone calls to the Schengen customs officials around China and asked to ask about this. This shows that in no way are these oil transfers out of sight and out of mind, and in any case, several different forums are looking at these. Well, from This idea ties the hands of the Chinese so that they can bypass the sanctions under their noses or somehow get around them. But the point is that these ports, as your report also said, are small ports. They are private ports. What they can do is that they cannot handle more than 700,000 to 800,000 barrels of oil per day. That is, they cannot handle such tankers. That is why there is some limitation. For the larger tankers that the Islamic Republic usually used, you see, these tankers are about 43 tankers that are under US sanctions. They cannot dock in regular Chinese ports or anywhere else. They cannot dock and are limited to these private ports. What they can do there is to change these licenses, that is, to do some fraud and write something new there and sell it to the Chinese domestic market as private ports. It can be said that they are doing the same thing that was done in Malaysia and the UAE before, bringing it into China, which somehow lowers the price for them. The financial part of oil exports by the Islamic Republic has always been marginal. How much money from oil exports actually returns to Iran? If we briefly look at it later, you can see what is happening. As I said earlier, some of the children of these IRGC commanders, like Shamkhani’s son, had set up offices in Malaysia, Indonesia, and the UAE. I think there was a certain amount of cooperation that was in our country. Their job was to come and go around and even go to places and transfer tankers to tankers. In any case, they would bring it down. Now, bringing it down lower. And you know that China does not give cash to Iran. Now, it will definitely give it to Russia, but it will not give it to Iran. And it does this through the Central Bank of China in the form of Chinese goods or other issues. They are giving it to Iran, and as a result, cash money will not be returned to Iran. Thank you for your explanations. Mehdi Moslehi, oil market expert from London. We have reached the end of this news section. Thank you for your support. This is my colleague Aydin.

    By Amjad Izhar
    Contact: amjad.izhar@gmail.com
    https://amjadizhar.blog