The simpliest method would be using division
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE imax AS INTEGER INIT 100 NO-UNDO.
DEFINE VARIABLE imin AS INTEGER INIT 1 NO-UNDO.
DEFINE VARIABLE j AS INTEGER NO-UNDO.
DEFINE VARIABLE isPrime AS LOGICAL NO-UNDO.
REPEAT:
UPDATE imin imax.
DO i =...
Don’t you think it will take forever to execute?
In the case you still want to do it, then something like this would work
for each _field no-lock where _data-type = "character",
each _file of _field no-lock:
disp _field._field-name _file._file-name.
run...
you can use sockets to get data from a web page, or more simplier way is to use a 3rd party command line tool to do it. Something like curl would do the job.
This is a bug and the workaround doesn’t look all that nice and simple. Basically you need to save the contents of your editor on EVERY possible event and control what really is displayed in the editor. The code I posted earlier shows you how to control just the baskspace event. You would also...
You should definitely split it up - this is not very user friendly to allow users to type something in without allowing deleting their misspelled mistakes.
This is the quick and dirty code that could work as a workaround
define variable c as character no-undo
view-as editor inner-lines 5 inner-chars 40 LARGE.
form c with frame a.
def var cval as character no-undo.
on "backspace" of c in frame a do:
def var i as int no-undo.
i =...
it seems like it only fails to work with "large" editor. This code fails (tested on v9.1d and v10.2b):
define variable c as character no-undo
view-as editor inner-lines 5 inner-chars 40 LARGE.
form c with frame a.
on "backspace" of c in frame a do:
message "BS!".
return no-apply.
end...
something like this:
for each SupportCall where AssignedTo = 'fred' no-lock:
run yourLogic(buffer SupportCall).
end.
for each SupportCallHistory where SupportCallHistory.User = 'fred' no-lock
break by SupportCall.Id:
if first-of(SupportCall.Id) then
for each SupportCall where...
I think it would be best to use 2 queries at the same time, something like this
for each SupportCall where AssignedTo = 'fred' no-lock:
run yourLogic(buffer SupportCall).
end.
for each SupportCallHistory where SupportCallHistory.User = 'fred' no-lock,
each SupportCall where SupportCall.Id...
Look at write-processing-instructions method of sax-writer. In your case it would be something like:
hSax:write-processing-instruction("xml-stylesheet", "type=""text/xsl"" href=""xslExample_fulltable.xsl""").
It is expected functionality. If you want it to pause define the form inside of the for each block.
def var sonbr as char.
for each so_mstr where so_domain = "xyz" no-lock:
form
sonbr
with frame a.
disp so_nbr @ sonbr with frame a.
end.
Otherwise, Progress looks at it as a regular frame and...
Not that I disagree, but lots of people have different thoughts about it.
There are many technologies to choose from. Especially with .Net where you have 2 equal languages - vb.net and c#.
You can achieve the same using WebSpeed.
Using new .Net UI you can slowly move your old code to a new...
You can use most of .Net UI classes ABL.
1. You can extent .Net UI forms classes, with the rest of .Net classes not officially supoprted. You would need to try the class in question and see if it does work for you.
You can't write ABL class and use it in visual studio, at least not directly...
You need to scroll thru every widget in your window to get the handle of the browse. After that you can get the query that was used to fill the data and only then you can print data. You need to have a code similar to this example:
run getBrowseData ("MyBrowseName").
procedure getBrowseData...
nice one, another language limitation :mad:
In this case you would need to write a wrapper in another language like java or .net to talk to a web service and then return data back to Progress.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.