{"action":"created","issue":{"url":"https://api.github.com/repos/fesch/Structorizer.Desktop/issues/64","labels_url":"https://api.github.com/repos/fesch/Structorizer.Desktop/issues/64/labels{/name}","comments_url":"https://api.github.com/repos/fesch/Structorizer.Desktop/issues/64/comments","events_url":"https://api.github.com/repos/fesch/Structorizer.Desktop/issues/64/events","html_url":"https://github.com/fesch/Structorizer.Desktop/issues/64","id":122505101,"number":64,"title":"Jump statement should support break and continue for loops","user":{"login":"elemhsb","id":2959804,"avatar_url":"https://avatars.githubusercontent.com/u/2959804?v=3","gravatar_id":"","url":"https://api.github.com/users/elemhsb","html_url":"https://github.com/elemhsb","followers_url":"https://api.github.com/users/elemhsb/followers","following_url":"https://api.github.com/users/elemhsb/following{/other_user}","gists_url":"https://api.github.com/users/elemhsb/gists{/gist_id}","starred_url":"https://api.github.com/users/elemhsb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elemhsb/subscriptions","organizations_url":"https://api.github.com/users/elemhsb/orgs","repos_url":"https://api.github.com/users/elemhsb/repos","events_url":"https://api.github.com/users/elemhsb/events{/privacy}","received_events_url":"https://api.github.com/users/elemhsb/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-16T13:39:29Z","updated_at":"2015-12-16T15:11:35Z","closed_at":null,"body":"Jump statement only support: exit <return code>\r\nBut all loops lack of **break**, **continue** statement in *Executer*,\r\nfunctional export code should also be generated.\r\n\r\nThe **for** loop is never breakable. Modifying loop control variable n:=end+1 didn't break.\r\n\r\n@codemanyak calling subroutines (with or without paramenters) loaded in the Arranger work's very well.\r\n@codemanyak multiselection with copy, delete work, but move (dragging) didn't."},"comment":{"url":"https://api.github.com/repos/fesch/Structorizer.Desktop/issues/comments/165136584","html_url":"https://github.com/fesch/Structorizer.Desktop/issues/64#issuecomment-165136584","issue_url":"https://api.github.com/repos/fesch/Structorizer.Desktop/issues/64","id":165136584,"user":{"login":"codemanyak","id":15326471,"avatar_url":"https://avatars.githubusercontent.com/u/15326471?v=3","gravatar_id":"","url":"https://api.github.com/users/codemanyak","html_url":"https://github.com/codemanyak","followers_url":"https://api.github.com/users/codemanyak/followers","following_url":"https://api.github.com/users/codemanyak/following{/other_user}","gists_url":"https://api.github.com/users/codemanyak/gists{/gist_id}","starred_url":"https://api.github.com/users/codemanyak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codemanyak/subscriptions","organizations_url":"https://api.github.com/users/codemanyak/orgs","repos_url":"https://api.github.com/users/codemanyak/repos","events_url":"https://api.github.com/users/codemanyak/events{/privacy}","received_events_url":"https://api.github.com/users/codemanyak/received_events","type":"User","site_admin":false},"created_at":"2015-12-16T15:11:35Z","updated_at":"2015-12-16T15:11:35Z","body":"To leave a loop (of any kind) irregularly you have the following opportunities:\r\n1. Use an empty Jump element - it will do a one-level break.\r\n2. To leave a nested bunch of loops use the keyword \"leave\" with a cardinal number specifying the number of levels to get out of.\r\n\r\nTo leave a FOR loop by manipulating the counter value is regarded as extremely bad style and is therefore not supported - by design.\r\nThe keywords accepted in Jump elements are still hard-coded (it is prepared to make them configurable, though):\r\na) **leave** to exit from a loop (number of levels may be added);\r\nb) **return** to exit from a subroutine (result value may be added);\r\nc) **exit** to terminate the entire program irregularly (exit code may be added).\r\n\r\nThe dragging of a multiselection turned out to be too hazardous and was therefore disabled. By design only single elements may be dragged (and not even this is always stable)."}}