Folde Tabs

In this lesson we want to make a new window with folder tabs.

Start by creating a folder.per with: DATABASE FORMONLY

LAYOUT

FOLDER PAGE(text=”Information”) GRID {

Name: [mx1 ] Last Name: [mx2 ] Age: [mx3 ] Birth: [mx4 ]

} END END

PAGE(text=”Adress”) VBOX GRID {

Street: [mx5 ] City: [mx6 ] Zipcode: [mx7 ] Country: [mx8 ]

} END END END END

ATTRIBUTES

mx1 = FORMONLY.name; mx2 = FORMONLY.lname; mx3 = FORMONLY.age; mx4 = FORMONLY.birth; mx5 = FORMONLY.street; mx6 = FORMONLY.city; mx7 = FORMONLY.zipcode; mx8 = FORMONLY.country; Now we have two new commands “FOLDER” and “PAGE” FOLDER creates our new tabs and PAGE declares the name for the new tabs.

Compile this form with “fcompile -xml folder.per” The next step is to create our main program folder.4gl MAIN

DEFINE name CHAR(50), lname CHAR(50), age CHAR(50), birth CHAR(50), street CHAR(255), city CHAR(255), zipcode CHAR(255), country CHAR(255)

  CALL ui.Interface.loadActionDefaults(”default”)
  CALL ui.Interface.LoadStyles(”default”)

  CLOSE WINDOW screen
  OPEN WINDOW w_1 WITH FORM “m_folder”

  CALL ui.Interface.setText(”Folder example”)

  MENU “Navigation”
        COMMAND “Ok”
        COMMAND “Edit”
              CALL edit()
        COMMAND “Exit”
              EXIT MENU
  END MENU

END MAIN

FUNCTION edit() DEFINE name CHAR(50), lname CHAR(50), age CHAR(50), birth CHAR(50), street CHAR(255), city CHAR(255), zipcode CHAR(255), country CHAR(255)

  OPTIONS INPUT WRAP
  INPUT BY NAME name,
                lname,
                age,
                birth,
                street,
                city,
                zipcode,
                country

END FUNCTION Our folder window is now finished. You can compile this example with “4glpc folder.4gl -o folder.4ae