Skip to content

Dan Jinks

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 37 total)
  • Author
    Posts
  • in reply to: Reading the value of recid_ro_internal #3385
    Dan Jinks
    Participant

    I also know why I could not access recid_ro_internal from the Volatable.
    It seems that this function in db1util.sma:
    function copy_db1rec_to_db1rec(type(db1record) fr, type(db1record) tr, integer iErrnum)

    intentionally does not copy the recid_ro_internal field.

    Good to know.

    in reply to: Reading the value of recid_ro_internal #3384
    Dan Jinks
    Participant

    Success!
    {dataform1control.getrecord() was the key)

    in reply to: Reading the value of recid_ro_internal #3383
    Dan Jinks
    Participant

    Hmmm.

    dataform1control.getrecord()
    This looks promising.

    in reply to: Reading the value of recid_ro_internal #3382
    Dan Jinks
    Participant

    I am trying a different approach to get the recid_ro_internal key. I have established an onmouse event function for the detailblock text controls and I can retrieve the detailblock row number. I thought I could then get to the associated record. The detailblock has functions getrowdata and setrowdata. The setrowdata returns a recordset but I do not see how to get from that information to the actual table record behind the clicked detailblock row.

    Any suggestions?

    in reply to: Where is the source for the function selrec? #3376
    Dan Jinks
    Participant

    After re-reading the ide and debugger help files, I had a thought that i might need to re-import the sma files from other projects. I was right! Now I can see that the selrec function is in appfremework. Previously, my project only contained the sma files from my 2012 import.

    in reply to: datepicker #3373
    Dan Jinks
    Participant

    I did a search of the SIMPOL directory and found the datepicker.sma. I loaded it and compiled, but that produced an smp file, so not right. After more reading, I decided to create a project for datepicker.sma. That worked to create an sml file. Now the old project will compile and next I must debug it.

    in reply to: v 1.8 #2342
    Dan Jinks
    Participant

    I think:
    IP = Intellectual Property
    I have no idea what IPR is. I saw that term used earlier also.

    -Dan

    On Fri, 17 Jan 2014 12:16:21 -0500, kromkowski
    <JDKromkowski@gmail.com> wrote:

    >On 01/17/14 7:24 AM, Neil Robinson wrote:
    >> On 14/01/2014 21:38, kromkowski wrote:
    >>> Given the recent activity here, what is status with the v1.8 release?
    >>>
    >>
    >> I expect to have something around 2 weeks after the final sale of the IP.
    >>
    >> Ciao, Neil
    >
    >What exactly do you mean by "IP".
    >
    >And what doess that time frame for "final" sale look like?
    >
    >JDK

    in reply to: Volatile databases, -samples #2011
    Dan Jinks
    Participant

    Kurt,
    The thread I was recalling was the Best Practices thread this group in June.

    -Dan

    On 12/16/2012 5:25 PM, djinks wrote:
    > Hello Kurt,
    >
    > from error.sma :
    > constant iERR_NORMALENDOFDATA 64
    >
    > Neil recently did an explanation for someone about this. It just means
    > you reached the end of file.
    >
    > In the IDE, open my demo project and search the project's files (special
    > icon on tool bar with binoculars and folder symbol) for
    > "iERR_NORMALENDOFDATA" and you will get a list of all occurances of it
    > in the project.
    >
    > -Dan
    >
    > On 12/15/2012 10:40 AM, Kurt Hansen wrote:
    >> Hi Dan
    >>
    >> Thanks;
    >>
    >> I’m now using the vola files for my relational records as intended.
    >>
    >> Working with SBME1 files I get error 64 reaching End of File (EOF)
    >>
    >> sample: rec =@ rec.select(.false, locktype = "", error = err)
    >>
    >> Using the same operation on a vola file no error 64 are set, instead I
    >> get rec =@= .nul
    >>
    >> sample: rec =@ rec.select(.false, error = err)
    >>
    >> Do you have the same experience?
    >>
    >> /Kurt
    >>
    >>
    >> Den 12-12-2012 10:37, djinks skrev:
    >>> Kurt,
    >>> I just uploaded a Volatile File Demo to the Contribution section of the
    >>> SIMPOL.com developer's library.
    >>>
    >>> Hope it helps.
    >>>
    >>> -Dan
    >>>
    >>> Kurt Hansen wrote:
    >>>
    >>>> Does anyone have samples where Volatables are created etc?
    >>>
    >>>> I want to use a Volatile database instead of arrays for the display of
    >>>> relational data, making it easy to sort the data after columns as
    >>>> selected by the user.
    >>>
    >>>
    >>>> Kurt
    >>>
    >>>
    >>>
    >>

    in reply to: Volatile databases, -samples #2008
    Dan Jinks
    Participant

    Hello Kurt,

    from error.sma :
    constant iERR_NORMALENDOFDATA 64

    Neil recently did an explanation for someone about this. It just means
    you reached the end of file.

    In the IDE, open my demo project and search the project's files (special
    icon on tool bar with binoculars and folder symbol) for
    "iERR_NORMALENDOFDATA" and you will get a list of all occurances of it
    in the project.

    -Dan

    On 12/15/2012 10:40 AM, Kurt Hansen wrote:
    > Hi Dan
    >
    > Thanks;
    >
    > I’m now using the vola files for my relational records as intended.
    >
    > Working with SBME1 files I get error 64 reaching End of File (EOF)
    >
    > sample: rec =@ rec.select(.false, locktype = "", error = err)
    >
    > Using the same operation on a vola file no error 64 are set, instead I
    > get rec =@= .nul
    >
    > sample: rec =@ rec.select(.false, error = err)
    >
    > Do you have the same experience?
    >
    > /Kurt
    >
    >
    > Den 12-12-2012 10:37, djinks skrev:
    >> Kurt,
    >> I just uploaded a Volatile File Demo to the Contribution section of the
    >> SIMPOL.com developer's library.
    >>
    >> Hope it helps.
    >>
    >> -Dan
    >>
    >> Kurt Hansen wrote:
    >>
    >>> Does anyone have samples where Volatables are created etc?
    >>
    >>> I want to use a Volatile database instead of arrays for the display of
    >>> relational data, making it easy to sort the data after columns as
    >>> selected by the user.
    >>
    >>
    >>> Kurt
    >>
    >>
    >>
    >

    in reply to: Program for review #1986
    Dan Jinks
    Participant

    I suppose you can upload it to the simpol developers download area. You
    must sign in first on the developers page, then access the libraries. The
    first section is for contributions. Anyway that is what I did.

    -Dan

    John D Kromkowski wrote:

    > I have a written a small rather non-complicated program in Simpol, which
    > in the very very crudest form replicates a payroll program (in SB), I
    > use for my office.

    > It lacks the calculations (in my original SB version) which one would
    > use to actually do payroll (like calculate hours from time worked,
    > calculate gross pay by multiply hours by rate, calculated US payroll and
    > federal tax deductions, etc.). They are missing in part because I'm
    > still not so confident in doing that kind of thing in Simpol and in
    > part, by design, I thought the best way to handle these calculations
    > would be at the time of running a report but alas that has not really
    > been fully implemented. On the other hand, the program at least works
    > (nicely I think) to enter employees and enter time worked.

    > I'd like to offer the program to the Simpol Community for review and
    > use. I probably injected some unnecessary quirkiness into the program.

    > What would be the best way to do this?

    in reply to: Volatile databases, -samples #1988
    Dan Jinks
    Participant

    Kurt,
    I just uploaded a Volatile File Demo to the Contribution section of the
    SIMPOL.com developer's library.

    Hope it helps.

    -Dan

    Kurt Hansen wrote:

    > Does anyone have samples where Volatables are created etc?

    > I want to use a Volatile database instead of arrays for the display of
    > relational data, making it easy to sort the data after columns as
    > selected by the user.

    > Kurt

    in reply to: Setting Master record in second window #1908
    Dan Jinks
    Participant

    Hello Neil,

    I found an logic error in the original project. I was not setting the
    form's mastertable and was using the form's default mastertable, which
    was from from another folder and had less records. I went back and
    changed the logic to copy BOTH mastertable and masterrecord to the new
    appw.form. All goes well (after other revisions) until I leave the
    opennotes function (for the opening the second window). I've sent you an
    email with sample project to review.

    Hope you can help.
    -Dan

    On 8/15/2011 2:58 PM, Neil Robinson wrote:
    > On 15/08/2011 00:43, djinks wrote:Hello Neil,

    I found an logic error in the original project. I was not setting the
    form's mastertable and using the form's default mastertable, which was
    from from another folder and had less records. I'll went back and
    changed the logic to copy BOTH mastertable and masterrecord to the new
    appw.form. All goes well (after other revisions) until I leave the
    opennotes function. I've sent you a sample project to review.

    Hope you can help.
    -Dan
    >> Got it working. For those who may want to sync multiple windows,
    >> here is what I did:
    >> //notes form should have same master record as the main form
    >> mainappw =@ appw.app.windows.getfirst()
    >> mainform =@ mainappw.form
    >> maintable =@ mainappw.form.mastertable
    >> mainr =@ mainform.masterrecord
    >> mainlastfirstfld =@ getfield(maintable.table, "Last_First")
    >> lastfirstkey = getfieldstrvalue(mainappw, mainlastfirstfld,
    >> mainr.record)
    >> if lastfirstkey> ""
    >> fld =@ getfield(appw.form.mastertable.table,"Last_First")
    >> if fld =@= .nul
    >> wxmessagedialog(appw.w, "Error retrieving index field
    >> from Notes Master Table", sAPPMSGTITLE, "ok", "error")
    >> else
    >> r =@ appw.form.selectkey(lastfirstkey, fld.index,
    >> found=found, error=e)
    >> // lets check that the index has been set
    >> masteridxname = appw.form.masterrecord.record.index.field.name
    >> end if
    >> end if
    >
    >
    > I'm glad that you got it working, but it should have worked by simply
    > setting the record.
    >
    > If you have a reproducible example, I would like to see it. Unless you
    > disable the refresh, it should show the record in the form. What it
    > won't do without a selectcurrent(), is to activate the links.
    >
    > Ciao, Neil

    in reply to: Setting Master record in second window #1906
    Dan Jinks
    Participant

    Got it working. For those who may want to sync multiple windows, here
    is what I did:
    //notes form should have same master record as the main form
    mainappw =@ appw.app.windows.getfirst()
    mainform =@ mainappw.form
    maintable =@ mainappw.form.mastertable
    mainr =@ mainform.masterrecord
    mainlastfirstfld =@ getfield(maintable.table, "Last_First")
    lastfirstkey = getfieldstrvalue(mainappw, mainlastfirstfld, mainr.record)
    if lastfirstkey > ""
    fld =@ getfield(appw.form.mastertable.table,"Last_First")
    if fld =@= .nul
    wxmessagedialog(appw.w, "Error retrieving index field from
    Notes Master Table", sAPPMSGTITLE, "ok", "error")
    else
    r =@ appw.form.selectkey(lastfirstkey, fld.index, found=found,
    error=e)
    // lets check that the index has been set
    masteridxname = appw.form.masterrecord.record.index.field.name
    end if
    end if

    -Dan

    On 8/14/2011 2:53 PM, djinks wrote:
    > I'm opening a second window in my app and want the same master record on
    > both forms. I have set the second form's amster record like this:
    >
    > //the notes form should have same master record as the main form
    > mainappw =@ appw.app.windows.getfirst()
    > mainform =@ mainappw.form
    > r =@ mainform.masterrecord
    > appw.form.setmasterrecord(r)
    >
    > I have no errors and the secondary window and form display, but with the
    > first record in the master table. I also added a selectrecord() function
    > but this does not help.
    >
    > Do I really need to perform a select key operation when I already have
    > the correct record object? What am I missing?
    >
    > -Dan

    in reply to: Setcursor() #1904
    Dan Jinks
    Participant

    Hello Neil,
    Excellent! I see now.
    Thanks for your response.
    -Dan

    On 8/1/2011 5:41 PM, Neil Robinson wrote:
    > On 01/08/2011 17:27, djinks wrote:
    >> How do I convert from dataform1 to wxform so that I can use
    >> setsursor()?
    >
    > Every dataform1 contains 1 or more pages. Each page hosts the wxform
    > object. The way I tend to do it is like this:
    >
    > dataform1 f
    >
    > …
    >
    > f.currentpage.wxformpage.setcursor()
    >
    > f.currentpage holds a reference to the currently displayed dataform1page
    > on the form.
    >
    > dataform1page.wxformpage contains the wxform object for the page.
    >
    >> I can get to the wxwindow: appw.w
    >>
    >> ….but there is no wxform object in the wxwindow.
    >
    > Actually, there is. It is wxwindow.content.
    >
    >> I tried assigning setting it from the dataform1 directly also:
    >> dataform1 df1
    >> wxform wxf
    >> df1 =@ appw.form
    >> wxf =@ df1
    >>
    >> ….but that is the wrong object type.
    >
    > Correct.
    >
    > dataform1 df1
    > wxform wxf
    > df1 =@ appw.form
    > wxf =@ df1.currentpage.wxformpage
    > // or
    > wxf =@ appw.w.content
    >
    > Ciao, Neil

    in reply to: deleteallrecordsfromtable(vola1table) #1903
    Dan Jinks
    Participant

    Hello Neil,
    Yes, I think you are right. When I was working with an sbme file, I
    never passed the optimize=.true parameter to
    deleteallrecordfromdb1table(), so it used the record.delete iteration.
    I appreciate anything you can do here. My only work around is to use an
    sbme file, but I thought vola1base would be faster.

    -Dan

    On 8/1/2011 5:35 PM, Neil Robinson wrote:
    > I don't think that you can delete the table either, since the reference
    > to the table will be in every data-aware control on the form, resulting
    > in the same problem you had before. The only thing you can do is delete
    > all the records. It may be possible to add a deleteall() method to the
    > vola1table and I can do some internal tricks to remove the records
    > faster, I will have to check.
    >
    > Ciao, Neil

Viewing 15 posts - 1 through 15 (of 37 total)