SlideShare a Scribd company logo
1 of 26
Communication
             Skills
                         in Programming




                                          By :
                                          Suhailan bin Dato’ Hj. Safei
                                          Faculty of Informatics

                                          suhailan@unisza.edu.my




suhailan@unisza.edu.my
Communications


        – The message (data and information) is communicated via the signal
        – The transmission medium “carries” the signal



                                      Transmission
                                      medium


                Sender            Signal                  Receiver




suhailan@unisza.edu.my
suhailan@unisza.edu.my
Communications in programming


                Sender                       Signal                      Receiver


                Keyboard, Mouse,                                       Notepad, Word, Pdf,
                Pendrive, Harddisk,                                    OS, Browser

                 Hardware             Send keyboard input to notepad    Software


                 Software                   Send pdf to printer         Hardware



                 Software                  Export MsWord to Pdf         Software




suhailan@unisza.edu.my
Types of Programming Communication

  •   Dynamic link library (DLL)
  •   Component Object Model (COM)
  •   ActiveX
  •   Windows Shell
  •   Text File
  •   Database
  •   Shared Memory
  •   Serial command – comm port, AT command
  •   Communication Protocol - TCP/IP, UDP, FTP, HTTP, POP3, etc.




                                                               5
suhailan@unisza.edu.my
Dynamic Link Library

  • A dynamic-link library (DLL) is a module that contains functions and data
    that can be used by another module (application or DLL).
  • A DLL can define two kinds of functions: exported and internal. The
    exported functions are intended to be called by other modules, as well as
    from within the DLL where they are defined. Internal functions are
    typically intended to be called only from within the DLL where they are
    defined. Although a DLL can export data, its data is generally used only by
    its functions. However, there is nothing to prevent another module from
    reading or writing that address.
  • DLLs provide a way to modularize applications so that their functionality
    can be updated and reused more easily. DLLs also help reduce memory
    overhead when several applications use the same functionality at the
    same time, because although each application receives its own copy of the
    DLL data, the applications share the DLL code.

  Source: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682589%28v=vs.85%29.aspx6

suhailan@unisza.edu.my
Create DLL




 Compile and save this file as “Example.dll”.


  Source : http://en.wikipedia.org/wiki/DLL
                                                7
suhailan@unisza.edu.my
Call DLL




  Source : http://en.wikipedia.org/wiki/DLL
                                              8
suhailan@unisza.edu.my
DLL for OCR

  • ASPIRE
     – Download “AspriseOCR.dll”
       (http://asprise.com/product/ocr/download.php?lang=vb)

  To call the DLL using VB…

  Private Declare Function OCR Lib "AspriseOCR.dll" (ByVal file
    As String, ByVal imageType As Long) As String
  Private Sub Command3_Click()
      Dim txt As String
      txt = OCR ("C:pic1.bmp", -1)
      MsgBox "The text are:" & txt
  End Sub


                                                        9
suhailan@unisza.edu.my
DLL Communication (PCI Card)




                                        10
suhailan@unisza.edu.my           www.vss.com.my
COM

  • Microsoft COM (Component Object Model) technology in the Microsoft
    Windows-family of Operating Systems enables software components to
    communicate. COM is used by developers to create re-usable software
    components, link components together to build applications, and take
    advantage of Windows services. COM objects can be created with a variety
    of programming languages. The family of COM technologies includes
    COM+, Distributed COM (DCOM) and ActiveX® Controls.
  • Microsoft provides COM interfaces for many Windows application
    programming interfaces such as Direct Show, Media Foundation,
    Packaging API, Windows Animation Manager, Windows Portable Devices,
    and Microsoft Active Directory (AD).
  • COM is used in applications such as the Microsoft Office Family of
    products. For example COM OLE technology allows Word documents to
    dynamically link to data in Excel spreadsheets and COM Automation
    allows users to build scripts in their applications to perform repetitive
    tasks or control one application from another.               11
suhailan@unisza.edu.my
COM




                         12
suhailan@unisza.edu.my
Using PHP to call COM

  <?php
   $excel_app = new COM("Excel.application") or die ("Did not connect");
   $excel_app->Application->Visible = 1; //Make Excel visible.
   $Workbook = $excel_app->Workbooks->Open("D:wampwwwtesttest.xlsx") or
     Die(“Failed");
   $Worksheet = $Workbook->Worksheets("Sheet1");
   $Worksheet->activate;
   echo $Worksheet->Range("A1")."-".$Worksheet->Range("B1")."<br>";
   echo $Worksheet->Range("A2")."-".$Worksheet->Range("B2")."<br>";
   $Workbook->Close;
   unset($Worksheet);
   unset($Workbook);
   $excel_app->Workbooks->Close();
   $excel_app->Quit();
   unset($excel_app);
   ?>

                                                                    13
suhailan@unisza.edu.my
ActiveX

  • ActiveX is a Microsoft-created technology that enables different software
    applications to share information and functionality. ActiveX only works on
    the Windows operating system. ActiveX and COM is same, as it was build
    under COM platform. The different is that ActiveX provides easier control
    graphical interface(running software component in your application).
  • ActiveX controls are mostly talked about in reference to Internet Explorer.
    You don't have to launch the Windows Media Player application
    separately to run a video clip on your browser.
  • Another common ActiveX control plays Flash files (.swf). Internet
    Explorer can't play Flash files by itself. That's something only the Adobe
    Flash Player can do. So Internet Explorer gives you the option of
    downloading and installing the Flash ActiveX Control. The Flash ActiveX
    Control automatically detects when a site contains Flash files. It then
    accesses the Flash player functionality at the operating system level and
    plays the files directly in the browser.
                                                               14
suhailan@unisza.edu.my
ActiveX Communication




                         Windows
                         Media Player

                                        15
suhailan@unisza.edu.my
ActiveX Communication

                                                   FITNewsTV application
                                                   - VideoLAN player activeX
                                                   running imported using
                                                   Borland C++ Builder




                      TCppWebBroswer – an             VLC Media Player
                    activeX of Internet Explorer
                                                             16
suhailan@unisza.edu.my
Serial Command

  • Connection to other hardware (computer, modem, printer,
    microcontroller, sensors) can be done using serial cable such as RS232
    (connection up to 15meter).




                                                              17
suhailan@unisza.edu.my
Serial Communication (Microcontroller)


                                                    RS232 cable


                                  microcontroller



    Temperature
    sensors for gas
    turbine

                    Display
                    temperature
                    value here



                                                                  18
suhailan@unisza.edu.my                                   www.vss.com.my
Serial Communication (UHF/Satellite)




                         RS232 cable




                                       Send message from
                                        ship to ship using
  very small aperture                        satellite
  terminal (VSAT)



                                                  19
suhailan@unisza.edu.my                   www.vss.com.my
Serial Communication (AT Command)


                 Water level sensor          AT Command
                                               to Modem
                                              (serial com)

                                  Landline          Display reservoir level
   microcontroller               Telephone
                                 (telekom)
             RS232




  Connected to
  microcontroller at
  site using modem


                                                             20
suhailan@unisza.edu.my                              www.vss.com.my
Windows Shell

  • The Windows UI provides users with access to a wide variety of objects
    necessary for running applications and managing the operating system.
    The most numerous and familiar of these objects are the folders and files
    that reside on computer disk drives.
  • There are also a number of virtual objects that allow the user to perform
    tasks such as sending files to remote printers or accessing the Recycle Bin.
    The Shell organizes these objects into a hierarchical namespace and
    provides users and applications with a consistent and efficient way to
    access and manage objects.
  • Eg.
     – ShellExecute – to execute a window executable file provided with their
        parameters
     – FindWindow – to get the handle of running software’s window/form
     – SetParent– set the window main handle to be controlled from your
        own application
                                                                21
suhailan@unisza.edu.my
Windows Shell
                         Use windows shell API-
                         FindWindow and SetParent to
                         put YM application in UniSZA
                         Messenger application




                                            22
suhailan@unisza.edu.my
Text file communication

                                   Dump the value
                                   into a network
                                   shared text file
                                                           Our software read value in
                  Sensor software read                     the windLog.txt file via
                  wind log via RS232                       network sharing

WindSensor –
speed/direction




                                                                       Display the wind
                                                                       direction and
                                                                       speed value in a
                                                                       web via graphic




                                                               23
suhailan@unisza.edu.my                                www.vss.com.my
Database Communication (SQL)




                                        24
suhailan@unisza.edu.my           www.vss.com.my
TCP/IP Communication




                                25
suhailan@unisza.edu.my   www.vss.com.my
Enhance your software
  communication skills with
  FACEBOOK…



                          26
suhailan@unisza.edu.my

More Related Content

Similar to Communication skills in programming

Getting A Shell Through MS Office - CYBER PHOENIX CONCLAVE 2K18 INFORMATION ...
Getting A  Shell Through MS Office - CYBER PHOENIX CONCLAVE 2K18 INFORMATION ...Getting A  Shell Through MS Office - CYBER PHOENIX CONCLAVE 2K18 INFORMATION ...
Getting A Shell Through MS Office - CYBER PHOENIX CONCLAVE 2K18 INFORMATION ...Velayutham Selvaraj
 
Visula C# Programming Lecture 1
Visula C# Programming Lecture 1Visula C# Programming Lecture 1
Visula C# Programming Lecture 1Abou Bakr Ashraf
 
Bsc cs i pic u-1 introduction to c language
Bsc cs i pic u-1 introduction to c languageBsc cs i pic u-1 introduction to c language
Bsc cs i pic u-1 introduction to c languageRai University
 
introduction to c language
 introduction to c language introduction to c language
introduction to c languageRai University
 
Mca i pic u-1 introduction to c language
Mca i pic u-1 introduction to c languageMca i pic u-1 introduction to c language
Mca i pic u-1 introduction to c languageRai University
 
Btech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c languageBtech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c languageRai University
 
Trends on Information Technology
Trends on Information TechnologyTrends on Information Technology
Trends on Information TechnologyCarlos J. Costa
 
Diploma ii cfpc u-1 introduction to c language
Diploma ii  cfpc u-1 introduction to c languageDiploma ii  cfpc u-1 introduction to c language
Diploma ii cfpc u-1 introduction to c languageRai University
 
Windows programming
Windows programmingWindows programming
Windows programmingBapan Maity
 
Unix Quick Learn
Unix Quick LearnUnix Quick Learn
Unix Quick LearnNisanth
 
Mobile Computing: Microsoft Mobile Solutions for Online Learning
Mobile Computing: Microsoft Mobile Solutions for Online LearningMobile Computing: Microsoft Mobile Solutions for Online Learning
Mobile Computing: Microsoft Mobile Solutions for Online LearningTmobile Girl
 
Development Tools - Abhijeet
Development Tools - AbhijeetDevelopment Tools - Abhijeet
Development Tools - AbhijeetAbhijeet Kalsi
 
introduction to_mfc
 introduction to_mfc introduction to_mfc
introduction to_mfctuttukuttu
 
Raspberry pi Part 1
 Raspberry pi Part 1 Raspberry pi Part 1
Raspberry pi Part 1Techvilla
 
Essentiality of computer &amp; computer tool in engineering1
Essentiality of computer &amp; computer tool in engineering1Essentiality of computer &amp; computer tool in engineering1
Essentiality of computer &amp; computer tool in engineering1Lavanya V
 
Minko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko3D
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoMinko3D
 

Similar to Communication skills in programming (20)

Getting A Shell Through MS Office - CYBER PHOENIX CONCLAVE 2K18 INFORMATION ...
Getting A  Shell Through MS Office - CYBER PHOENIX CONCLAVE 2K18 INFORMATION ...Getting A  Shell Through MS Office - CYBER PHOENIX CONCLAVE 2K18 INFORMATION ...
Getting A Shell Through MS Office - CYBER PHOENIX CONCLAVE 2K18 INFORMATION ...
 
Visula C# Programming Lecture 1
Visula C# Programming Lecture 1Visula C# Programming Lecture 1
Visula C# Programming Lecture 1
 
Bsc cs i pic u-1 introduction to c language
Bsc cs i pic u-1 introduction to c languageBsc cs i pic u-1 introduction to c language
Bsc cs i pic u-1 introduction to c language
 
introduction to c language
 introduction to c language introduction to c language
introduction to c language
 
Mca i pic u-1 introduction to c language
Mca i pic u-1 introduction to c languageMca i pic u-1 introduction to c language
Mca i pic u-1 introduction to c language
 
Btech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c languageBtech i pic u-1 introduction to c language
Btech i pic u-1 introduction to c language
 
Trends on Information Technology
Trends on Information TechnologyTrends on Information Technology
Trends on Information Technology
 
Diploma ii cfpc u-1 introduction to c language
Diploma ii  cfpc u-1 introduction to c languageDiploma ii  cfpc u-1 introduction to c language
Diploma ii cfpc u-1 introduction to c language
 
Windows programming
Windows programmingWindows programming
Windows programming
 
Unix Quick Learn
Unix Quick LearnUnix Quick Learn
Unix Quick Learn
 
Mobile Computing: Microsoft Mobile Solutions for Online Learning
Mobile Computing: Microsoft Mobile Solutions for Online LearningMobile Computing: Microsoft Mobile Solutions for Online Learning
Mobile Computing: Microsoft Mobile Solutions for Online Learning
 
Development Tools - Abhijeet
Development Tools - AbhijeetDevelopment Tools - Abhijeet
Development Tools - Abhijeet
 
Dot net Introduction and their usabilities
Dot net Introduction and  their usabilitiesDot net Introduction and  their usabilities
Dot net Introduction and their usabilities
 
introduction to_mfc
 introduction to_mfc introduction to_mfc
introduction to_mfc
 
Operating System PPT
Operating System PPTOperating System PPT
Operating System PPT
 
Raspberry pi Part 1
 Raspberry pi Part 1 Raspberry pi Part 1
Raspberry pi Part 1
 
Essentiality of computer &amp; computer tool in engineering1
Essentiality of computer &amp; computer tool in engineering1Essentiality of computer &amp; computer tool in engineering1
Essentiality of computer &amp; computer tool in engineering1
 
Middleware Technologies ppt
Middleware Technologies pptMiddleware Technologies ppt
Middleware Technologies ppt
 
Minko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with MinkoMinko - Creating cross-platform 3D apps with Minko
Minko - Creating cross-platform 3D apps with Minko
 
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with MinkoParis Android LiveCode - Creating cross-platform 3D apps with Minko
Paris Android LiveCode - Creating cross-platform 3D apps with Minko
 

More from Suhailan Safei

Perancangan Pembelajaran
Perancangan PembelajaranPerancangan Pembelajaran
Perancangan PembelajaranSuhailan Safei
 
Revolusi Bahasa Melayu 4.0
Revolusi Bahasa Melayu 4.0Revolusi Bahasa Melayu 4.0
Revolusi Bahasa Melayu 4.0Suhailan Safei
 
Outcome Based Education with soul
Outcome Based Education with soulOutcome Based Education with soul
Outcome Based Education with soulSuhailan Safei
 
Continuous Quality Improvement (CQI)
Continuous Quality Improvement (CQI)Continuous Quality Improvement (CQI)
Continuous Quality Improvement (CQI)Suhailan Safei
 
Smart campus in teaching and learning
Smart campus in teaching and learningSmart campus in teaching and learning
Smart campus in teaching and learningSuhailan Safei
 
Blended learning using KeLIP(Moodle-based Learning Management System)
Blended learning using KeLIP(Moodle-based Learning Management System)Blended learning using KeLIP(Moodle-based Learning Management System)
Blended learning using KeLIP(Moodle-based Learning Management System)Suhailan Safei
 
Outcome Based Education (OBE): The implementation
Outcome Based Education (OBE): The implementationOutcome Based Education (OBE): The implementation
Outcome Based Education (OBE): The implementationSuhailan Safei
 
Professional slide design
Professional slide designProfessional slide design
Professional slide designSuhailan Safei
 
Slide Presentation Skills
Slide Presentation SkillsSlide Presentation Skills
Slide Presentation SkillsSuhailan Safei
 
Final Year Project - Computer System Sample Slide
Final Year Project - Computer System Sample SlideFinal Year Project - Computer System Sample Slide
Final Year Project - Computer System Sample SlideSuhailan Safei
 
Menghidupkan slaid pembentangan
Menghidupkan slaid pembentanganMenghidupkan slaid pembentangan
Menghidupkan slaid pembentanganSuhailan Safei
 
ICT at Universiti Sultan Zainal Abidin
ICT at Universiti Sultan Zainal AbidinICT at Universiti Sultan Zainal Abidin
ICT at Universiti Sultan Zainal AbidinSuhailan Safei
 
Kerjasama Komuniti berasaskan ICT
Kerjasama Komuniti berasaskan ICTKerjasama Komuniti berasaskan ICT
Kerjasama Komuniti berasaskan ICTSuhailan Safei
 
Manfaat dan cabaran ict
Manfaat dan cabaran ictManfaat dan cabaran ict
Manfaat dan cabaran ictSuhailan Safei
 
Final Year Project :The Beginning in becoming a programmer
Final Year Project :The Beginning in becoming a programmerFinal Year Project :The Beginning in becoming a programmer
Final Year Project :The Beginning in becoming a programmerSuhailan Safei
 

More from Suhailan Safei (20)

PTG-DCI-LESSONPLAN
PTG-DCI-LESSONPLAN PTG-DCI-LESSONPLAN
PTG-DCI-LESSONPLAN
 
Perancangan Pembelajaran
Perancangan PembelajaranPerancangan Pembelajaran
Perancangan Pembelajaran
 
DCI2KELIP
DCI2KELIPDCI2KELIP
DCI2KELIP
 
Revolusi Bahasa Melayu 4.0
Revolusi Bahasa Melayu 4.0Revolusi Bahasa Melayu 4.0
Revolusi Bahasa Melayu 4.0
 
Offline learning
Offline learningOffline learning
Offline learning
 
Outcome Based Education with soul
Outcome Based Education with soulOutcome Based Education with soul
Outcome Based Education with soul
 
Continuous Quality Improvement (CQI)
Continuous Quality Improvement (CQI)Continuous Quality Improvement (CQI)
Continuous Quality Improvement (CQI)
 
Blended Learning
Blended LearningBlended Learning
Blended Learning
 
Smart campus in teaching and learning
Smart campus in teaching and learningSmart campus in teaching and learning
Smart campus in teaching and learning
 
Blended learning using KeLIP(Moodle-based Learning Management System)
Blended learning using KeLIP(Moodle-based Learning Management System)Blended learning using KeLIP(Moodle-based Learning Management System)
Blended learning using KeLIP(Moodle-based Learning Management System)
 
Outcome Based Education (OBE): The implementation
Outcome Based Education (OBE): The implementationOutcome Based Education (OBE): The implementation
Outcome Based Education (OBE): The implementation
 
Professional slide design
Professional slide designProfessional slide design
Professional slide design
 
Slide Presentation Skills
Slide Presentation SkillsSlide Presentation Skills
Slide Presentation Skills
 
Final Year Project - Computer System Sample Slide
Final Year Project - Computer System Sample SlideFinal Year Project - Computer System Sample Slide
Final Year Project - Computer System Sample Slide
 
Menghidupkan slaid pembentangan
Menghidupkan slaid pembentanganMenghidupkan slaid pembentangan
Menghidupkan slaid pembentangan
 
ICT at Universiti Sultan Zainal Abidin
ICT at Universiti Sultan Zainal AbidinICT at Universiti Sultan Zainal Abidin
ICT at Universiti Sultan Zainal Abidin
 
Kerjasama Komuniti berasaskan ICT
Kerjasama Komuniti berasaskan ICTKerjasama Komuniti berasaskan ICT
Kerjasama Komuniti berasaskan ICT
 
Student learning time
Student learning timeStudent learning time
Student learning time
 
Manfaat dan cabaran ict
Manfaat dan cabaran ictManfaat dan cabaran ict
Manfaat dan cabaran ict
 
Final Year Project :The Beginning in becoming a programmer
Final Year Project :The Beginning in becoming a programmerFinal Year Project :The Beginning in becoming a programmer
Final Year Project :The Beginning in becoming a programmer
 

Recently uploaded

Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxUmeshTimilsina1
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxPooja Bhuva
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxPooja Bhuva
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 

Communication skills in programming

  • 1. Communication Skills in Programming By : Suhailan bin Dato’ Hj. Safei Faculty of Informatics suhailan@unisza.edu.my suhailan@unisza.edu.my
  • 2. Communications – The message (data and information) is communicated via the signal – The transmission medium “carries” the signal Transmission medium Sender Signal Receiver suhailan@unisza.edu.my
  • 4. Communications in programming Sender Signal Receiver Keyboard, Mouse, Notepad, Word, Pdf, Pendrive, Harddisk, OS, Browser Hardware Send keyboard input to notepad Software Software Send pdf to printer Hardware Software Export MsWord to Pdf Software suhailan@unisza.edu.my
  • 5. Types of Programming Communication • Dynamic link library (DLL) • Component Object Model (COM) • ActiveX • Windows Shell • Text File • Database • Shared Memory • Serial command – comm port, AT command • Communication Protocol - TCP/IP, UDP, FTP, HTTP, POP3, etc. 5 suhailan@unisza.edu.my
  • 6. Dynamic Link Library • A dynamic-link library (DLL) is a module that contains functions and data that can be used by another module (application or DLL). • A DLL can define two kinds of functions: exported and internal. The exported functions are intended to be called by other modules, as well as from within the DLL where they are defined. Internal functions are typically intended to be called only from within the DLL where they are defined. Although a DLL can export data, its data is generally used only by its functions. However, there is nothing to prevent another module from reading or writing that address. • DLLs provide a way to modularize applications so that their functionality can be updated and reused more easily. DLLs also help reduce memory overhead when several applications use the same functionality at the same time, because although each application receives its own copy of the DLL data, the applications share the DLL code. Source: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682589%28v=vs.85%29.aspx6 suhailan@unisza.edu.my
  • 7. Create DLL Compile and save this file as “Example.dll”. Source : http://en.wikipedia.org/wiki/DLL 7 suhailan@unisza.edu.my
  • 8. Call DLL Source : http://en.wikipedia.org/wiki/DLL 8 suhailan@unisza.edu.my
  • 9. DLL for OCR • ASPIRE – Download “AspriseOCR.dll” (http://asprise.com/product/ocr/download.php?lang=vb) To call the DLL using VB… Private Declare Function OCR Lib "AspriseOCR.dll" (ByVal file As String, ByVal imageType As Long) As String Private Sub Command3_Click() Dim txt As String txt = OCR ("C:pic1.bmp", -1) MsgBox "The text are:" & txt End Sub 9 suhailan@unisza.edu.my
  • 10. DLL Communication (PCI Card) 10 suhailan@unisza.edu.my www.vss.com.my
  • 11. COM • Microsoft COM (Component Object Model) technology in the Microsoft Windows-family of Operating Systems enables software components to communicate. COM is used by developers to create re-usable software components, link components together to build applications, and take advantage of Windows services. COM objects can be created with a variety of programming languages. The family of COM technologies includes COM+, Distributed COM (DCOM) and ActiveX® Controls. • Microsoft provides COM interfaces for many Windows application programming interfaces such as Direct Show, Media Foundation, Packaging API, Windows Animation Manager, Windows Portable Devices, and Microsoft Active Directory (AD). • COM is used in applications such as the Microsoft Office Family of products. For example COM OLE technology allows Word documents to dynamically link to data in Excel spreadsheets and COM Automation allows users to build scripts in their applications to perform repetitive tasks or control one application from another. 11 suhailan@unisza.edu.my
  • 12. COM 12 suhailan@unisza.edu.my
  • 13. Using PHP to call COM <?php $excel_app = new COM("Excel.application") or die ("Did not connect"); $excel_app->Application->Visible = 1; //Make Excel visible. $Workbook = $excel_app->Workbooks->Open("D:wampwwwtesttest.xlsx") or Die(“Failed"); $Worksheet = $Workbook->Worksheets("Sheet1"); $Worksheet->activate; echo $Worksheet->Range("A1")."-".$Worksheet->Range("B1")."<br>"; echo $Worksheet->Range("A2")."-".$Worksheet->Range("B2")."<br>"; $Workbook->Close; unset($Worksheet); unset($Workbook); $excel_app->Workbooks->Close(); $excel_app->Quit(); unset($excel_app); ?> 13 suhailan@unisza.edu.my
  • 14. ActiveX • ActiveX is a Microsoft-created technology that enables different software applications to share information and functionality. ActiveX only works on the Windows operating system. ActiveX and COM is same, as it was build under COM platform. The different is that ActiveX provides easier control graphical interface(running software component in your application). • ActiveX controls are mostly talked about in reference to Internet Explorer. You don't have to launch the Windows Media Player application separately to run a video clip on your browser. • Another common ActiveX control plays Flash files (.swf). Internet Explorer can't play Flash files by itself. That's something only the Adobe Flash Player can do. So Internet Explorer gives you the option of downloading and installing the Flash ActiveX Control. The Flash ActiveX Control automatically detects when a site contains Flash files. It then accesses the Flash player functionality at the operating system level and plays the files directly in the browser. 14 suhailan@unisza.edu.my
  • 15. ActiveX Communication Windows Media Player 15 suhailan@unisza.edu.my
  • 16. ActiveX Communication FITNewsTV application - VideoLAN player activeX running imported using Borland C++ Builder TCppWebBroswer – an VLC Media Player activeX of Internet Explorer 16 suhailan@unisza.edu.my
  • 17. Serial Command • Connection to other hardware (computer, modem, printer, microcontroller, sensors) can be done using serial cable such as RS232 (connection up to 15meter). 17 suhailan@unisza.edu.my
  • 18. Serial Communication (Microcontroller) RS232 cable microcontroller Temperature sensors for gas turbine Display temperature value here 18 suhailan@unisza.edu.my www.vss.com.my
  • 19. Serial Communication (UHF/Satellite) RS232 cable Send message from ship to ship using very small aperture satellite terminal (VSAT) 19 suhailan@unisza.edu.my www.vss.com.my
  • 20. Serial Communication (AT Command) Water level sensor AT Command to Modem (serial com) Landline Display reservoir level microcontroller Telephone (telekom) RS232 Connected to microcontroller at site using modem 20 suhailan@unisza.edu.my www.vss.com.my
  • 21. Windows Shell • The Windows UI provides users with access to a wide variety of objects necessary for running applications and managing the operating system. The most numerous and familiar of these objects are the folders and files that reside on computer disk drives. • There are also a number of virtual objects that allow the user to perform tasks such as sending files to remote printers or accessing the Recycle Bin. The Shell organizes these objects into a hierarchical namespace and provides users and applications with a consistent and efficient way to access and manage objects. • Eg. – ShellExecute – to execute a window executable file provided with their parameters – FindWindow – to get the handle of running software’s window/form – SetParent– set the window main handle to be controlled from your own application 21 suhailan@unisza.edu.my
  • 22. Windows Shell Use windows shell API- FindWindow and SetParent to put YM application in UniSZA Messenger application 22 suhailan@unisza.edu.my
  • 23. Text file communication Dump the value into a network shared text file Our software read value in Sensor software read the windLog.txt file via wind log via RS232 network sharing WindSensor – speed/direction Display the wind direction and speed value in a web via graphic 23 suhailan@unisza.edu.my www.vss.com.my
  • 24. Database Communication (SQL) 24 suhailan@unisza.edu.my www.vss.com.my
  • 25. TCP/IP Communication 25 suhailan@unisza.edu.my www.vss.com.my
  • 26. Enhance your software communication skills with FACEBOOK… 26 suhailan@unisza.edu.my