{"text_format":"2","workbook":"xls","n_sheets":1,"sheets":["report2"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":1,"defined_names":1,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"report2","index":0,"n_rows":23,"n_cols":5,"rows_kept":23,"cut":false,"hidden":false,"merged":[[0,2,0,3],[0,4,0,5],[1,2,1,3],[1,4,1,5],[2,2,2,3],[2,4,2,5],[3,2,3,3],[4,2,4,3],[7,2,7,3],[8,2,8,3],[9,2,9,3],[10,2,10,3],[11,2,11,3],[13,2,13,3]],"flags":["formulas_cached_only"]}
[null,"1.","Record Nr.",null,"UNINA9910970090203321"]
[null,null,"Autore",null,"Akins Marcia"]
[null,null,"Titolo",null,"1001 things you wanted to know about Visual FoxPro / / Marcia Akins, Andy Kramek, Rick Schummer"]
[null,null,"Pubbl/distr/stampa",null,"Whitefish Bay, Wis., : Hentzenwerke Publishing, c2000"]
[null,null,"ISBN",null,"1-280-54412-0"]
[{"$nulls":4},"9786610544127"]
[{"$nulls":4},"1-930919-09-3"]
[null,null,"Descrizione fisica",null,"1 online resource (584 p.)"]
[null,null,"Disciplina",null,"005.75/75"]
[null,null,"Soggetti",null,"Database management"]
[null,null,"Lingua di pubblicazione",null,"Inglese"]
[null,null,"Formato",null,"Materiale a stampa"]
[null,null,null,"Livello bibliografico","Monografia"]
[null,null,"Nota di contenuto",null,"Intro -- Dedications -- List of Chapters -- Table of Contents -- Our Contract with You, The Reader -- Acknowledgements -- About Us -- How to Download the Files -- Introduction -- What is this book? -- A word about the code in this book -- So who is this book for? -- What is in this book? -- What is not in this book? -- Where do you start? -- Chapter 1 Controlling the VFP Environment -- Starting Visual FoxPro -- Configuration files -- How to specify a config.fpw file -- How VFP locates its configuration file -- How VFP starts up when no configuration file is found -- Including a configuration file in the project -- How to suppress a configuration file -- How to determine which configuration file is being used -- What goes into the configuration file? -- Special settings -- SET Commands -- Commands -- Giving VFP a path -- How VFP looks for files -- Setting the default directory -- Using the SET PATH command -- Where am I? -- How to set a path programmatically -- Making sure VFP is only started once -- Using a 'semaphore' file -- Using the Windows API -- Combination of semaphore and Windows API -- SET Commands and DataSessions -- What exactly does \"Default DataSession\" mean? -- So can I have a \"public\" Datasession? -- How can I ensure SET commands apply to a private data session? -- Adding code to BeforeOpenTables() -- Suppressing auto-open tables -- Creating an environment setting class -- How do I get rid of the system toolbars? -- The system toolbar \"Gotcha! -- Can I make use of keyboard macros in VFP? -- How can I construct a more complex macro? -- What is a \"Macro Set\"? -- What's the difference between a macro and an On Key Label? -- How do I "]
[{"$nulls":4},"create a 'Splash' screen? -- How do I run my splash screen? -- An alternative to the splash screen -- How to wallpaper your desktop -- So how can I get the size of the current _Screen area?."]
[{"$nulls":4},"Do I really need to create all these bitmaps? -- A toolbar 'gotcha!' -- Tidying up your development environment -- Closing VFP down -- What is an On ShutDown procedure? -- What triggers an On Shutdown procedure? -- What goes into an On Shutdown procedure? -- Chapter 2 Functions and Procedures -- How shall we proceed? -- Parameters (an aside) -- By reference, by value? -- How do I know what was passed? -- How should I position my parameters? -- How can I return multiple values from a function? -- What about using named parameters? -- Passing parameters optionally -- Date and time functions -- Elapsed time -- Date in words -- Calculating Age -- What date is the second Tuesday in October of 2000? -- Setting up a payment schedule -- What date is ten business days from today? -- Gotcha! Strict date format and parameterized views -- Working with numbers -- Converting numbers to strings -- Gotcha! calculations that involve money -- String functions -- Gotcha! string concatenation -- Converting between strings and data -- Other useful functions -- How do I determine if a tag exists? -- How do I determine if a string contains at least one alphabetic character? -- How to convert numbers to words -- How to extract a specified item from a list -- Is there a simple way of encrypting passwords? -- Where do you want to GOTO? -- Chapter 3 Design, Design and Nothing Else -- So why all the fuss about OOP anyway? -- So, just what does all this OOP jargon mean? -- Property -- Method -- Event -- Messages -- Classes and Objects -- Inheritance -- Composition -- Aggregation -- Delegation -- Encapsulation -- Polymorphism -- Hierarchies -- Practical object oriented programming (POOP) -- When should you define a class? -- So how do you go about designing a class? -- This all sounds very good but what does it mean in practice? -- How do you go about building your classes?."]
[{"$nulls":4},"But does all this design stuff really work in practice? -- How does the design actually translate into code? -- Working with your classes -- How do I get my classes into the form controls toolbar? -- While we're at it, how can I identify my custom classes in the toolbar? -- But whenever I want white in my bitmaps it shows up gray! -- How do I make Visual FoxPro use my classes instead of base classes? -- How do I change the caption of the label that VFP adds? -- So can I get a browse to show the field name when a caption is set? -- User interface design -- Perception governs acceptance -- Keep your users focussed -- Use the right control for the job -- Chapter 4 Basic Controls -- What do we mean by 'basic'? -- Text boxes -- Text box label class -- Date text box -- Incremental search text box -- Numeric text box -- Handling time -- A time entry text box -- A time entry composite class -- The true time spinner -- Blinking labels -- The expanding edit box -- Calendar combo -- Command buttons -- Gotcha! Programming the logical controls -- Pages and page frames -- Chapter 5 Combos and Lists -- Combo and list box basics -- List and ListItem collections -- When do the events fire? -- How do I bind my combo and list boxes? -- How do I refer to the items in my combo and list boxes? -- What is the difference between DisplayValue and Value? -- What's the difference between RowSourceTypes \"alias\" and \"fields\"? -- How do I make my combo and list boxes point to a particular item? -- Quickfill combos -- How do I add new items to my combo and list boxes? -- How do I filter the items displayed in a second combo or list box based on the selection made in the first? -- A word about lookup tables -- Generic lookup combos and lists -- So what if I want to bind my combo to a value that isn't in the list? -- How do I disable individual items in a "]
[{"$nulls":4},"combo or list?."]
[{"$nulls":4},"How do I create a list box with check boxes like the one displayed by Visual FoxPro when I select \"View Toolbars\" from the menu? -- A mover list class -- What if I need to display hundreds of items in my combo box? -- Chapter 6 Grids: The Misunderstood Controls -- When do the events fire? -- Gotcha! Grid's valid fires before the valid of the current control -- What is the difference between ActiveRow and RelativeRow? -- Gotcha! ActiveColumn does not really tell you which is the active column -- How do I highlight the current grid row? -- How do I keep my grid from scrolling when the user tabs off the last column? -- How do I create multiline headers? -- Gotcha! Scrolled event does not fire when cursor keys scroll the grid -- Using tool tip text instead of multiline headers -- How do I change the grid's display order? -- How do I control the cursor? -- How do I display the last full page of a grid? -- How do I use a grid to select one or more rows? -- How do I give my multiselect grid incremental search capability? -- How do I use DynamicCurrentControl? -- How do I filter the contents of a grid? -- So what about data entry grids? -- How do I add new records to my grid? -- How do I handle row level validation in my data entry grid? -- How do I delete records in my data entry grid? -- How do I add a combo box to my grid? -- Conclusion -- Chapter 7 Working with Data -- Tables in Visual FoxPro -- Some basics -- How to open the specific table you want to use -- How to get the structure of a table -- How to compare the structures of two tables? -- How to test for the presence of a field in a table -- How to check if a table is being used by another user -- What is exactly is a cursor? -- Indexes in Visual FoxPro -- Types of indexes -- How to get information about an index -- How to test for the existence of an index tag -- Using candidate (and primary) keys."]
[{"$nulls":4},"What is a \"surrogate key\"? -- Managing user-entered keys -- Using indexes with bound tables -- How to index mixed data types when creating a compound key -- How to index a buffered table -- Working with the database container -- Using long table names -- Using long field names - don't!!! -- Using database containers -- How to validate a database container -- How to pack a database container -- Moving a database container -- Renaming a database container -- Managing referential integrity in Visual FoxPro -- Limitations of the generated RI Code -- Using compound keys in relationships -- What about other RI options? -- Using triggers and rules in Visual FoxPro -- So what's the practical difference between a 'trigger' and a 'rule'? -- Why, when adding a trigger to a table, does VFP sometimes reject it? -- Can I temporarily disable a trigger or rule then? -- How do I actually create my trigger and rule procedures? -- How do I add a trigger to a table? -- So when should I use a trigger? -- And when should I use a rule? -- Must a trigger or rule always refer to a single function? -- Chapter 8 Data Buffering and Transactions -- Using data buffering -- Where are we coming from? -- What do we mean by 'buffering' anyway? -- What does all this mean when creating data-bound forms? -- So just how do I set up buffering in a form? -- So what mode of buffering should I use in my forms? -- Changing the buffer mode of a table -- IsChanged() - another function that FoxPro forgot? -- Using TableUpdate() and TableRevert() -- Managing the scope of updates -- TableUpdate()'s second (force) parameter -- Specifying the table to be updated or reverted -- Conclusion -- How can I handle 'save' and 'undo' functionality generically? -- The design of the form class -- Using the new form class -- Detecting and resolving conflicts -- The role of OldVal() and CurVal()."]
[{"$nulls":4},"So how do I actually detect conflicts?."]
[null,null,null,"Sommario/riassunto","1001 Things provides the granular how-to techniques of every area of "]
[{"$nulls":4},"traditional Visual FoxPro application development. It's the perfect intermediary between Hackers Guide and Effective Techniques. The Hacker s Guide to Visual FoxPro is the exhaustive command and function reference to the Visual FoxPro language. Effective Techniques for Application Development with Visual FoxPro shows you big picture and in-depth strategies for building apps. In between these two classics comes 1001 Things You Wanted to Know About Visual FoxPro. Contains over 500 pages of tips, tricks and traps. \""]