Sign in to follow this  
Followers 0
maba

Same form for "new" and "edit"

4 posts in this topic

Hi all,

the simplest (and rightest) way to have only one form to insert or modify data?

Example:I would manage sqlite data with one form for the two operation with simple IFs to load data, enable or disable fileds, etc.

Put all code in a function that accepts an argument like the record ID?

Thanks

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Yes, that is definately simple. Assuming that you would use an editbox for changing your data:

Global $GUI, $Edit, $File, $New, $Open, $Save, $msg, $File, $FileContents
$GUI = GUICreate("Example",500,500)
$Edit = GUICtrlCreateEdit("", 0, 0, 500, 470)
$File = GUICtrlCreateMenu("File")
$New = GUICtrlCreateMenuItem("&New", $File)
$Open = GUICtrlCreateMenuItem("&Open", $File)
$Save = GUICtrlCreateMenuItem("&Save", $File)
GUISetState(@SW_SHOW, $GUI)
While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case -3;GuiMsg -3 = $GUI_EVENT_EXIT
            Exit
        Case $New
            GUICtrlSetData($Edit, "");Sets the data in the editbox to nothing
        Case $Open
            $File = FileOpenDialog("Open", @DesktopDir, "All Files (*.*)");Allows you to select the desired file
            $FileContents = FileRead($File);Sets the value of $FileContents to the text read from the file
            GUICtrlSetData($Edit, $FileContents);Sets the data in the editbox to the data in $FileContents
        Case $Save
            $FileContents = GUICtrlRead($Edit);Sets the value of $FileContents to the text read from the edit box
            FileWrite($File, $FileContents);Writes the value of $FileContents to the file
    EndSwitch
WEnd

There you go, I hope that's what you were looking for. The commands you want to look are are FileOpenDialog, FileRead, GuiCtrlSetData, GuiCtrlRead and FileWrite.

Unfrotunately, I don't know much about SQLite so I cannot help much there without more information, but the code provided should start you off.

Edited by Mikeman27294

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Thanks for your quickly answer!

We can use this example:

New Contact and Edit Contact button opens two different form with the same input fields.

I have a similar form with about 30 fields.

Should I use GUICtrlSetData in the while loop for each field or I can use IF statement in a function that create the form and after call (e.g.)

_CreateNewOrEditForm
from "New Contact" and "Edit Contact" buttons? Edited by maba

Share this post


Link to post
Share on other sites

Any ideas or suggestions?

Is it a wrong things?

Thanks

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0