Alpha Video Training
Results 1 to 30 of 30

Thread: Version Control

  1. #1
    Member
    Real Name
    Jeff Fagerman
    Join Date
    Feb 2009
    Location
    Somerville, AL
    Posts
    41

    Default Version Control

    My first post. I'm just starting in A5 coming from MS (VB6, .NET) and FoxPro database. So far I'm VERY impressed. I have lots of questions I hope the forum can help with.

    Let me start with Version Control. All of my MS work uses VSS. Should I continue to use VSS with A5 and what files are typically stored for version control (everything is much different - thankgoodness!).

    Jeff

  2. #2
    "Certified" Alphaholic Keith Hubert's Avatar
    Real Name
    Keith Hubert
    Join Date
    Jul 2000
    Location
    London, UK
    Posts
    6,930

    Default Re: Version Control

    Hi Jeff,

    Welcome to Alpha.

    I do not know about VSS, the only time you would use a Version Number in Alpha in a network environment.

    This is where you had done an update on the server and you now want all users to update their machines. This can be set to be done manually or automatically. When the Version Number on the server gets changed, this can then be seen by all the users. You can then see who has not updated if it is set to be done manually.
    Regards
    Keith Hubert
    Alpha Guild Member
    London.
    KHDB Management Systems
    Skype = keith.hubert


    For your day-to-day Needs, you Need an Alpha Database!

  3. #3
    "Certified" Alphaholic
    Real Name
    Raymond Lyons
    Join Date
    Apr 2000
    Location
    Carlsbad, CA
    Posts
    2,143

    Default Re: Version Control

    Keith, I think Jeff is referring to MS Visual Version Safe, presumably used when more than one person is working on a development project. That leaves me out since I work alone, so I know nothing about how one might use MS VSS with Alpha Five. Interestingly, reportedly MS VSS is one case in which MS does not "eat its own dog food," so I suspect there are better products out there (I wonder what other kinds of dog food they might be eating instead of their own products?). Maybe someone else can help with this question. Or maybe Jeff means something else by "VSS".

    Ray

  4. #4
    Member
    Real Name
    Jeff Fagerman
    Join Date
    Feb 2009
    Location
    Somerville, AL
    Posts
    41

    Default Re: Version Control

    Thanks for the replies. VSS is Visual Source Safe. It's an absolute necessity even for a single developer. It keeps a history of all of your file changes. So if you needed to roll back to "last Tuesdays" code because your new work just isn't going to make it, you just roll back to Tuesdays code and start again. VSS is actually very nice.

    I will often find myself making some sort of change that I may decide isn't better than what I had and will revert to my prior version of code/interface.

    You've peeked my curiosity about the "software versions" for deploying the applications. This is as of yet a mystery to me with A5 but I'll figure it out soon enough.

    As a developer do you recommend the add-ons for A5V9? Thanks again.

  5. #5
    "Certified" Alphaholic Ted Giles's Avatar
    Real Name
    Ted Giles
    Join Date
    Aug 2000
    Location
    In the Wolds, Louth, Lincolnshire, UK
    Posts
    4,405

    Default Re: Version Control

    Jeff, I develop and deploy on a regular basis.
    Here's what I do - right or wrong.
    Create an Install package with a sensible numbering and date system.
    Keep the data and the Run Time separate.

    This is how Alpha recovered very nicely when a Version 9 was deployed and caused a lot of problems.

  6. #6
    "Certified" Alphaholic
    Real Name
    Raymond Lyons
    Join Date
    Apr 2000
    Location
    Carlsbad, CA
    Posts
    2,143

    Default Re: Version Control

    Quote Originally Posted by JAF View Post
    Thanks for the replies. VSS is Visual Source Safe. It's an absolute necessity even for a single developer. It keeps a history of all of your file changes. So if you needed to roll back to "last Tuesdays" code because your new work just isn't going to make it, you just roll back to Tuesdays code and start again. VSS is actually very nice.

    I will often find myself making some sort of change that I may decide isn't better than what I had and will revert to my prior version of code/interface.

    You've peeked my curiosity about the "software versions" for deploying the applications. This is as of yet a mystery to me with A5 but I'll figure it out soon enough.

    As a developer do you recommend the add-ons for A5V9? Thanks again.
    Well, it might be a good idea but clearly it is not "an absolute necessity even for a single developer." I have daily backups I can go back to, plus when I am worried about something I'll make a backup on the fly. Still I would be interested in other people's views and what they might use (especially non-MS dog food!).

    As for other add-on utilities you should look into those by Bill Parker, Ira Perlow and Cal Locklin. There may be others.

    Ray

  7. #7
    "Certified" Alphaholic DaveM's Avatar
    Real Name
    Dave Mason
    Join Date
    Jul 2000
    Location
    Hudson, FL
    Posts
    6,026

    Default Re: Version Control

    Jeff,

    I deploy frequently and program alone and use a similar method as Ted except. I keep a folder in history with each change so I can go back. In other words, a dated folder with a backup/copy of the whole app that i can open and copy the old code that worked better as an example.

    I also have word documents filled with good and bad(didn't work right) code I can go back to. One day I will find the time to put it all in a table or 2.

    I have developed in a multiuser environment before source safe and we all worked on different areas of the program and then put it together later. We each backed up our own portion seperately. We generally had a meeting every day to discuss where we were and how it all went together at the end.

    With Alpha(and some others), 2 people(or more) could be working at the same time on the same app if needed. Again, in 2 or more different areas of the app.

    Others may have better ideas.
    Dave Mason
    dave@aldausa.com
    Skype is dave.mason46

  8. #8
    "Certified" Alphaholic Ted Giles's Avatar
    Real Name
    Ted Giles
    Join Date
    Aug 2000
    Location
    In the Wolds, Louth, Lincolnshire, UK
    Posts
    4,405

    Default Re: Version Control

    I thought Dave would be more organised than me:o but I have also developed a small app which (sort of) handles my history. It is PRINCE2 based as I work a lot for the Government. I also keep a pad for each client app so I can record the changes and bill 'em!

    If you are in a collaborative development, I suggest you look at Visual Paradigm - Community edition (unless you have $3000 spare). It is a UML based product. Also Toad Data Modeller is good for getting the Tables right. After that it is quite easy to let developers loose on the design side. Visio is OK, but expensive for what it is. The others are free and with enough functionality for us mortals.

    If you are using Agile/Scrum as a methodology, buy a Tin Hat and a bullet proof vest.

    Ted
    PS Now you have got me started, you will believe that you think that don't need to write a load of Help text. This is because you will find that Alpha is so easy to use that it should be the same for everyone else.

    Try Techsmith's "Jing" to see if you like adding video help. I've added it to screens with some fancy options, and on a button clickthrough, the video plays showing the functionaility. Saves a bit on training as well.
    Last edited by Ted Giles; 02-13-2009 at 06:10 PM. Reason: Got all excited!

  9. #9
    VAR
    Real Name
    Bill Parker
    Join Date
    Apr 2000
    Location
    Dallas, TX
    Posts
    1,719

    Default Re: Version Control

    When I am in development mode I make a "build" about once a day. For me a build consists of setting a build version number for my app in Alpha. If table structures have not been edited then I just zip all dictionaries using Alpha's zip utility. If table structures have been changed then the tables are included (with some caveats). I have a naming structure for the zip files to keep things straight.

    I RDP to most of my clients and do the install myself, so I normally do not build an exe installer.

    With this method of dictionaries only it is quite easy to roll back to a previous build. If I need some sort of a hybrid of dictionaries and data, I just build it in a test folder.

    Bill.

  10. #10
    Member
    Real Name
    Jeff Fagerman
    Join Date
    Feb 2009
    Location
    Somerville, AL
    Posts
    41

    Default Re: Version Control

    The topic has somewhat diverged from my original question, partly because I was asking about development code/table defs, etc., being stored with a complete revision history not so much deploying different versions of an app.

    Now, on to versioning an app. IF you make changes to a deployed database, adding new tables, fields, etc., how do you update all of your customer installations (if you have hundreds or thousands of installations)? In my VB/VFP code I store the database (db) version number in a table, when I deploy a new app I check the existing db version number against the new version, run some update commands to alter the tables, and away I go. Each customer may have a number of updates depending on how long they've gone without updates and how many separate client databases they have.

    So how is this best done in A5? I'm curious about the versioning and how the updates are done (xbasic, etc.). I'm fired up about A5. I should have switched over 5 years ago.

  11. #11
    Volunteer Moderator Peter.Greulich's Avatar
    Real Name
    Peter Greulich
    Join Date
    Apr 2000
    Location
    Boston, MA
    Posts
    11,649

    Default Re: Version Control

    Quote Originally Posted by JAF View Post
    IF you make changes to a deployed database, adding new tables, fields, etc., how do you update all of your customer installations (if you have hundreds or thousands of installations)?
    Most people here probably don't have 100s or 1000s of installations - at least based upon the posts I have read, which may explain why I have never heard anyone on this board talk about using version control software. So, in your situation I can see the problem. If you make structural updates at regular intervals, then I can see you would need a mechanism to adjust each individual user's status to the current version. Interesting...
    Although, the versioning "control" and the update mechanism seem to be two different issues, no?

    I'm fired up about A5. I should have switched over 5 years ago.
    Nice to see your enthusiasm.

  12. #12
    "Certified" Alphaholic
    Real Name
    Cal Locklin
    Join Date
    Mar 2000
    Location
    S.E. Michigan
    Posts
    5,763

    Default Re: Version Control

    Quote Originally Posted by JAF View Post
    ...Now, on to versioning an app. IF you make changes to a deployed database, adding new tables, fields, etc., how do you update all of your customer installations (if you have hundreds or thousands of installations)? In my VB/VFP code I store the database (db) version number in a table, when I deploy a new app I check the existing db version number against the new version, run some update commands to alter the tables, and away I go. Each customer may have a number of updates depending on how long they've gone without updates and how many separate client databases they have.

    So how is this best done in A5? I'm curious about the versioning and how the updates are done (xbasic, etc.). I'm fired up about A5. I should have switched over 5 years ago.
    I have a couple generic apps but not 100 users. (not yet anyway but I keep hoping) The details could get rather lengthy but in short:

    In my A5 database I store the database (db) version number as the Network Optimize number (A5 Control Panel / Tools / Network Optimize / Options tab), when I deploy a new app I let A5 check the existing db version number against the new version and the autoexec runs some update commands to alter the tables, and away I go. Each update I build will handle all previous updates so customers do not have to update one version at a time. If they are on version 6.150 and the current version is 6.220, they just install the update for 6.220.

  13. #13
    Member
    Real Name
    Richard James
    Join Date
    Jun 2004
    Location
    Atlanta, Ga.
    Posts
    226

    Default Re: Version Control

    JAF --

    We have an application that has been deployed to approximately 50 different sites, a number of which have multiple shadowed workstations. We put a calculated variable on the main menu of the application which is composed of the date - version number - A5 version (build number). This typically would appear as follows:

    02-15-2009 - 231 - v9 (1938)

    The version number (231 in this example) is also the one specified in network optimization as described elsewhere in this thread. Since it is hardcoded as displayed text on the main menu, it automatically updates with each version update, and we can quickly tell what we are dealing with when a user calls with problems. In order to update a version, we unzip only the application files & not the data files. We automated this & put it on a button. We also enable our users to download the latest version from a server so that when a new version is available, we just do a broadcast email, and the users do the rest.

    In order to add fields to tables, we execute a script at the start of the application which I fould elsewhere on this forum. Here is a sample of the code that adds just a few fields:

    Code:
    dim i as n'   index for while loop.
    i = 1
    dim actualfields as c
    dim missingfield as c
    dim maxfieldstoadd as n
    maxfieldstoadd = 100
    dim newfields[maxfieldstoadd] as c
    dim newfieldspecs[maxfieldstoadd] as c
    dim newfieldtable[maxfieldstoadd] as c
    
    
    'Three array entries are required for each new field in table.  
    j= 1
    
    newfieldtable[j] = "tblMoveOuts"
    newfields[j] = "UpdatedDate"
    newfieldspecs[j] = ",D,8"
    message.text = "Initializing "+newfieldtable[j]+" - "+newfields[j]
    'Added 10/27/2008
    
    j = j + 1
    newfieldtable[j] = "tblMoveOuts"
    newfields[j] = "DispoCaseNo"
    newfieldspecs[j] = ",C,20"
    message.text = "Initializing "+newfieldtable[j]+" - "+newfields[j]
    'Added 10/28/2008
    
    j = j + 1
    newfieldtable[j] = "tblPeople"
    newfields[j] = "BeginMonthSD"
    newfieldspecs[j] = ",n,19,2"
    message.text = "Initializing "+newfieldtable[j]+" - "+newfields[j]
    'Added 11/01/2008
    
    j = j + 1
    newfieldtable[j] = "tblMoveOuts"
    newfields[j] = "BalanceRecovered"
    newfieldspecs[j] = ",N,15,2"
    message.text = "Initializing "+newfieldtable[j]+" - "+newfields[j]
    'Added 11/28/2008
    
    j = j + 1
    newfieldtable[j] = "tblPeople"
    newfields[j] = "BeginLastMonthSD"
    newfieldspecs[j] = ",n,19,2"
    message.text = "Initializing "+newfieldtable[j]+" - "+newfields[j]
    'Added 01/28/2009
    
    j = j + 1
    newfieldtable[j] = "tblUnitInformation"
    newfields[j] = "EmployeeUnitYN"
    newfieldspecs[j] = ",L,1"
    message.text = "Initializing "+newfieldtable[j]+" - "+newfields[j]
    'Added 02/03/2009
    
    j = j + 1
    newfieldtable[j] = "tblUnitInformation"
    newfields[j] = "ModelUnitYN"
    newfieldspecs[j] = ",L,1"
    message.text = "Initializing "+newfieldtable[j]+" - "+newfields[j]
    'Added 02/03/2009
    
    
    
    
    
    '---------------------------------
    lblAddtheFields:
    
    message.text = ""
    while i <= j
    addedfieldspecs = newfields[i]+newfieldspecs[i]
    actualfields = table.external_field_name_get(newfieldtable[i],"n")
    missingfield = word_subtract(newfields[i],actualfields)
    message.text = right(message.text + "Check:  "+newfields[i],780)
    if missingfield <> "" then
    	xbasic_wait_for_idle()
    	a5_add_fields_to_table(newfieldtable[i], addedfieldspecs)
    	message.text = Right(message.text +" - Added in " + newfieldtable[i]+ crlf(),780)
    else
    	message.text = Right(message.text +" - OK"+crlf(),780)
    end if
    i = i+1
    if newfields[i]=""then
        i=100000
    end if
    end while
    end 
    
    '----------------------------------- Script ends here.
    Running this code when the fields already exist does not cause a problem, but changing the field specs after they have been installed does not work. Furthermore, the order of fields in tables should not be changed.

    There are others on this forum who have more sophisticated update procedures than this one, but this approach allows you to get started without obtaining update utilities from other sources.

    Hope this is helpful.

    -- Dick James

  14. #14
    "Certified" Alphaholic
    Real Name
    Cal Locklin
    Join Date
    Mar 2000
    Location
    S.E. Michigan
    Posts
    5,763

    Default Re: Version Control

    Quote Originally Posted by DickJames View Post
    ... changing the field specs after they have been installed does not work. ...
    Can you clarify what you mean by that? It's not terribly unusual for me to increase a field length as part of the update routine in my autoexec. I've also been known to reduce a field length or even change a field type but both of those are highly unusual. (And, changing the field type is much more complicated.)

    I do believe that this restructuring should be part of the autoexec routine because then it will happen as soon as the update is installed. Of course, the "update fields" part should check to see if the updates are already done and skip the update section completely in that case. (I believe the routine you posted does all that but I didn't analyze it carefully.)

  15. #15
    Member
    Real Name
    Richard James
    Join Date
    Jun 2004
    Location
    Atlanta, Ga.
    Posts
    226

    Default Re: Version Control

    Cal --

    What I mean by that is that it does not work with this routine. Once a field has been added to a table, I have found that changing the field length with my routine above does not work. I understand there are other ways to do it, however.

    My method thus far in adding tables has been to simply include the table (dbf file) in the version update. This is not a good method, however, because if the version update is run again after the table has been used, the data added to the table is lost.

    In your second paragraph, you give my routine too much credit. It only adds fields to tables, and it runs every time the program starts up. I realize this is a little crude. Eventually, I'll probably have to either obtain or write something that adds tables, alters field lengths, etc. I believe Finian Lenon posted some utilities several years ago that do this, but at the time I looked at them, I was not adept enough with Xbasic to take advantage of them.

    -- Dick James

  16. #16
    "Certified" Alphaholic
    Real Name
    Cal Locklin
    Join Date
    Mar 2000
    Location
    S.E. Michigan
    Posts
    5,763

    Default Re: Version Control

    Try this link, I posted a number of routines I use for adding fields and changing their size. It also shows how I check for the lastest update and skip the routine if it already exists:
    http://msgboard.alphasoftware.com/al...68&postcount=5

    Quote Originally Posted by DickJames View Post
    My method thus far in adding tables has been to simply include the table (dbf file) in the version update. This is not a good method, however, because if the version update is run again after the table has been used, the data added to the table is lost.
    This is another reason I use a third party installer - I can include new tables with the update with no concern about them rerunning it. The install routine is set to overwrite everything except the data files. Those are set to "Never Overwrite". That way it doesn't matter how many times the user re-installs an update. In fact, the only difference for the user between my "install" routines and my "update" routines are that the "update" downloads faster because it doesn't include the runtime files. They could also re-run the original "install" routine as often as they wanted and there would be no concern about overwriting data. If they really wanted to start from scratch, they'd have to 'manually' delete the .dbf/.fpt and, preferably, the .cdx files.

    Note: There is a slight difference in the internal setup of my update routines because I allow the user to install the program under any folder they choose and put the application in a subfolder under the runtime but, although it's not that difficult, it takes awhile to describe so I won't go into that here. Later: I found a previous post of my method: http://msgboard.alphasoftware.com/al...8&postcount=17

    That's also one reason I normally use install programs even for single-user updates. With a zip file it may be possible for them to mess something up by unzipping again later. The way my install routines are set up, it doesn't matter - the worst they can do is to re-install an older version by mistake. Even newer table changes will usually work fine with older versions since new fields are added at the end of the table. There might be a problem with field size changes but those are rare. The solution would be to simply re-install the newer version - field size changes won't reverse themselves so that's not a concern.

  17. #17
    Member
    Real Name
    Jeff Fagerman
    Join Date
    Feb 2009
    Location
    Somerville, AL
    Posts
    41

    Default Re: Version Control

    Now we are on to something. Based upon the routine posted and other responses I believe I can achieve what needs to be done in my case. I just wanted to make sure before I commit to A5. I absolutely must be able to update my database (add/alter fields and tables, drop tables, etc.) when opening a database. I cannot do this at install time because there may be many databases per seat, some may not even be resident during installation. I also have to be able to gain exclusive access rights to lock out any other user during this operation.

    I think I will change from my current method though. Currently the app looks at the versions and does the upgrade. In A5 I will probably inform the user that an "admin" module must be run (with exclusive rights) to perform the update before they can proceed.

    A5 is already causing me to lose sleep! Because I can't stop reading the wealth of information available - it's awesome.

  18. #18
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,311

    Default Re: Version Control

    Dick, I've quickly reviewed your script and don't see anything there that would cause Alpha Five to change a field width for an existing field. Why do you think your script should be able to do so? What am I missing? -- tom

  19. #19
    Member
    Real Name
    Richard James
    Join Date
    Jun 2004
    Location
    Atlanta, Ga.
    Posts
    226

    Default Re: Version Control

    Tom --

    In my example above, the routine creates a field called dispocaseno that is 20 characters long. If I subsequently decided that I wanted the field to be 25 characters long, I might (did) try to simply change the field spec in my routine to

    Code:
    newfieldspecs[j] = ",C,25"
    and add the field again by re-running the routine. In my experience, this does (did) not work.

    -- Dick James

  20. #20
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,311

    Default Re: Version Control

    Dick, why do you think that would work? The only statement which manipulates the target table (that I saw, anyway) is
    Code:
    a5_add_fields_to_table(newfieldtable[i], addedfieldspecs)
    Nothing in the help file documentation on this statement indicates it can be used to change a field width. I must be missing something obvious here?

  21. #21
    Member
    Real Name
    Jeff Fagerman
    Join Date
    Feb 2009
    Location
    Somerville, AL
    Posts
    41

    Default Re: Version Control

    Is it possible to run an SQL command at this point? Something like this perhaps:

    ALTER TABLE YourTableName ALTER FieldName C (80)

    To change YourTableName such that FieldName is changed from whatever it was, maybe a 20 character field, to an 80 character field? I'm sure this is not A5 syntax for the field name definition but you get the drift...

  22. #22
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,311

    Default Re: Version Control

    Jeff, don't know about SQL tables, but for native Alpha Five tables the A5_ChangeFieldSize() function looks like it would do the trick.

  23. #23
    "Certified" Alphaholic DaveM's Avatar
    Real Name
    Dave Mason
    Join Date
    Jul 2000
    Location
    Hudson, FL
    Posts
    6,026

    Default Re: Version Control

    JAF,

    All my apps are in the same folder with my runtimes. In other words, if I have a widget sales app, it has the runtime for it in the same folder. This simplifies a lot for me. They can be easily placed in any folder the user chooses or the choice I have made. I also make a simple exe to execute it all.

    My manipulation of fields are done on first start of a newly installed update by way of the bootstrap at server level. First by checking for a field and the checking for size, etc. If changes are needed, they are don there. Before anything is touched, a copy of all is placed in a safe folder for later go-back if necessary. The bootstrap for workstations is a bit simpler, but they may have to be redone also if there is an Alpha Version change.

    I am talking about dbf files only here. I have not tackled that side of sql to this point. I listen with interest as you all sort this out so I will have a better idea also.
    Dave Mason
    dave@aldausa.com
    Skype is dave.mason46

  24. #24
    Member
    Real Name
    Richard James
    Join Date
    Jun 2004
    Location
    Atlanta, Ga.
    Posts
    226

    Default Re: Version Control

    Tom --

    Dick, why do you think that would work?
    As I have said several times now, it will not work, and I do not think it will work.

    However, if someone is learning the language, (as I was and still am), it is not unusual to misunderstand how a statement will work. My incorrect theory was that adding a field was the same as replacing a field, which it is not.

    I confess I probably attempted to do this before I understood the documentation. I don't think you are missing anything obvious here.

    -- Dick

  25. #25
    "Certified" Alphaholic
    Real Name
    Tom Cone Jr
    Join Date
    Apr 2000
    Location
    Florida
    Posts
    23,311

    Default Re: Version Control

    Dick, I thought you were saying your script was failing to do something you thought it ought to be doing. i.e. that something here was "broken" in Alpha Five. I'm sorry if I made more out of this than was appropriate. Your code isn't broken. It just doesn't include the code necessary to change field widths. -- tom

  26. #26
    "Certified" Alphaholic DaveM's Avatar
    Real Name
    Dave Mason
    Join Date
    Jul 2000
    Location
    Hudson, FL
    Posts
    6,026

    Default Re: Version Control

    Dick,

    The old method of adding and otherwise changing fields was to make an empty table of a different name. Include this table with your update. Append the data from the table you are going to replace. delete the table to be replaced at the dos level(leaves the support files if needed. Rename the new table to the same name as the table deleted. clean up any support files left over.

    With newer method/functions, we can do it muchsimpler as long as we don't make a dumb error.

    It was not many years ago that people on this forum told me you could not change or add a field in a dbf file with Alpha. Thank goodness it was changed. We were doing it 20 years ago in Clipper.
    Dave Mason
    dave@aldausa.com
    Skype is dave.mason46

  27. #27
    VAR csda1's Avatar
    Real Name
    Ira J Perlow
    Join Date
    Apr 2000
    Location
    Boston, Massachusetts, USA
    Posts
    3,530

    Default Re: Version Control

    Hi Dave,

    Quote Originally Posted by DaveM View Post
    It was not many years ago that people on this forum told me you could not change or add a field in a dbf file with Alpha. Thank goodness it was changed. We were doing it 20 years ago in Clipper.
    If someone on this forum told you that, they were wrong.

    Alpha has had the ability to do that in Alpha 3 (1986), Alpha 4 (1988?) and Alpha 5 (1994?) always.

    The only warning someone might have given is that some of the table dictionary entries (things like operations, forms etc) might (and I reiterate MIGHT) have been field position specific, rather than name specific. Also, some of them might have had confusion to 10 character names vs larger than 10 character names. Hence, Cal, myself and others have always told people to use 10 or less characters in their field and index names (plus it is more standard for other programs reading the dbf). New fields were best handled by adding new fields to the end of the table, and not deleting an old fields.

    Changing a field's width did not and does not change the display width on layouts (although it might be nice to have that option)
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture



  28. #28
    "Certified" Alphaholic Stan Mathews's Avatar
    Real Name
    Stan Mathews
    Join Date
    Apr 2000
    Location
    Bowling Green, KY
    Posts
    25,119

    Default Re: Version Control

    I think he means/meant via code.

  29. #29
    VAR csda1's Avatar
    Real Name
    Ira J Perlow
    Join Date
    Apr 2000
    Location
    Boston, Massachusetts, USA
    Posts
    3,530

    Default Re: Version Control

    Hi Stan,

    I think you are right, however, Alpha 4 could do it out of the box. Alpha 5 could do it as well. There may not have been easy functions out of the box in earlier versions, but you could clearly do it by code if you wanted/needed it, wrapping it into a nice little function.
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture



  30. #30
    "Certified" Alphaholic DaveM's Avatar
    Real Name
    Dave Mason
    Join Date
    Jul 2000
    Location
    Hudson, FL
    Posts
    6,026

    Default Re: Version Control

    I did mean via code.

    I have always known how to mess up, I mean change fields and makem, etc. the standard method. There was no way(according to people on this site) to add or alter a field in a table on the fly.

    I always new it was possible somehow or how could Alpha let us do it. Plus we had been doing it VIA CODE in clipper for a long time before I asked.

    I have followed and try to get others to follow the "10" naming convention also.
    Dave Mason
    dave@aldausa.com
    Skype is dave.mason46

Similar Threads

  1. version control
    By BEAMER in forum Alpha Five Version 8
    Replies: 6
    Last Post: 12-06-2007, 11:47 AM
  2. Install Version Control for A5-v7 and beyond...
    By KeithW in forum Alpha Five Version 7
    Replies: 7
    Last Post: 03-31-2006, 11:20 PM
  3. Version control
    By Rick Gerlach in forum Alpha Five Version 5
    Replies: 5
    Last Post: 06-15-2004, 08:23 AM
  4. A5 - Version Control
    By James Heagney in forum Alpha Five Version 4
    Replies: 1
    Last Post: 01-16-2002, 10:16 AM
  5. Version Control(s)
    By Tom Cone Jr in forum Alpha Five Version 4
    Replies: 3
    Last Post: 08-05-2000, 03:42 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •