Setting up ODBC, Part 2 Robert Abram

Size: px
Start display at page:

Download "Setting up ODBC, Part 2 Robert Abram"

Transcription

1 Seite 1 von 7 Issue Date: FoxTalk October 2000 Setting up ODBC, Part 2 Robert Abram rob_abram@smartfella.com In this second article of a series about setting up ODBC connections programmaticly through FoxPro, Robert Abram explains some additional features of ODBC DSN configuration that can be used as part of an automated setup process. First, I would like to start off by letting those of you who have used the information from the last article ("Setting Up ODBC Connections for the Client User," May 2000) know that the function SQLGetInstalledDrivers has been depreciated (or at least fails with a GPF in almost all cases) in all versions of Windows I would also like to thank Doug Dodge for first bringing this fact to my attention. If you want to use SQLGetInstalledDrivers, you should check the operating system version with the FoxPro OS() command. The OS() command will return "Windows 5.00" if the operating system is Windows I would like to expand on my first ODBC article and explain some other features of ODBC DSN configuration. What I'll try to do is take the first article and add error checking, multiple DSN configurations, and explain how I used all of that in a networked application that can connect to multiple SQL Servers and multiple Databases. Wish me luck here. ODBC error checking Many people have asked me how to get error information when a ODBC Installer API call function fails. The following code should be added to your application and called immediately after any ODBC installer API call that doesn't return a 0 or 1 (SQL_SUCCESS or SQL_SUCCESS_WITH_INFO respectively): PROCEDURE WriteODBCError LOCAL lh_file, lc_odbcerrortext, ln_odbcerrorno, ; ln_odbcerrorindex, ln_odbctextsize, fresult, ; ln_retodbctextsize, lc_ret lh_file = FOPEN("c:\odbc_err.txt", 1) lc_ret = CHR(13) + CHR(10) DECLARE Integer SQLInstallerError IN odbccp32.dll ; Integer, Integer, IF lh_file < 1 lh_file = FCREATE("c:\odbc_err.txt", 0) IF lh_file > 0 FWRITE(lh_file, REPLICATE('*', 60) + lc_ret) FWRITE(lh_file, PADR("* SQL ERROR LOG OPENNED", ; 59) + '*' + lc_ret) FWRITE(lh_file, REPLICATE('*', 60) + lc_ret) IF lh_file > 0 ln_odbcerrorno = 1 ln_odbcerrorindex = 1 fresult = 0 FWRITE(lh_file, "*** ODBC Error Entry : Date '" + ; ALLTRIM(TTOC(DATETIME())) + "' ***" + lc_ret) * There can be up to 8 error messages from one error. DO WHILE fresult!= SQL_NO_DATA AND ; ln_odbcerrorindex < 9 lc_odbcerrortext = SPACE(500) ln_odbctextsize = 0 ln_retodbctextsize = 0 fresult = ; IF fresult = SQL_NO_DATA EXIT IF ln_retodbctextsize > 0 ln_odbctextsize = ln_retodbctextsize + 1 lc_odbcerrortext = SPACE(ln_ODBCTextSize) fresult = ;

2 Seite 2 von 7 IF fresult = SQL_NO_DATA EXIT IF LEFT(lc_ODBCErrorText, 1)!= CHR(0) AND ; LEN(ALLTRIM(lc_ODBCErrorText)) > 0 lc_odbcerrortext = LEFT(lc_ODBCErrorText, ; AT(CHR(0), lc_odbcerrortext)) FWRITE(lh_file, "Error No: (" + ; ALLTRIM(STR(ln_ODBCErrorNo)) + ; ") Error Msg: '" + lc_odbcerrortext + ; "'" + lc_ret) ln_odbcerrorindex = ln_odbcerrorindex + 1 ENDDO FWRITE(lh_file, "* ODBC End Entry *" + lc_ret) FClose(lh_file) ENDPROC The WriteODBCError will create and append errors to a file called "c:\odbc_err.txt." If a call to an ODBC configuration API fails, there might be multiple errors (up to eight at a time.) The WriteODBCError function will write out all errors generated from an API call. A plan for ODBC configuration and application startup At this point, I'm going to give you a list of steps that I used to start the application. There are several hoops to jump through, but the process works beautifully. Then I'll explain how each of the steps works and the reasoning behind why I completed each step. Although my application requires such steps to start and stop, not all of these would be required for smaller applications: 1. Declare ODBC and public variables. 2. Read ODBC configuration file for single or multiple connections. 3. Allow the user to pick a connection if there are multiple connections available. 4. Try connecting to the database server. 5. Copy FoxPro DBC with views to a local temporary directory. 6. Modify a DBC's connection information to reflect the correct ODBC DSN. 7. Start the application. 8. Close Application and Clean up. Step 1 Declare ODBC and public variables The following are all of the ODBC defines that I use. I put these at the top of my MAIN.PRG file for the application: #define ODBC_ADD_DSN 1 #define ODBC_CONFIG_DSN 2 #define ODBC_REMOVE_DSN 3 #define ODBC_ADD_SYS_DSN 4 #define ODBC_CONFIG_SYS_DSN 5 #define ODBC_REMOVE_SYS_DSN 6 #define ODBC_REMOVE_DEFAULT_DSN 7 #define SQL_NO_DATA 100 #define SQL_SUCCESS_WITH_INFO 1 #define SQL_SUCCESS 0 #define SQL_ERROR -1 The public variables I use for information on the current ODBC connection and application temporary directories are: PUBLIC gdir_start, gdir_temp, gdir_libs, gdir_data, ; g_server, g_database, g_odbcconn, ; g_dbuser, g_dbpassword, ; The defines are used by the various SQLxxxxxx functions that are called in different parts of the setup process. The public variables gdir_start, gdir_temp, gdir_libs, gdir_data are used to hold the paths to various file locations used by the application. The variables g_xxxxxx are used to hold the ODBC connection information. The public variable g_odbcconn holds the name of the ODBC DSN and can be used in the SQLConnect function for SQL pass through statements. I'll explain in Step 4 how to gather the information in the g_xxxxxx variables. In Step 5, I'll explain how to setup temporary directories and store the information in the gdir_xxxxx variables. Step 2 Read ODBC configuration file I mentioned the use of a configuration file that holds information about multiple DSN connections in my previous article. I used ODBC File DSN to create the initial file. Many people have asked me where can they find out what the ODBC connection

3 Seite 3 von 7 parameters and values can be. Creating a ODBC File DSN and then editing that file with notepad will help you find out what the parameters and values should be for an ODBC DSN connection. The application I'm working on is a network application and is executed on the server. So I created a special sub-directory that holds the configuration file. All major network operating systems allow for reading in a directory and a file, but no browsing, deleting, or modifing of files in that directory. That way, while the configuration file can only be seen and changed by an authorized person, FoxPro is allowed to read the file. The special directory is relative to the directory that contains the executable, so I use the command gdir_start = SYS(5) + CurDir() to get the starting drive letter and directory and then add the special directory and configuration file to that. The configuration file used by the application can have multiple connection information in the same file. The file created by a ODBC File DSN is identical to a standard Windows INI file. To add multiple connections to the configuration file, you just need to have a different section heading label (for more information, please read up on Windows INI files). The following example shows a brief sample of what I'm talking about: [ODBC] database=bigdatabase server=bigserver... [ODBC_2] database=smalldatabase server=smallserver... You can add your own properties to each configuration in the file. For example, you could add the property "shortdesc=a description of the dsn." Your application could do some branch logic based on extra parameters in each configuration. To read the information in the configuration file, I'm going to use the SQLReadFileDSN function. The declaration for SQLReadFileDSN is as follows: DECLARE Integer SQLReadFileDSN in odbccp32.dll ; ; Short, The SQLReadFileDSN function can be used to find out how many and what the section names are, what properties are contained in a section, and, finally, what the value for a property is. I'm only going to briefly show examples of how to use this API function. A detailed example will be in the file ODBCFUNC.PRG available in the accompanying Download file. The parameters for the SQLReadFileDSN function are as follows: 1. Configuration file name. 2. Section Heading. 3. Property or key. 4. Return string buffer. 5. Return string buffer size. 6. Actual bytes returned in string buffer. The first example is how to return the section headers from the configuration file. In the short preceding example, there are two sections: ODBC and ODBC_2. Variables are needed to use with the function call they should be declared like so: lc_file = "test.dsn" + CHR(0) lc_section = "ODBC_2" + CHR(0) lc_property = "server" + CHR(0) lc_buffer = SPACE(200) ln_ret_size = 0 The preceding example shows how to get the section heading names. Note the " 0" as the second and third parameter. This tells the function that you're expecting the section names to be returned. That's the difference between each use of the SQLReadFileDSN API function: fresult = SQLReadFileDSN(@lc_file, 0, ; IF fresult!= SQL_SUCCESS AND ; fresult!= SQL_SUCCESS_WITH_INFO WriteODBCError() lc_buffer = ALLTRIM(lc_buffer)

4 Seite 4 von 7 The lc_buffer should contain the following text: ODBC;ODBC_2;. Each section name will be terminated by a semi-colon. The next example returns all of the properties or keys under a section: fresult = ; The lc_buffer should contain a list of property names listed under the section "ODBC_2." Again, each item is terminated with a semi-colon. The last example will return the value of a property under a section: fresult = ; LEN(lc_buffer, The lc_buffer should contain the text "smallserver." Note: when a property value is returned, it's already terminated with a CHR(0). So you can loop through all of the properties in a section and append them together in a string to use in the SQLConfigure DataSource API function. My application runs through this process each time the user starts the application. This allows changes to the configuration at any time without having to run to each user's machine, and permits the setup of a central configuration allowing for connections to all remote databases. This way, the Help desk can connect directly to the remote user's database and to see exactly what the user is viewing. Yes, a remote connection to someone's database is allowed in my case, as long as the remote database administrator permits it. Step 3 Letting the user pick a connection This step can be bypassed if there's only one connection for the user. In the application I'm working on, there are instances of users needing to connect to one set of data or another. Also, this lets the Help desk connect to the remote databases as I explained before. When there are multiple connections to pick from, I parse the configuration file into an array and show a list of connections in a list box on a splash form as the application loads. After the user picks from the list, I then use the information in the array for that connection to make the connection to the database. Step 4 Try and connect to the database This topic was mostly covered in the first ODBC article. If you haven't read that article yet, I suggest getting your hands on a copy of the May issue of FoxTalk, or visit the FoxTalk Web site. After the successful connection to the database with the FoxPro SQLConnect function, I fill the global variables initialized in Step 1. Now it's time to explain what each of the public variables hold: g_odbcconn: Holds the name of the ODBC DSN created. I use the SYS(2015) function to get a unique name for the DSN. I need the DSN name stored to delete the DSN connection when the application exits. g_server: This holds the name or IP address of the SQL Server. g_database: This holds the name of the database the application is connecting to. g_dbuser: This is the userid that is required by the SQL Server to connect with. g_dbpassword: This is the password that is required by the SQL Server to connect with. You might wonder why I store the server, database, userid, and password. I store them for two particular reasons. One, if the SQL Server stops while in the middle of the application, I can stop and poll the SQL Server with SQLConnect to see when the server is back up without halting the application. Two, in the application I'm working on, the users have a need to disconnect from one database and connect to another database without halting the application. This second reason supports the application's legacy code requirements. Step 5 Creating and using temporary directories I use temporary directories to overcome some of the pitfalls in a FoxPro DBC. Some of you veteran FoxPro programmers will quickly recognize these problems. Part 1 The problem The problem with configuring an ODBC DSN at runtime for a remote database is subtle one. For a FoxPro DBC to connect to a remote database, there has to be connection information in the DBC. That information in the DBC describes the ODBC DSN that should exist on the local machine. My problem was that I need, in some instances, to connect to multiple databases at the same time. I also need to allow the remote database administrators to have control over the userid and password to connect to the SQL Server. As a result, the information in the DBC connection record probably won't be compatible with the ODBC DSN connection information.

5 Seite 5 von 7 To update the connection information in the FoxPro DBC, you can use the DELETE CONNECTION and CREATE CONNECTION FoxPro functions. These functions only work if you have exclusive control of the DBC. Once a user opens the shared database, exclusive control is no longer possible. To allow connections to multiple databases, I create the name of the ODBC DSN using the FoxPro SYS(2015) function. Since the SYS(2015) function returns a unique name, it will be different than the DSN that was used in the Connection information stored in the FoxPro DBC. Part 2 The solution The solution to the problem is to create some temporary directories and make a copy of the dbc to be used, store it on the local machine while the application is running, and then clean it when the application exits. This method lets you modify the connection information in the FoxPro DBC at any time needed. To create the temporary directories, I use the following code: * Remote Machine application start directory. gdir_start = SYS(5) + CurDir() * Local machine temporary directory gdir_temp = SYS(2023) + "\" + SYS(2015) gdir_libs = gdir_temp + "\libs" gdir_data = gdir_temp + "\data" MD &gdir_temp MD &gdir_libs MD &gdir_data To copy the files, I use something like this: PROCEDURE CopySystemFiles LOCAL lc_sysdatadir, lc_syslibsdir, ; lc_tempdatadir, lc_templibsdir, fresult fresult =.T. ON ERROR fresult =.F. lc_sysdatadir = gdir_start + "\Views\*.*" lc_syslibsdir = gdir_start + "\Libraries\*.*" lc_tempdatadir = gdir_data + "\*.*" lc_templibsdir = gdir_libs + "\*.*" COPY FILE &lc_sysdatadir TO &lc_tempdatadir COPY FILE &lc_syslibsdir TO &lc_templibsdir ON ERROR IF fresult =.F. RETURN.F. And to clean up the temporary directories, I use the following: CLOSE DATABASES ALL SET CLASSLIB TO SET PROCEDURE TO lc_gdir_temp = gdir_temp + "\*.*" lc_gdir_libs = gdir_libs + "\*.*" lc_gdir_data = gdir_data + "\*.*" DELETE FILE &lc_gdir_libs DELETE FILE &lc_gdir_data DELETE FILE &lc_gdir_temp RD &gdir_libs RD &gdir_data RD &gdir_temp You should be able to see where you would put each section of code. Actually, in my code, each section is a separate function. I only showed the complete code for the CopySystemFiles function, because each of the other two sections is almost identical for the error trapping. You should also notice that the remote file directories are named \Views and \Libraries. The local directories are named \Libs and \Data. This is to overcome the FoxPro habit of remembering where something was last opened, instead of where I want something to be opened. Then I set the FoxPro PATH environment to the correct directories. This is how I set my PATH. You should notice that some things are left on the network server and some are local:

6 Seite 6 von 7 SET PATH TO gdir_start + ";" + ; gdir_temp + ";" + ; gdir_libs + ";" + ; gdir_data + ";" + ; gdir_start + "Include;" + ; gdir_start + "Reports;" + ; gdir_start + "Help;" + ; gdir_start + "Forms;" + ; gdir_start + "Menus;" + ; gdir_start + "Progs" A call to OPEN DATABASE xyz_data EXCLUSIVE is okay now since a copy of the database is available locally on the client machine. Step 6 Modifying a DBC's connection information Once the temporary directories have been created and the files have been copied to the temp directories, the following code will set the DBC's connection information: OPEN DATABASE xyz_data EXCLUSIVE SET DATABASE TO xyz_data * Remove the old Connection DELETE CONNECTION odbc_conn * Add the new Connection CREATE CONNECTION odbc_conn DATASOURCE ; g_odbcconn USERID g_dbuser PASSWORD g_dbpassword Changing the connection information can be done at anytime as long as no one else is using the database. Step 7 Starting the application The application I'm working on is based on a framework. At this point, I start the application by creating an instance of the application manager and starting the initial menu form. Since the FoxPro database is already open and ready to go, the application starts just fine. Step 8 Closing the application and clean up There are three things to clean up here. First, the ODBC connection needs to be attended to. Close all open files and the database, and then delete all of the temporary files and directories that you created. To clean up the ODBC data source, use the following code: PROCEDURE DeleteODBCConnection LPARAMETERS lc_odbcdsn LOCAL lc_odbcdriver, lc_settings DECLARE Integer SQLConfigDataSource IN ; odbccp32 Integer, Short, lc_odbcdriver = "SQL Server" + CHR(0) lc_settings = "DSN=" + g_odbcconn + CHR(0) IF SQLConfigDataSource(0, ; < 1 WriteODBCError() RETURN.F. I use the following code to close everything up and clean the temporary directories and files I created: PROCEDURE DeleteTemporaryDirectories LOCAL fresult, lc_gdir_temp, lc_gdir_libs, lc_gdir_data IF TYPE("gdir_temp")!= 'C' fresult =.T. ON ERROR fresult =.F. CLOSE DATABASES ALL SET CLASSLIB TO SET PROCEDURE TO

7 Seite 7 von 7 lc_gdir_temp = gdir_temp + "\*.*" lc_gdir_libs = gdir_libs + "\*.*" lc_gdir_data = gdir_data + "\*.*" DELETE FILE &lc_gdir_libs DELETE FILE &lc_gdir_data DELETE FILE &lc_gdir_temp RD &gdir_libs RD &gdir_data RD &gdir_temp ON ERROR IF fresult =.F. MessageBox("Unable to Remove Temporary Directories. " + ; "Application not closing clean.", ; 48, "Fatal Error Message") RETURN.F. Conclusion I don't believe that all of the information given in this article applies to every application, and not every programmer needs all of these steps. But I do believe there are some good tips that any programmer, regardless of situation or skill level, can use hopefully, you were able to glean something from this. I'm grateful for the responses that I received from the first ODBC article, and I was glad to be of help.

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek

It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek Seite 1 von 5 Issue Date: FoxTalk July 2000 It Might Be Valid, But It's Still Wrong Paul Maskens and Andy Kramek This month, Paul Maskens and Andy Kramek discuss the problems of validating data entry.

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

The Best of Both Worlds

The Best of Both Worlds The Best of Both Worlds Doug Hennig You don t have to sacrifice performance for ease of installing new versions of applications. Using STARTAPP, you can run applications from local drives for best performance,

More information

You just told Matlab to create two strings of letters 'I have no idea what I m doing' and to name those strings str1 and str2.

You just told Matlab to create two strings of letters 'I have no idea what I m doing' and to name those strings str1 and str2. Chapter 2: Strings and Vectors str1 = 'this is all new to me' str2='i have no clue what I am doing' str1 = this is all new to me str2 = I have no clue what I am doing You just told Matlab to create two

More information

MYOB Exo PC Clock. User Guide

MYOB Exo PC Clock. User Guide MYOB Exo PC Clock User Guide 2018.01 Table of Contents Introduction to MYOB Exo PC Clock... 1 Installation & Setup... 2 Server-based... 2 Standalone... 3 Using Exo PC Clock... 4 Clocking Times... 5 Updating

More information

Hey there, I m (name) and today I m gonna talk to you about rate of change and slope.

Hey there, I m (name) and today I m gonna talk to you about rate of change and slope. Rate and Change of Slope A1711 Activity Introduction Hey there, I m (name) and today I m gonna talk to you about rate of change and slope. Slope is the steepness of a line and is represented by the letter

More information

INTRODUCTION (1) Recognize HTML code (2) Understand the minimum requirements inside a HTML page (3) Know what the viewer sees and the system uses

INTRODUCTION (1) Recognize HTML code (2) Understand the minimum requirements inside a HTML page (3) Know what the viewer sees and the system uses Assignment Two: The Basic Web Code INTRODUCTION HTML (Hypertext Markup Language) In the previous assignment you learned that FTP was just another language that computers use to communicate. The same holds

More information

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships

Instructor: Craig Duckett. Lecture 04: Thursday, April 5, Relationships Instructor: Craig Duckett Lecture 04: Thursday, April 5, 2018 Relationships 1 Assignment 1 is due NEXT LECTURE 5, Tuesday, April 10 th in StudentTracker by MIDNIGHT MID-TERM EXAM is LECTURE 10, Tuesday,

More information

Sql Server Check If Global Temporary Table Exists

Sql Server Check If Global Temporary Table Exists Sql Server Check If Global Temporary Table Exists I am trying to create a temp table from the a select statement so that I can get the schema information from the temp I have yet to see a valid justification

More information

Get JAVA. I will just tell you what I did (on January 10, 2017). I went to:

Get JAVA. I will just tell you what I did (on January 10, 2017). I went to: Get JAVA To compile programs you need the JDK (Java Development Kit). To RUN programs you need the JRE (Java Runtime Environment). This download will get BOTH of them, so that you will be able to both

More information

KMyMoney Transaction Matcher

KMyMoney Transaction Matcher KMyMoney Transaction Matcher Ace Jones Use Cases Case #1A: Matching hand-entered transactions manually I enter a transaction by hand, with payee, amount, date & category. I download

More information

Lesson 5 Transcript: Client Connectivity

Lesson 5 Transcript: Client Connectivity Lesson 5 Transcript: Client Connectivity Slide 1: Cover Welcome to lesson 5 of the DB2 on Campus Series. Today we are going to talk about client connectivity. My name is Raul Chong, and I'm the DB2 on

More information

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande Chapter 1 Copyright 2009 Manning Publications brief contents Preface xiii Acknowledgments xix About this

More information

Download, Install and Use Winzip

Download, Install and Use Winzip Download, Install and Use Winzip Something that you are frequently asked to do (particularly if you are in one of my classes) is to either 'zip' or 'unzip' a file or folders. Invariably, when I ask people

More information

Lesson 3 Transcript: Part 2 of 2 Tools & Scripting

Lesson 3 Transcript: Part 2 of 2 Tools & Scripting Lesson 3 Transcript: Part 2 of 2 Tools & Scripting Slide 1: Cover Welcome to lesson 3 of the DB2 on Campus Lecture Series. Today we are going to talk about tools and scripting. And this is part 2 of 2

More information

Data Handling Issues, Part I Doug Hennig

Data Handling Issues, Part I Doug Hennig Data Handling Issues, Part I Doug Hennig The ability to handle multiple sets of data is a frequent requirement in business applications. So is the management of primary key values for tables. In this first

More information

Adagio ODBC. Version 9.0A Second Edition from. Adagio is a registered trademark of Softrak Systems Inc.

Adagio ODBC. Version 9.0A Second Edition from. Adagio is a registered trademark of Softrak Systems Inc. Adagio ODBC Version 9.0A Second Edition from Trademark Adagio is a registered trademark of Softrak Systems Inc. All product names mentioned are trademarks or service marks of their respective owners. Copyright

More information

Connecting TM1 to Various Third- Party Data Sources

Connecting TM1 to Various Third- Party Data Sources Tip or Technique Connecting TM1 to Various Third- Party Data Sources Product(s): TM1 Area of Interest: Development Connecting TM1 to Various Third-Party Data Sources 2 Copyright Copyright 2008 Cognos ULC

More information

The IBM I A Different Roadmap

The IBM I A Different Roadmap The IBM I A Different Roadmap Not long ago I was reading an article about a session Steve Will gave on how to make the IBM i "sexy". Those who know me know that that would immediately start me thinking

More information

Information Technology Virtual EMS Help https://msum.bookitadmin.minnstate.edu/ For More Information Please contact Information Technology Services at support@mnstate.edu or 218.477.2603 if you have questions

More information

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World

Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Speech 2 Part 2 Transcript: The role of DB2 in Web 2.0 and in the IOD World Slide 1: Cover Welcome to the speech, The role of DB2 in Web 2.0 and in the Information on Demand World. This is the second speech

More information

Eventually, you'll be returned to the AVD Manager. From there, you'll see your new device.

Eventually, you'll be returned to the AVD Manager. From there, you'll see your new device. Let's get started! Start Studio We might have a bit of work to do here Create new project Let's give it a useful name Note the traditional convention for company/package names We don't need C++ support

More information

Troubleshooting Maple Worksheets: Common Problems

Troubleshooting Maple Worksheets: Common Problems Troubleshooting Maple Worksheets: Common Problems So you've seen plenty of worksheets that work just fine, but that doesn't always help you much when your worksheet isn't doing what you want it to. This

More information

The Definitive Guide to Fractal Awesomeness with J-WildFire!

The Definitive Guide to Fractal Awesomeness with J-WildFire! Installing Java and J-WildFire - by Martin Flink Copyright 2013 Martin Flink All Rights Reserved. No part of this document may be reproduced in any form without permission in writing from the author. Contact:

More information

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5 [talking head] Formal Methods of Software Engineering means the use of mathematics as an aid to writing programs. Before we can

More information

Using Doxygen to Create Xcode Documentation Sets

Using Doxygen to Create Xcode Documentation Sets Using Doxygen to Create Xcode Documentation Sets Documentation sets (doc sets) provide a convenient way for an Xcode developer to search API and conceptual documentation (including guides, tutorials, TechNotes,

More information

KNOWLEDGE FORUM 4 MACINTOSH SERVER ADMINISTRATOR S GUIDE

KNOWLEDGE FORUM 4 MACINTOSH SERVER ADMINISTRATOR S GUIDE KNOWLEDGE FORUM 4 MACINTOSH SERVER ADMINISTRATOR S GUIDE Knowledge Forum is a registered trademark of Knowledge Building Concepts. Administrator s Guide Macintosh Server--Version 4.1 or above Macintosh

More information

3300 IP Communications Platform

3300 IP Communications Platform MITEL 3300 IP Communications Platform 5304 IP Phone User Guide NOTICE The information contained in this document is believed to be accurate in all respects but is not warranted by Mitel Networks Corporation

More information

Check to make sure that the proper time shows on the screen. If it does not, do the time change again until you have the proper time.

Check to make sure that the proper time shows on the screen. If it does not, do the time change again until you have the proper time. Programming Date and Time Changes on the Amanda Voice Mail System It is best to change or update the time on your voice mail system after 11AM and before 3PM. This helps to avoid changing the time to a

More information

Using JFlex. "Linux Gazette...making Linux just a little more fun!" by Christopher Lopes, student at Eastern Washington University April 26, 1999

Using JFlex. Linux Gazette...making Linux just a little more fun! by Christopher Lopes, student at Eastern Washington University April 26, 1999 "Linux Gazette...making Linux just a little more fun!" by Christopher Lopes, student at Eastern Washington University April 26, 1999 This is the third part of a series begun in the April 1999 issue of

More information

Enterprise Edge Voice Messaging Reference Guide

Enterprise Edge Voice Messaging Reference Guide Enterprise Edge Voice Messaging Reference Guide 1-800-4 NORTEL www.nortelnetworks.com 1999 Nortel Networks P0908524 Issue 01 Contents Chapter 1 How to use this guide 7 Introduction 7 Conventions and symbols

More information

1. Fixed a bug in processing doubley defined tables (where both DD and INI are given in a DSN) when a relative path is used.

1. Fixed a bug in processing doubley defined tables (where both DD and INI are given in a DSN) when a relative path is used. ProvideX Client/Server ODBC 3.21 Driver - README.TXT Oct 2001 ProvideX ODBC 3.21 Driver - Changes/Corrections/Enhancements ***IMPORTANT*** Use of the 3.21 ODBC Server, requires that you use at least a

More information

From time to time Google changes the way it does things, and old tutorials may not apply to some new procedures.

From time to time Google changes the way it does things, and old tutorials may not apply to some new procedures. From time to time Google changes the way it does things, and old tutorials may not apply to some new procedures. This is another tutorial which, in about 6 months, will probably be irrelevant. But until

More information

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration

Who am I? I m a python developer who has been working on OpenStack since I currently work for Aptira, who do OpenStack, SDN, and orchestration Who am I? I m a python developer who has been working on OpenStack since 2011. I currently work for Aptira, who do OpenStack, SDN, and orchestration consulting. I m here today to help you learn from my

More information

When you first launch CrushFTP you may be notified that port 21 is locked. You will be prompted to fix this.

When you first launch CrushFTP you may be notified that port 21 is locked. You will be prompted to fix this. This is a quick start guide. Its intent is to help you get up and running with as little configuration as possible. This walk through should take less than 10 minutes until you are able to login with your

More information

A File Open Dialog Box Doug Hennig

A File Open Dialog Box Doug Hennig Seite 1 von 7 Issue Date: FoxTalk November 1997 A File Open Dialog Box Doug Hennig dhennig@stonefield.com A File Open dialog box is a superior alternative to having a long list of forms appear in the File

More information

Session V-STON Stonefield Query: The Next Generation of Reporting

Session V-STON Stonefield Query: The Next Generation of Reporting Session V-STON Stonefield Query: The Next Generation of Reporting Doug Hennig Overview Are you being inundated with requests from the users of your applications to create new reports or tweak existing

More information

Chris' Makefile Tutorial

Chris' Makefile Tutorial Chris' Makefile Tutorial Chris Serson University of Victoria June 26, 2007 Contents: Chapter Page Introduction 2 1 The most basic of Makefiles 3 2 Syntax so far 5 3 Making Makefiles Modular 7 4 Multi-file

More information

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners Getting Started Excerpted from Hello World! Computer Programming for Kids and Other Beginners EARLY ACCESS EDITION Warren D. Sande and Carter Sande MEAP Release: May 2008 Softbound print: November 2008

More information

Time Machine Mac Manual Backup Failed With Error 19

Time Machine Mac Manual Backup Failed With Error 19 Time Machine Mac Manual Backup Failed With Error 19 How do I connect user account with Time Machine back up? I saw your question However, I took a look at Pondini's OSX and Time Machine Tips. answered

More information

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they

More information

Most of the class will focus on if/else statements and the logical statements ("conditionals") that are used to build them. Then I'll go over a few

Most of the class will focus on if/else statements and the logical statements (conditionals) that are used to build them. Then I'll go over a few With notes! 1 Most of the class will focus on if/else statements and the logical statements ("conditionals") that are used to build them. Then I'll go over a few useful functions (some built into standard

More information

FileWave 10 Webinar Q&A

FileWave 10 Webinar Q&A FileWave 10 Webinar Q&A When will 10 be released? October 14 th, but you can sign up today to get into the beta program. Link: www.filewave.com/beta-program How stable is the beta? Should we use it for

More information

WEBSITE CREATION. How to make an effective, low-cost website! Pepper Richardson, Pepper s Web Creations

WEBSITE CREATION. How to make an effective, low-cost website! Pepper Richardson, Pepper s Web Creations WEBSITE CREATION How to make an effective, low-cost website! Pepper Richardson, Pepper s Web Creations 3 BASIC WAYS TO DEVELOP A SITE 1. Do it yourself with software 2. Hire a Web designer 3. Use an online

More information

Post Experiment Interview Questions

Post Experiment Interview Questions Post Experiment Interview Questions Questions about the Maximum Problem 1. What is this problem statement asking? 2. What is meant by positive integers? 3. What does it mean by the user entering valid

More information

Ipod Touch Password Manual Reset Without. Computer >>>CLICK HERE<<<

Ipod Touch Password Manual Reset Without. Computer >>>CLICK HERE<<< Ipod Touch Password Manual Reset Without Computer iphone is disabled, ipad is disabled, ipod touch is disabled If itunes asks you to enter your passcode or asks you to allow access, try another computer.

More information

Attaché Server ODBC Installation and User Guide

Attaché Server ODBC Installation and User Guide Attaché Server ODBC Installation and User Guide October 2014 Publication Number Publication Date Product Version Attaché Server version 1.0.0.96 Attaché Software Australia Pty Ltd ACN 002 676 511 ABN 32002676

More information

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables Instructor: Craig Duckett Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables 1 Assignment 1 is due LECTURE 5, Tuesday, April 10 th, 2018 in StudentTracker by MIDNIGHT MID-TERM

More information

CFMG Training Modules Classified Ad Strategy Module

CFMG Training Modules Classified Ad Strategy Module CFMG Training Modules Classified Ad Strategy Module In This Module: 1. Introduction 2. Preliminary Set Up Create the Sequential Letterset for our Ad Strategy Set Up Your Vanity Responder Create Your Stealth

More information

How to git with proper etiquette

How to git with proper etiquette How to git with proper etiquette Let's start fixing how we use git here in crew so our GitHub looks even more awesome and you all get experience working in a professional-like git environment. How to use

More information

h/w m/c Kernel shell Application s/w user

h/w m/c Kernel shell Application s/w user Structure of Unix h/w m/c Kernel shell Application s/w. user While working with unix, several layers of interaction occur b/w the computer h/w & the user. 1. Kernel : It is the first layer which runs on

More information

CREATE!ARCHIVE AND JDE MEDIA OBJECTS

CREATE!ARCHIVE AND JDE MEDIA OBJECTS T ECHNICAL NOTE Product: Create!archive 6.2.1 Last modified: October 8, 2007 3:09 pm Created by: Development Inside this note: Configure Create!archive with JDE Media Objects CREATE!ARCHIVE AND JDE MEDIA

More information

TimesTen Driver Manager User Guide

TimesTen Driver Manager User Guide TimesTen Driver Manager User Guide Version: 2.0 Date: 14th August 2011 Introduction to the TimesTen Driver Manager... 1 What is a Driver Manager and why might I need one?... 1 Advantages and disadvantages

More information

User Guide. for placing your own Interlibrary Loan Requests. Place Interlibrary Loan requests using the INFO end user interface.

User Guide. for placing your own Interlibrary Loan Requests. Place Interlibrary Loan requests using the INFO end user interface. User Guide for placing your own Interlibrary Loan Requests Place Interlibrary Loan requests using the INFO end user interface anytime, anywhere from library from home from work from school from anywhere

More information

Getting help with Edline 2. Edline basics 3. Displaying a class picture and description 6. Using the News box 7. Using the Calendar box 9

Getting help with Edline 2. Edline basics 3. Displaying a class picture and description 6. Using the News box 7. Using the Calendar box 9 Teacher Guide 1 Henry County Middle School EDLINE March 3, 2003 This guide gives you quick instructions for the most common class-related activities in Edline. Please refer to the online Help for additional

More information

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist

Welcome to this IBM podcast, Realizing More. Value from Your IMS Compiler Upgrade. I'm Kimberly Gist IBM Podcast [ MUSIC ] Welcome to this IBM podcast, Realizing More Value from Your IMS Compiler Upgrade. I'm Kimberly Gist with IBM. System z compilers continue to deliver the latest programming interfaces

More information

How to Improve Your Campaign Conversion Rates

How to Improve Your  Campaign Conversion Rates How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email

More information

Lesson 4 Transcript: DB2 Architecture

Lesson 4 Transcript: DB2 Architecture Lesson 4 Transcript: DB2 Architecture Slide 1: Cover Welcome to Lesson 4 of the DB2 on campus series. Today we are going to talk about the DB2 architecture. My name is Raul Chong and I am the DB2 on Campus

More information

Welcome to another episode of Getting the Most. Out of IBM U2. I'm Kenny Brunel, and I'm your host for

Welcome to another episode of Getting the Most. Out of IBM U2. I'm Kenny Brunel, and I'm your host for Welcome to another episode of Getting the Most Out of IBM U2. I'm Kenny Brunel, and I'm your host for today's episode, and today we're going to talk about IBM U2's latest technology, U2.NET. First of all,

More information

IP OFFICE PREFERRED VOIC J129 PHONE REFERENCE GUIDE

IP OFFICE PREFERRED VOIC J129 PHONE REFERENCE GUIDE IP OFFICE PREFERRED VOICEMAIL J129 PHONE REFERENCE GUIDE SYRACUSE HOLLAND PATENT 1 Dupli Park Drive, 5 th Floor 9560 Main Street Syracuse, NY 13204 Holland Patent, NY 13354 Tel: 315-671-6200 Tel: 315-624-2000

More information

FanBuzz Business-Enterprise-Create A New fan Page

FanBuzz Business-Enterprise-Create A New fan Page This Tutorial video can be found here http://instamagicplugins.com/aio-tutorial-videos/create-a-new-fan-page/ Hi, this is Nick LaPolla with Red Zebra Media and InstaMagic Plugins. Welcome to the the All-inOne

More information

Using Devices with Microsoft HealthVault

Using Devices with Microsoft HealthVault Using Devices with Microsoft HealthVault A Microsoft HealthVault Step-by-Step Guide This guide will help you get started using Microsoft HealthVault Connection Center to send information from your health

More information

ROCK-POND REPORTING 2.1

ROCK-POND REPORTING 2.1 ROCK-POND REPORTING 2.1 Installation and Setup Guide Revised on 09/25/2014 TABLE OF CONTENTS ROCK-POND REPORTING 2.1... 1 SUPPORT FROM ROCK-POND SOLUTIONS... 2 ROCK-POND REPORTING OVERVIEW... 2 INFRASTRUCTURE

More information

1. Corrected NULL padding of records with external key and non-delimited fields

1. Corrected NULL padding of records with external key and non-delimited fields ProvideX ODBC 3.12 Driver - README.TXT May 2001 ProvideX ODBC 3.12 Driver - Changes/Corrections/Enhancements 1. Corrected NULL padding of records with external key and non-delimited fields 2. Corrected

More information

The New York Society Library Presents: New Features of the Library Catalog

The New York Society Library Presents: New Features of the Library Catalog The New York Society Library Presents: New Features of the Library Catalog Ingrid Richter, Head of Systems systems@nysoclib.org INDEX: Advanced Search Page 03 Patron Record Page 04 Search Catalog Page

More information

How to Reset your exprs User Password (updated 7/9/2018)

How to Reset your exprs User Password (updated 7/9/2018) How to Reset your exprs User Password (updated 7/9/2018) exprs is a secure system and therefore each user must login using a unique Login Name and Password. All users must adhere to the DHS Security and

More information

An Introduction to Maple This lab is adapted from a lab created by Bob Milnikel.

An Introduction to Maple This lab is adapted from a lab created by Bob Milnikel. Some quick tips for getting started with Maple: An Introduction to Maple This lab is adapted from a lab created by Bob Milnikel. [Even before we start, take note of the distinction between Tet mode and

More information

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Slide 1: Cover Welcome to lesson 3 of the db2 on Campus lecture series. Today we're going to talk about tools and scripting, and this is part 1 of 2

More information

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

Setting up and Connecting to a MSSQL database

Setting up and Connecting to a MSSQL database Setting up and Connecting to a MSSQL database Setting Up MSSQL... 1 SQL Server Instance... 1 Why do we need socdbconnect and socadminuser?... 1 On the Client... 1 Creating an ODBC Data Source... 1 Setting

More information

Introducing Skype for Business

Introducing Skype for Business Introducing Skype for Business Before you get started... You may already have Skype for Business installed on your Windows computer. Do a quick check to see following the instructions for your operating

More information

Popcorn's ini Tutorial

Popcorn's ini Tutorial Popcorn's ini Tutorial Last update: November 30 th 2006. There are lot's of ways to save information into a file in The Games Factory 2 and Multimedia Fusion 2. This tutorial will teach you the basics

More information

MITOCW watch?v=kz7jjltq9r4

MITOCW watch?v=kz7jjltq9r4 MITOCW watch?v=kz7jjltq9r4 PROFESSOR: We're going to look at the most fundamental of all mathematical data types, namely sets, and let's begin with the definitions. So informally, a set is a collection

More information

InSync Service User Guide

InSync Service User Guide InSync Service User Guide Matrix Logic Corporation 1 Published by Matrix Logic Corporation Copyright 2011 by Matrix Logic Corporation All rights reserved. No part of the content of this manual may be reproduced

More information

Call Center Agent Guide. Part No. P March 2004

Call Center Agent Guide. Part No. P March 2004 Call Center Agent Guide Part No. P0606199 03 23 March 2004 2 Call Center Agent Guide Copyright 2004 Nortel Networks All rights reserved. 2004. The information in this document is subject to change without

More information

Azon Master Class. By Ryan Stevenson Guidebook #11 Squidoo Marketing

Azon Master Class. By Ryan Stevenson   Guidebook #11 Squidoo Marketing Azon Master Class By Ryan Stevenson https://ryanstevensonplugins.com/ Guidebook #11 Squidoo Marketing Table of Contents 1. Getting Started With Squidoo 2. Lens Research & Targeting 3. Lens Creation Tutorial

More information

Introduction to Game Programming Lesson 4 Lecture Notes

Introduction to Game Programming Lesson 4 Lecture Notes Introduction to Game Programming Lesson 4 Lecture Notes Learning Objectives: Following this lecture, the student should be able to: Define frame rate List the factors that affect the amount of time a game

More information

HELPLINE. Dilwyn Jones

HELPLINE. Dilwyn Jones HELPLINE Dilwyn Jones Remember that you can send me your Helpline queries by email to helpline@quanta.org.uk, or by letter to the address inside the front cover. While we do our best to help, we obviously

More information

6.830 Lecture Transactions October 23, 2017

6.830 Lecture Transactions October 23, 2017 6.830 Lecture 12 -- Transactions October 23, 2017 Quiz 1 Back? Transaction Processing: Today: Transactions -- focus on concurrency control today Transactions One of the 'big ideas in computer science'

More information

Basic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis. Copyright 2012 L. Leona Davis All Rights Reserved

Basic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis. Copyright 2012 L. Leona Davis All Rights Reserved Basic Fiction Formatting for Smashwords in OpenOffice L. Leona Davis Copyright 2012 L. Leona Davis All Rights Reserved Cover Photo by Dmitry Maslov Cover Design by L. Leona Davis Smashwords Edition June

More information

HOW TO SETUP A PDF PRINTER FOR WINDOWS WITH AUTOMATICALLY CHOSEN FILENAME

HOW TO SETUP A PDF PRINTER FOR WINDOWS WITH AUTOMATICALLY CHOSEN FILENAME HOW TO SETUP A PDF PRINTER FOR WINDOWS WITH AUTOMATICALLY CHOSEN FILENAME by Lorenzo Monti (2009) http://www.lorenzomonti.it/ 1. Introduction Two years ago, I received a request by a customer of mine,

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

(Refer Slide Time: 01:25)

(Refer Slide Time: 01:25) Computer Architecture Prof. Anshul Kumar Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 32 Memory Hierarchy: Virtual Memory (contd.) We have discussed virtual

More information

A lot of people make repeated mistakes of not calling their functions and getting errors. Make sure you're calling your functions.

A lot of people make repeated mistakes of not calling their functions and getting errors. Make sure you're calling your functions. Handout 2 Functions, Lists, For Loops and Tuples [ ] Functions -- parameters/arguments, "calling" functions, return values, etc. Please make sure you understand this example: def square(x): return x *

More information

mid=81#15143

mid=81#15143 Posted by joehillen - 06 Aug 2012 22:10 I'm having a terrible time trying to find the Lightworks source code. I was under the impression that Lightworks was open source. Usually that means that it's possible

More information

User Guide for library patrons

User Guide for library patrons User Guide for library patrons Placing your own Interlibrary Loan Requests from library from home from work from school wherever there is internet access Using Zportal, the patron interface to INFO Ontario

More information

Contents. What's New. Version released. Newsletter #31 (May 24, 2008) What's New New version released, version 4.3.3

Contents. What's New. Version released. Newsletter #31 (May 24, 2008) What's New New version released, version 4.3.3 Campground Master Newsletter #31 (May 24, 2008) 1 Newsletter #31 (May 24, 2008) Contents What's New New version released, version 4.3.3 Q & A Retrieving credit card information Guarantee Info missing the

More information

Desktop Reference Guide

Desktop Reference Guide Desktop Reference Guide IP550 Telephone Using Your Telephone Your new telephone is a state of the art IP Telephone instrument. It is manufactured by IPitomy for use with the IPitomy IP PBX System. The

More information

BLACKBERRY WIRELESS DATABASE VIEWER USER GUIDE PRODUCT VERSION: 1.0

BLACKBERRY WIRELESS DATABASE VIEWER USER GUIDE PRODUCT VERSION: 1.0 BLACKBERRY WIRELESS DATABASE VIEWER USER GUIDE PRODUCT VERSION: 1.0. CONTENTS User Guide 1 INTRODUCTION...5 1.1 FEATURES...5 2 INSTALLATION...6 2.1 DESKTOP INSTALLATION...6 2.2 BLACKBERRY INSTALLATION:...11

More information

AntBuilder. Introduction

AntBuilder. Introduction AntBuilder This document is aimed at AntBuilder 1.21 AntBuilder helps you construct and maintain an Ant 1 build.xml file for your project. Yes, Maven is gaining in popularity, and supposedly Ant is on

More information

IP OFFICE PREFERRED VOIC REFERENCE GUIDE

IP OFFICE PREFERRED VOIC REFERENCE GUIDE IP OFFICE PREFERRED VOICEMAIL REFERENCE GUIDE SYRACUSE HOLLAND PATENT 1 Dupli Park Drive, 5 th Floor 9560 Main Street Syracuse, NY 13204 Holland Patent, NY 13354 Tel: 315-671-6200 Tel: 315-624-2000 Fax:

More information

Zip it, Zip it Good Doug Hennig

Zip it, Zip it Good Doug Hennig Zip it, Zip it Good Doug Hennig This month s article presents a class to zip and pack the files in a project, and a class to interface VFP with a zipping utility like WinZip. Combining these classes with

More information

Enterprise Edge 2.0 Voice Messaging Reference Guide

Enterprise Edge 2.0 Voice Messaging Reference Guide Enterprise Edge 2.0 Voice Messaging Reference Guide www.nortelnetworks.com 2000 Nortel Networks P0911621 Issue 02 Contents Chapter 1 How to use this guide 7 Introduction 7 Conventions and symbols used

More information

MITOCW watch?v=9h6muyzjms0

MITOCW watch?v=9h6muyzjms0 MITOCW watch?v=9h6muyzjms0 The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel. Hi. I'm Prateek Baheti. I'm a developer at ThoughtWorks. I'm currently the tech lead on Mingle, which is a project management tool that ThoughtWorks builds. I work in Balor, which is where India's best

More information

Watch the video below to learn more about number formats in Excel. *Video removed from printing pages. Why use number formats?

Watch the video below to learn more about number formats in Excel. *Video removed from printing pages. Why use number formats? Excel 2016 Understanding Number Formats What are number formats? Whenever you're working with a spreadsheet, it's a good idea to use appropriate number formats for your data. Number formats tell your spreadsheet

More information

AT&T Voice DNA Quick Reference Guide for the Polycom SoundPoint IP 321 and 331 Phones

AT&T Voice DNA Quick Reference Guide for the Polycom SoundPoint IP 321 and 331 Phones AT&T Voice DNA Quick Reference Guide for the Polycom SoundPoint IP 321 and 331 Phones This guide contains the key information you need to get started with your Polycom SoundPoint IP 321 or 331 phone that's

More information

Programming In Java Prof. Debasis Samanta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming In Java Prof. Debasis Samanta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming In Java Prof. Debasis Samanta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 06 Demonstration II So, in the last lecture, we have learned

More information

Creating a Patch. Created by Carl Heymann on 2010 Sep 14 1

Creating a Patch. Created by Carl Heymann on 2010 Sep 14 1 Created by on 2010 Sep 14 1 1. Starting a Patch To create a patch, and get it through the review process and into a main branch of a project, you can follow the following steps: Clone the project if you

More information

Integrating Visual FoxPro and MailChimp

Integrating Visual FoxPro and MailChimp Integrating Visual FoxPro and MailChimp Whil Hentzen We've all written our own email applications. I finally decided to use an outside service to handle my emailing needs. Here's how I used VFP to integrate

More information