Sign in to follow this  
Followers 0
terraya

Read Input and Save [with some options]

2 posts in this topic

Hello everyone,

 

i am working atm at a small programm,

i want to make it work like this:

I click on "NEW" i can add a new Customer,

i want to read the input and save it (the thing is i want to make it

work for me and my friend in the internet so i think we need a internet database but firstly

i want to make it work on my laptop only for me)

 

i dont know in what to save it cuz "txt" is a bit weird , why?

becouse later i want to make a button which search for the "customer"

 

if i press on the other button not "NEW", if i press on "Search", then i have to

write the customers name in, and the info i got from the customer has to show  up

and be changeable.

 

i hope someone understand my poor english xD ,

well here is the script which is not finisht cuz i dont know how to finish the idea.

 

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$GUI = GUICreate("Form1", 429, 148, 249, 151)
$NEW = GUICtrlCreateButton("NEW", 48, 24, 75, 25)
$Search = GUICtrlCreateButton("Search", 48, 54, 75, 25)
$SAVE = GUICtrlCreateButton("SAVE", 328, 112, 75, 25)
$EDIT = GUICtrlCreateButton("EDIT", 328, 112, 75, 25)
GUISetState(@SW_SHOW, $GUI)
GUICtrlSetState ($SAVE, $GUI_HIDE)
GUICtrlSetState ($EDIT, $GUI_HIDE)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
         Case $NEW
            GUICtrlSetState ($SAVE, $GUI_SHOW)
            _NewCustomer()
         Case $Search
            GUICtrlSetState ($EDIT, $GUI_SHOW)
            _SearchCustomer()
         Case $SAVE
            ;not completed yet cuz i dont know in which format to save it to
            ;read it again in the GUI to make it edit able.


    EndSwitch
WEnd

Func _SearchCustomer()

   $Input2 = GUICtrlCreateInput("", 136, 57, 121, 21)

EndFunc

Func _NewCustomer()

   $Input1 = GUICtrlCreateInput("", 136, 27, 121, 21)

EndFunc

 

test functions.au3

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

You are no reason to create a control every time like in _SearchCustomer and _NewCustomer funcs. I writte an very noob example saving the data in Ini files in your computer.

When you save you need first read the value in input control, you can do it using GuiCtrlRead($Input1). $Input1 are nothing more than a variable that stores the control ID to use in functions like GuiCtrlRead, GuiCtrlSetState, GuiCtrlSetColor, etc

 

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 405, 438, 192, 124)
$Label1 = GUICtrlCreateLabel("Name:", 8, 8, 35, 17)
$InputName = GUICtrlCreateInput("", 72, 8, 185, 21)
$Label = GUICtrlCreateLabel("Credit Card:", 8, 40, 59, 17)
$InputCreditCard = GUICtrlCreateInput("", 71, 34, 185, 21)
$Label3 = GUICtrlCreateLabel("Age:", 40, 72, 26, 17)
$InputAge = GUICtrlCreateInput("", 72, 72, 185, 21)
$ButtonSave = GUICtrlCreateButton("Save", 88, 112, 169, 33)
$List1 = GUICtrlCreateList("", 8, 192, 153, 227)
$Label4 = GUICtrlCreateLabel("Name:", 168, 200, 35, 17)
$LabelName = GUICtrlCreateLabel("", 208, 200, 188, 20)
$Label6 = GUICtrlCreateLabel("Credit Card:", 168, 232, 59, 17)
$LabelCreditCard = GUICtrlCreateLabel("", 232, 232, 164, 20)
$Label8 = GUICtrlCreateLabel("Age:", 168, 264, 59, 17)
$LabelAge = GUICtrlCreateLabel("", 232, 264, 164, 20)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$aSecNames = IniReadSectionNames("Customer.ini")

For $i = 2 to UBound($aSecNames)

    GUICtrlSetData($List1,$aSecNames[$i-1])

Next

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $ButtonSave
            $Name = GUICtrlRead($InputName)
            $CreditCard = GUICtrlRead($InputCreditCard)
            $Age = GUICtrlRead($InputAge)

            IniWrite("Customer.ini",$Name,"CreditCard",$CreditCard)
            IniWrite("Customer.ini",$Name,"Age",$Age)

            $aSecNames = IniReadSectionNames("Customer.ini")

            For $i = 2 to UBound($aSecNames)

                GUICtrlSetData($List1,$aSecNames[$i-1])

            Next
        Case $List1
            $Name = GUICtrlRead($List1)
            $CreditCard = IniRead("Customer.ini",$Name,"CreditCard","None")
            $Age = IniRead("Customer.ini",$Name,"Age","None")

            GUICtrlSetData($LabelName,$Name)
            GUICtrlSetData($LabelCreditCard,$CreditCard)
            GUICtrlSetData($LabelAge,$Age)

    EndSwitch
WEnd

 

Edited by GordonFreeman

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

  • Similar Content

    • Valnurat
      By Valnurat
      I have a mainform with a ListviewControl. The ListView contains data from my SQL Server. My idea is that when you find what you are looking for, in the listview, I pick it by pressing the enter button and then show the content on a child window with some control.
      So my questions are:
      How do you pick the content in the listview with either enter button or the mouse?
      How do you create a child windows with control?
      Global $idListview, $idOKay _FormCreate() _Main() Func _FormCreate() ; Create GUI GUICreate("Computer Asset", 1027, 400) $idListview = GUICtrlCreateListView("", 2, 2, 1024, 268,Default, BitOR($LVS_SHOWSELALWAYS, $LVS_EX_GRIDLINES,$LVS_EX_FULLROWSELECT)) ; Add columns _GUICtrlListView_AddColumn($idListview, "Computername", 100,2) _GUICtrlListView_AddColumn($idListview, "Tkt No.", 100,2) _GUICtrlListView_AddColumn($idListview, "Req No.", 100,2) _GUICtrlListView_AddColumn($idListview, "Order Date", 100,2) _GUICtrlListView_AddColumn($idListview, "Costcenter", 100,2) _GUICtrlListView_AddColumn($idListview, "Username", 100,2) _GUICtrlListView_AddColumn($idListview, "Model", 100,2) _GUICtrlListView_AddColumn($idListview, "Current Location", 100,2) _GUICtrlListView_AddColumn($idListview, "Option", 100,2) _GUICtrlListView_AddColumn($idListview, "Shipdate", 100,2) $idOKay = GUICtrlCreateButton("OK", 310, 290, 85, 25) GUISetState(@SW_SHOW) EndFunc Func _Main() Local $sConnectionString = 'DRIVER={' & $sDriver & '};SERVER=' & $sServer & ';DATABASE=' & $sDatabase & ';UID=' & $sUser & ';PWD=' & $sPassword & ';' Local $oConnection = _ADO_Connection_Create() _ADO_Connection_OpenConString($oConnection, $sConnectionString) If @error Then Return SetError(@error, @extended, $ADO_RET_FAILURE) Local $sTableName = 'StaffMemberUser.ComputerAsset' Local $sQUERY = "Select Computername, TktNo, ReqNo, OrderDate, CostCenter, Username, Model, CurrentLocation, Note, Shipdate from " & $sTableName Local $oRecordset = _ADO_Execute($oConnection, $sQUERY) Local $aRecordsetArray = _ADO_Recordset_ToArray($oRecordset, False) Local $aRecordset_inner = _ADO_RecordsetArray_GetContent($aRecordsetArray) _GUICtrlListView_SetItemCount($idListview, UBound($aRecordset_inner) - 1) _GUICtrlListView_AddArray($idListview, $aRecordset_inner) ; CleanUp $oRecordset = Null _ADO_Connection_Close($oConnection) $oConnection = Null ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $idOKay MsgBox($MB_SYSTEMMODAL, "listview item", GUICtrlRead($idListview), 2) Case $idListview MsgBox($MB_SYSTEMMODAL, "listview", "clicked=" & GUICtrlGetState($idListview), 2) EndSwitch WEnd GUIDelete() EndFunc  
    • drapdv
      By drapdv
      I have a GUI with a parent window that has a menu and shortcut buttons at the top, and a child window which displays a list which is scrolled vertically.
      When the list is relatively small, like no more than 100 or so lines then it scrolls fine.  As the list gets larger, scrolling begins to slow, and if you start mixing up the scroll method (mousewheel, left-clicking the scrollbar box, etc) then it begins to hang.  When it hangs, dwm.exe CPU usage maxes out, and I can't even switch to another window.  Each line in the list is 1000px wide X 30px tall, and the lines alternate between a gray background and a white background, in case that matters.
      When a non-Aero theme is active, everything works fine.  So, I could disable DWM every time someone fires it up, but changing a client's color scheme is not ideal.
      I tried to utilize _WinAPI_DwmSetWindowAttribute($oGui_Parent,  $DWMWA_NCRENDERING_POLICY, $DWMNCRP_DISABLED), and although it succeeds in disabling DWM for that window, it doesn't seem to make any difference as far as the scrolling lag is concerned.
      The code is several thousand lines long and contains proprietary information, so I'm trying to avoid posting that, but these are the lines which are creating the GUIs.  Is there anything that anyone can think of off the top of their heads, or is there anything jumping out at you from this snippet of code?  Any help is appreciated!
      $oGui_Parent = GUICreate("Data Viewer", 700, 500, Default, Default, BitOR($WS_CAPTION, $WS_MINIMIZEBOX, $WS_POPUPWINDOW)) WinSetTrans($oGui_Parent, "", 255) _WinAPI_DwmSetWindowAttribute($oGui_Parent, $DWMWA_NCRENDERING_POLICY, $DWMNCRP_DISABLED) GUISetFont(9, 500, 0, "Calibri") GUISetBkColor(0xFFFFFF) $oGui_Child = GUICreate("", 700, 400, 0, 100, $WS_POPUP, $WS_EX_MDICHILD, $oGui_Parent) WinSetTrans($oGui_Child, "", 255) _WinAPI_DwmSetWindowAttribute($oGui_Child, $DWMWA_NCRENDERING_POLICY, $DWMNCRP_DISABLED) GUISetFont(9, 500, 0, "Calibri") GUISetBkColor(0xFFFFFF)  
    • tcox8
      By tcox8
      Hello,
      Currently I am running a script that calls a powershell script. To read the results of that I am reading StdOut. I am parsing things accordingly but unfortunately it doesn't parse correctly all the time and I end up missing parts of the string or other problems. My question then is, what is the best results for reading what is returned when running a powershell script or something similar?
    • 31290
      By 31290
      Hi guys, 
      I'd like to write a piece of tool that would allow me to update a certain field in our Active Directory from a comma separated csv file composed like this:

      This file, automatically generated, can hold more than 10k lines.
      Thus, I need column A to be in one variable, column B in a second one and column C in a third one.
      I'm really missing this part as updating the AD is fairly easy once the 3 variable are populated. 
      I see things like this:
      Here's my attempts at the moment:
      #include <File.au3> #include <Array.au3> Global $csv_file = @DesktopDir & "\Book1.csv" Global $aRecords If Not _FileReadToArray($csv_file,$aRecords) Then MsgBox(4096,"Error", " Error reading log to Array error:" & @error) Exit EndIf For $x = 1 to $aRecords[0] Msgbox(0,'Record:' & $x, $aRecords[$x]) ; Shows the line that was read from file $csv_line_values = StringSplit($aRecords[$x], ",",1) ; Splits the line into 2 or more variables and puts them in an array ; _ArrayDisplay($csv_line_values) ; Shows what's in the array you just created. ; $csv_line_values[0] holds the number of elements in array ; $csv_line_values[1] holds the value ; $csv_line_values[2] holds the value ; etc Msgbox(0, 0, $csv_line_values[1]) Next Any help on this please? 
      Thanks in advance
      -31290-
    • siva1612
      By siva1612
      I would like to create a window like the one shown below. The requirements are as below
      1. The title bar should be opaque.
      2. The parent window/Main screen will be below the side menu/child window
      3. The left side of the side menu window should be opaque.
      4. The right side should be semi-transparent. 

       
      Any idea to help?