It is currently Tue Jan 19, 2021 4:22 am

All times are UTC + 1 hour

Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: Program runs subfunction instead of terminating
PostPosted: Wed Oct 29, 2003 12:07 am 

Joined: Fri Oct 24, 2003 5:49 am
Posts: 21
Location: Redlands, CA

Dim code_array.b(95)
Dim alphabet.b(95)

For K = 0 To 94
  alphabet(K) = K + 32
Next K

If WindowID = OpenWindow(#codeco_window, 251, 133, 538, 447,  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered , "Coder/Decoder, by Sheep Enterprises")
  If CreateGadgetList(WindowID(0))
    ButtonGadget(#code_button, 10, 420, 80, 20, "Code")
    GadgetToolTip(#code_button, "Click here to code text in the upper box")
    ButtonGadget(#decode_button, 100, 420, 80, 20, "Decode")
    GadgetToolTip(#decode_button, "Click here to decode text in the upper box")
    StringGadget(#text_close_box, 10, 260, 510, 150, "")
    GadgetToolTip(#text_close_box, "Coded/decoded text is entered here")
    StringGadget(#text_entry_box, 10, 80, 510, 150, "")
    StringGadget(#wavelength_box, 10, 30, 190, 20, "",#PB_String_Numeric)
    TextGadget(#wavelength_title, 10, 10, 80, 20, "Wavelength")
    TextGadget(#text_entry_title, 10, 60, 220, 20, "Text Entry")
    TextGadget(#text_display_title, 10, 240, 160, 20, "Text Display")
      code_text$ = ""
      solved_code$ = ""

        random_starter = Val(GetGadgetText(#wavelength_box))
      Until random_starter <> 0

        For J = 0 To 94
            do_over = 0
            random_number=Random(94) + 32
            For K=0 To J
              If random_number = code_array(K)
                do_over = 1
            Next K
          Until do_over = 0
          code_array(J) = random_number
      Next J
    Until WaitWindowEvent()=#PB_Event_CloseWindow


  PrintN("Enter text to be coded:")
  text$ = Input()
  string_length = Len(text$)
  For K = 1 To string_length
    For J = 0 To 94
      alphabet_check$ = Chr(alphabet(J))
      code_check$ = Chr(code_array(J))
      If Mid(text$,K,1) = alphabet_check$
        code_text$ = code_text$ + code_check$
    Next J
  Next K

This is how I understand the code should be written. I merely left code_section: in for ease of reference while I wrote a version that worked with windows. As I understand it, it should open the window and then sit there, waiting for me to close the window. Instead, the window opens and closes itself almost immediately, and the console come up waiting for input, after "Enter text to be coded:".

Perhaps it is something wrong with my system. I have been unable to run DEW.Line. As soon as I click the little spaceship to start the program, it suddenly closes itself and ends.

But, why is the program opening up the console? I told the program to End after the If OpenWindow() loop -- it shouldn't be running the subsection of code after the End, right?


Reply with quote  
 Post subject:
PostPosted: Wed Oct 29, 2003 6:01 pm 
PureBasic Expert
PureBasic Expert

Joined: Wed Oct 29, 2003 4:35 pm
Posts: 10589
Location: Beyond the pale...
Im not entirely sure what this proggy is supposed to be doing but I can immediately see 2 problems.

First, the statement
If WindowID = OpenWindow(#codeco_window ...... etc

causes a problem in that WidowwID is currently zero and yet
OpenWindow would normally return the window handle etc. Thus
your If statement will always result in a false condition etc.

Replace by If OpenWindow(#codeco_window ...... etc.

Secondly, (assuming you make the above correction) because the value of random_starter is always zero, the program is getting locked within the following Repeat ... Until loop indefinitely:

random_starter = Val(GetGadgetText(#wavelength_box))
Until random_starter <> 0

You need to re-write / re-order your main message loop and (presumably) you do not wish to execute the above loop until one of your button gadgets has been pushed.

Hope this helps.

Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC + 1 hour

Who is online

Users browsing this forum: No registered users and 54 guests

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  


Powered by phpBB © 2008 phpBB Group
subSilver+ theme by Canver Software, sponsor Sanal Modifiye