https://conferences.gse.org.uk/2024/agenda
Hi, I don't know exactly what you want, but if you use curses, then it is better to use screen-sections. If you want paging, listing functionality with a "grid" you can check the programs here: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/DBsample/ See example7 and the screenshots. László
Hi, there are GTK examples in the GnuCOBOL FAQ, and also in the GnuCOBOL Contributions SVN. Maybe it helps you. Generell the FAQ and the Contributions are good starting point, you can spare time with them. László
Hi, In the GnuCOBOL contributions there are also some examples with PostgreSQL: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/DBsample/PostgreSQL/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/htm2cob/examples/projects/p001_wortfee/ László
Hi, Try to add "SYNC" before "binary-short". (See in GnuCOBOL Programmer’s Guide: SYNCRONIZED) And write out the size in COBOL and also in C: display "size of c-out-struct-grp: " function length(c-out-struct-grp) printf("size of mystruct3: %d\n", sizeof(struct mystruct3)); I have this result: size of c-out-struct-grp: 49 size of mystruct3: 52 01: *** begin *** 02: +00004 03: e ╩ Ð■ ö☺ ¨☺ 04: * end * 05: +0000000101 05: +0000000202 05: -0000000303 05: +0000000404 05: +0000000505 Maybe can somebody...
Hi, Try to add "SYNC" before "binary-short". (See in GnuCOBOL Programmer’s Guide: SYNCRONIZED) And write out the size in COBOL and also in C: display "size of c-out-struct-grp: " function length(c-out-struct-grp) printf("size of mystruct3: %d\n", sizeof(struct mystruct3)); I have this result: size of c-out-struct-grp: 49 size of mystruct3: 52 01: *** begin *** 02: +00004 03: e ╩ Ð■ ö☺ ¨☺ 04: * end * 05: +0000000101 05: +0000000202 05: -0000000303 05: +0000000404 05: +0000000505 Maybe can somebosy...
Hi, Try to add "SYNC" before "binary-short". (See in GnuCOBOL Programmer’s Guide: SYNCRONIZED) And write out the size in COBOL and also in C: display "size of c-out-struct-grp: " function length(c-out-struct-grp) printf("size of mystruct3: %d\n", sizeof(struct mystruct3)); I have this result: size of c-out-struct-grp: 49 size of mystruct3: 52 01: *** begin *** 02: +00004 03: e ╩ Ð■ ö☺ ¨☺ 04: * end * 05: +0000000101 05: +0000000202 05: -0000000303 05: +0000000404 05: +0000000505 Maybe can somebosy...
Hi, I think, it would be better to give back the result value not in "returning". The RETURNING clause allows you to specify a numeric data item into which the subroutine should return a numeric value. It is same as with the RETURN-CODE special register. The RETURN-CODE defined as BINARY-LONG SIGNED. These values in RETURN-CODE are by convention used to signify success (usually with a value of 0) or failure (usually with a non-zero value) of the process the program was attempting to perform. You...
Hi, for this there is a bug. It was created many years ago. Functions should handle the parameters similar like CALLs. If somebody doesn't know this bug, then he/she can get errors, where not easy to find out the real problem. If I right remember, this is not the first entry about this problem in the forum. László
Hi, for this there is a bug. It was created for many years ago. Functions should handle the parameters similar like CALLs. If somebody doesn't know this bug, then he/she can get errors, where not easy to find out the real problem. If I right remember, this is not the first entry about this problem in the forum. László
Hi, you can try it with CBL_GC_FORK under linux. Here is an example for this: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/shared_mem/ László
PROTHSEARCH: Correct warning: duplicate USING BY REFERENCE item.
PROTHSEARCH: Correct warning: duplicate USING BY REFERENCE item.
https://www.i-programmer.info/news/98-languages/16888-c-is-tiobe-language-of-the-year.html
Hi, the "Master the Mainframe" was renamed to "IBM Z Xplore": https://www.youtube.com/watch?v=smFmRQy3ZF0 László
I saw a part, it's OK. But it would be much better if you changed the titles.
CWI organizes a strategic COBOL day in cooperation with Quuks and IBM on Thursday 18 January 2024. https://www.cwi.nl/en/events/the-future-of-mainframe-and-cobol-in-the-netherlands/?fbclid=IwAR36m1dP-KqMCmEW3Fh-aBoseaDP8WJEjFN37-JHJlkjmbWiun1GkcWIyH8
HI, please read the last entry in "State of the project": https://sourceforge.net/p/gnucobol/discussion/cobol/thread/7dc2941f/?page=5#b417 BR László
Hi Jeff, in Contributions there are more examples and tools for web servers. In Samples: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/cgiform/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/cgiupload/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/cobsha3/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/cookie/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/imgcaptcha/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/imgscale/...
https://spectrum.ieee.org/the-top-programming-languages-2023
Hi, I have old computer books and sometimes I take them off the shelf. It is interesting to see what used to be, and what became of it later, or nothing. Now I've been looking for matrix operations in old books. And read the following in the book "Illustrating Basic" by Donald Alcock: FOR EVERY "MAT" INSTRUCTION THIS BOOK GIVES A CORRESPONDING ROUTINE IN ELEMENTARY BASIC USING NESTED LOOPS. IN ANY NEST OF LOOPS THE VARIABLE CONTROLLING THE INNERMOST LOOP VARIES FASTEST. IF BASIC STORES ARRAYS BY...
Hi, I added it to SVN. Thanks, BR László
COBJAPI: add focus example.
COBJAPI: add focus example.
Hello, Thank you for this example! It works well also under Windows and I uploaded it to SVN. greeting László
COBJAPI: add focus example.
https://www.prnewswire.com/news-releases/adaptigent-and-fujitsu-announce-a-revitalized-partnership-301812270.html
Hello, Thank you for this example, it is really wonderful! I uploaded to SVN. For the others, it's a small program, but it can do a lot. Three different chart types, and the pie chart is animated, rotating when you click the button several times. When the program is compiled, you only have to change the input file, the chart type is also encoded there. If I know correctly, Giancarlo is not a programmer, but a musician with a saxophone, a music teacher and also a music producer. COBOL is just a side...
Hello, Thank you for this example, it is really wonderful! I uploaded to SVN. For the others, it's a small program, but it can do a lot. Three different chart types, and the pie chart is animated, rotating when you click the button several times. When the program is compiled, you only have to change the input file, the chart type is also encoded there. If I know correctly, Giancarlo is not a programmer, but a musician with a saxophone, a music teacher and also a music producer. COBOL is just a side...
COBJAPI: add charts example.
Hi, I added the files to the Contributions: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/raylib_painter/ BR László
Add raylib_painter.
Hi, you are most likely right. But if you read this thread again, then you know that GnuCOBOL has no OO implementation. I don't know the standard, but in COBOL books the OO theme and syntax are always separated. You're asking about OO syntax that we don't use here and maybe few people know. That's why there is misunderstanding between you and others. I was back in early 90's as a beta tester for Micro-Focus OO COBOL. I got an OO beta version. But after that I never saw OO COBOL anywhere. I'm not...
Hi, I think, EXCEL (maybe ACCESS also) should work also with DDE: https://en.wikipedia.org/wiki/Dynamic_Data_Exchange Br. László
Hi, A). You can use ACCEPT with timeout parameter. From the "GnuCOBOL Programmer’s Guide": [ TIMEOUT|TIME-OUT AFTER { integer-5 } ] { identifier-6 } The TIMEOUT option will cause the ACCEPT to wait no more than the specified number of seconds for input. The wait count may be specified as a positive integer or a numeric data item with a positive value. For usage there are some example for this in contribution under TUI-TOOLS: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/TUI-TOOLS/...
Hi, A). You can use ACCEPT with timeout parameter. From the "GnuCOBOL Programmer’s Guide": [ TIMEOUT|TIME-OUT AFTER { integer-5 } ] { identifier-6 } The TIMEOUT option will cause the ACCEPT to wait no more than the specified number of seconds for input. The wait count may be specified as a positive integer or a numeric data item with a positive value. For usage there are some example for this in contribution under TUI-TOOLS: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/TUI-TOOLS/...
Hi, A). You can use ACCEPT with timeout parameter. From the "GnuCOBOL Programmer’s Guide": [ TIMEOUT|TIME-OUT AFTER { integer-5 } ] { identifier-6 } The TIMEOUT option will cause the ACCEPT to wait no more than the specified number of seconds for input. The wait count may be specified as a positive integer or a numeric data item with a positive value. For usage there are some example for this in contribution under TUI-TOOLS: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/TUI-TOOLS/...
Hi, You can use ACCEPT with timeout parameter. From the "GnuCOBOL Programmer’s Guide": [ TIMEOUT|TIME-OUT AFTER { integer-5 } ] { identifier-6 } The TIMEOUT option will cause the ACCEPT to wait no more than the specified number of seconds for input. The wait count may be specified as a positive integer or a numeric data item with a positive value. For usage there are some example for this in contribution under TUI-TOOLS: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/TUI-TOOLS/...
Hi, You can use ACCEPT with timeout parameter. From the "GnuCOBOL Programmer’s Guide": [ TIMEOUT|TIME-OUT AFTER { integer-5 } ] { identifier-6 } The TIMEOUT option will cause the ACCEPT to wait no more than the specified number of seconds for input. The wait count may be specified as a positive integer or a numeric data item with a positive value. For usage there are some example for this in contribution under TUI-TOOLS: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/TUI-TOOLS/...
WIN-SOUND: correct makefile.
WIN-BEEP: correct makefile.
I can also confirm, it works without "-Q -Wl,--no-as-needed". cobc -x -free tstwbeep.cob -fno-gen-c-decl-static-call -A "-include Windows.h" -luser32 cobc -x -free tstwsound.cob -fno-gen-c-decl-static-call -A "-include Windows.h" -lwinmm Regards, László
Hello Simon, good news. Your last suggestion (using C compile parameters) finally works. I left the programs in their original form with STATIC call. cobc -x -free tstwbeep.cob -fno-gen-c-decl-static-call -Q -Wl,--no-as-needed -A "-include Windows.h" -luser32 cobc -x -free tstwsound.cob -fno-gen-c-decl-static-call -Q -Wl,--no-as-needed -A "-include Windows.h" -lwinmm @Eugenio: can you please also check. Thanks, Regards, László
Yes, I also wanted to suggest that we implement these functions as Built-In System functions. E.g. C$BEEP and C$PLAYSOUND. In C should work with Windows.
I have the same compile error, as in other cases with 32-bit: "undefined reference to..."
Hi, I have the same compile error: C:\GC312-BDB-SP2\GC312-BDB-SP2-31Aug2022>cobc -x -free tstwbeep.cob -Q -Wl,--no-as-needed --static -lUser32 C:\GC312-BDB-SP2\GC312-BDB-SP2-31Aug2022\bin/ld.exe: C:\Users\LASZLO~1.ERD\AppData\Local\Temp\cob7616_0.o:cob7616_0.c:(.text+0x5e0): undefined reference to Beep@0' C:\GC312-BDB-SP2\GC312-BDB-SP2-31Aug2022\bin/ld.exe: C:\Users\LASZLO~1.ERD\AppData\Local\Temp\cob7616_0.o:cob7616_0.c:(.text+0x70f): undefined reference toMessageBeep' collect2.exe: error: ld returned...
Hi, i checked it but it doesn't work. Regards, László
Hi, I think I've tried everything, unfortunately without success. It doesn't work with 32-bit. Also not with the version (NEW) GnuCOBOL 3.2 BDB Preview (23Oct2022) GC32-BDB-Preview-rename-7z-to-exe.7z. And the "SIZE IS" is not recognized either, not even in 3.2 Preview. But that is independent of the problem. Regards, László
Hi, I installed the following three compiler versions from Arnold's website, and I did some tests: (NEW) GnuCOBOL 3.1.2 BDB Service Pack 2 (31Aug2022) GC312-BDB-SP2-rename-7z-to-exe.7z -- MinGW GnuCOBOL compiler for Windows XP/7/8/10. Includes GCC 9.2.0, Berkeley DataBase 18.1.40 for Indexed Sequential file access support, GMP 6.2.1, and PDCursesMod 4.3.4 (24.1 megabytes). Rename .7z to .exe for self-extracting archive. GnuCOBOL 3.1.2 (23Dec2020) MSYS2 64-bit GC312-BDB-M64-rename-7z-to-exe.7z --...
Hi, I installed the following three compiler versions from Arnold's website, and I did some tests: (NEW) GnuCOBOL 3.1.2 BDB Service Pack 2 (31Aug2022) GC312-BDB-SP2-rename-7z-to-exe.7z -- MinGW GnuCOBOL compiler for Windows XP/7/8/10. Includes GCC 9.2.0, Berkeley DataBase 18.1.40 for Indexed Sequential file access support, GMP 6.2.1, and PDCursesMod 4.3.4 (24.1 megabytes). Rename .7z to .exe for self-extracting archive. GnuCOBOL 3.1.2 (23Dec2020) MSYS2 64-bit GC312-BDB-M64-rename-7z-to-exe.7z --...
Hello Eugenio, I added the examples to SVN, with direct call of Windows functions. Regards, László
WIN-SOUND: add test program, direct call of Windows functions, without C module.
WIN-BEEP: add test program, direct call of Windows functions, without C module.
WIN-BEEP: add test program, direct call of Windows functions, without C module.
Hello Eugenio, I tried it with static call, and with GnuCOBOL version 3.1.2.0. Compile with the -lWinmm option. CALL STATIC "PlaySound" USING BY CONTENT CONCATENATE(TRIM(WS-WAV-FILE), X"00") BY VALUE 0 BY VALUE 131081 RETURNING WS-RETURN-VALUE END-CALL It works also. Regards, László
Hello Eugenio, please read this thread: "GMP calls from COBOL fails to compile under 3.1, 3.2 and 4.0": https://sourceforge.net/p/gnucobol/discussion/help/thread/7a64bf9cc8/ In our case we have this call: PlaySound(TEXT(wav_file), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP); In the function argument there is the TEXT() macro, and we have the flags: SND_FILENAME | SND_ASYNC | SND_LOOP. You can try it without the macro, and you can calculate the value for the flag. But I am not sure, that you can compile...
Hi, I added a contribution WIN-SOUND to the SVN samples. This is a small wrapper program for the Windows PlaySound function: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/win-sound/ Regards, László
WIN-SOUND: This is a small wrapper program for the Windows PlaySound function.
WIN-SOUND: This is a small wrapper program for the Windows PlaySound function.
Hi, I added a contribution WIN-BEEP to the SVN samples. This is a small wrapper program for the Windows Beep and MessageBeep functions: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/win-beep/ Regards, László
WIN-BEEP: This is a small wrapper program for the Windows Beep and MessageBeep functions.
COBJAPI: make.sh and manifest.mf changed in src_java.
Hi, 2125 is the internal number of the new function. It can be that your update on linux was not correct and the new function was not found on java side. You should stop all java processes and runtime at update. László
Hi, I added the new function J-TOFRONT to COBJAPI. In some cases a new Frame was not shown in the foreground on the screen. The user had to click on the taskbar icon to see the Frame. The new function could help, but this is also depends on operating system. This function is only for Frames, here is an example on how it can be used: MOVE J-SHOW(WS-FRAME) TO WS-RET MOVE J-TOFRONT(WS-FRAME) TO WS-RET Regards, László
Hi, I added the new function J-TOFRONT to COBJAPI. In some cases a new Frame was not shown in the foreground on the screen. The user had to click on the taskbar icon to see the Frame. The new function could help, but this is also depends on operating system. This function is only for Frames, here is an example on how it can be used: MOVE J-SHOW(WS-FRAME) TO WS-RET MOVE J-TOFRONT(WS-FRAME) TO WS-RET Regards, László
COBJAPI: J-TOFRONT added.
Hi, I checked this. There is on Java side a "toFront" method for Frames, but it is not implemented yet in COBJAPI. If I have time at Christmas, then I will do it. László
"top on the PC Desktop" means foreground?
Hi, first you have to define some values for the label with J-SETSIZE. You can check the example: label.cob Extend your example with J-SETSIZE: *> set label MOVE J-LABEL(WS-FRAME, WS-TEXT) TO WS-LABEL. MOVE 500 TO WS-L-WIDTH MOVE 300 TO WS-L-HEIGHT MOVE J-SETSIZE(WS-LABEL, WS-L-WIDTH, WS-L-HEIGHT) TO WS-RET MOVE J-SETFONT(WS-LABEL, WS-FONT, WS-FONTSTYLE, WS-FONTSIZE) László
Hi, maybe so: *> get screen data MOVE J-GETSCREENWIDTH() TO WS-SCR-WIDTH MOVE J-GETSCREENHEIGHT() TO WS-SCR-HEIGHT *> set frame size MOVE 800 TO WS-WIDTH MOVE 600 TO WS-HEIGHT MOVE J-SETSIZE(WS-FRAME, WS-WIDTH, WS-HEIGHT) TO WS-RET *> the frame position is in the middle of the screen COMPUTE WS-XPOS = (WS-SCR-WIDTH - WS-WIDTH) / 2 COMPUTE WS-YPOS = (WS-SCR-HEIGHT - WS-HEIGHT) / 2 MOVE J-SETPOS(WS-FRAME, WS-XPOS, WS-YPOS) TO WS-RET MOVE J-SHOW(WS-FRAME) TO WS-RET This is in https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/cobjapi/SWING/examples/tree_internal_frames/tree_internal_frames.cob#l197...
Hello, unfortunately I cannot reproduce the setFont error with the example program with Cygwin/Windows 10. Have you modified the program "menu.cob" and are you using the J-SETFONT function for menus? You can turn on the trace in the menu.cob example, delete the comments on these lines at the beginning: > MOVE 5 TO WS-DEBUG-LEVEL > MOVE J-SETDEBUG(WS-DEBUG-LEVEL) TO WS-RET You wrote: "when suddenly, it failed with an error code". That means everything worked before. Maybe you changed something in...
Hi, i tried to register. You must provide personal information, address, email, and a working phone number. But after that your credit card details will be asked. Mastercard, Visa or Amex is accepted. You must provide Card Number, Expiration Month, Expiration Year and CVN. And in the text it says that even for the completely free package you have to pay something first. If I understand correctly, you'll get it back later. I don't have credit cards so that was just for me. But now they got my personal...
Hi, i tried to register. You must provide personal information, address, email, and a working phone number. But after that your credit card details will be asked. Mastercard, Visa or Amex is accepted. You must provide Card Number, Expiration Month, Expiration Year and CVN. And in the text it says that even for the completely free package you have to pay something first. If I understand correctly, you'll get it back later. Unfortunately I don't have credit cards so that was just for me. But now they...
Hi, there are more ways to do it. First of all read the FAQ: "5.4 Does GnuCOBOL support any SQL databases?" After it check the contributions: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/DBsample/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/esql/ https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/JC-SQL-Precompiler/ László
COBJAPI: small correction.
COBJAPI: small correction.
COBJAPI: add tree_internal_frames to Makefile.
Hi Brian, thanks for the warning. I checked COBJAPI, no log4j is used there. László
Hi, you can try it with the tool HTM2COB: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/tools/htm2cob It's a different point of view than MF. If I know correctly with MF, HTML will be embedded in COBOL. With HTM2COB you do it the other way around. COBOL is embedded in HTML. (Similar syntax is used in PHP with many projects.) With the HTM2COB tool you can convert an HTML file into COBOL source code. The generated COBOL program is a CGI server program. Into the HTML input you can additionally...
prothsearch: GMP functions in a separated file.
prothsearch: GMP functions in a separeted file.
Hi Simon, thank you for your hints, I will correct the program. László
Hi, I am trying to compile an old contribution under cygwin64: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/prothsearch/ I wrote this program with the GnuCOBOL version 2.2. It compiles and runs yet with 3.0. But it fails to compile with 3.1.2, with 3.2 and with 4.0. Same cygwin64 and same source code. There are always undefined references to the GMP functions. I tried to link GMP also with the parameters -L and -l, but it doesn't work. The last try with 4.0: $ cobc -info cobc...
You can read about it (with small examples) in "GnuCOBOL Programmers Guide": https://gnucobol.sourceforge.io/guides.html --> 11.6. Sharing Data Between Calling and Called Programs László
Here is an example with variable: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/prothsearch/prothtest.cob László
but I could not read the ISAM file with my editor For Berkeley DB there are Command Line Utilities: db_dump or db_load, etc... László
but I could not read the ISAM file with my editor For Berkeley DB there Command Line Utilities: db_dump or db_load, etc... László
https://twitter.com/_workchronicles/status/1429741661773602822
For shared memory and parallel processing there is an example here: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/shared_mem László
Hi Bert, you can see examples with function keys here: https://sourceforge.net/p/gnucobol/contrib/HEAD/tree/trunk/samples/DBsample László
Hi, The internal frame was improved, please do an update, if you use it. I added a new example "tree_internal_frames". This example shows how to organize source codes with multiple internal frames. Each internal frame is a separate module. The event loop goes over the main frame and all active internal frames. László
COBJAPI: Internal frame improved. tree_internal_frames example added.
Hi Simon, thank you! I added the link to the readme.txt files. Can you please do a small correction. The second "SWING, complex" should be "AWT, complex". László
COBJAPI: Link to online screenshot gallery added.
Hello Erich, it looks like you only want to display a different COBOL mask (frame or dialog box in java) in the same application. Then it is not the right way. If you really want to start another application, then it's ok. You can delete the components and create others in the same frame. You can't show the components. You can use dialog box (see examples dialog.cob and dialogmodal.cob). You can use tabbed pane. You can also use internal frames. You can also create another frame from a frame. In...
Hello Erich, I found no way to rightadjust labels in JAPI For this problem I added the example flowlayout1.cob to SVN. Presently there are the following layout managers in COBJAPI: - FixLayout (with fixed positions of components) - FlowLayout (horizontal and vertical) - GridLayout - BorderLayout They are actually the AWT layout managers. But you can embed these layout managers in each other and thus achieve what you want. For your problem you can use a vertical FlowLayout with right align (similar...
COBJAPI: flowlayout1.cob example added.
Thanks, I uploaded them in SVN.
COBJAPI: Documentation of Erich Müller Japi-install-02.odg and Japi-install-02.pdf added.
Hello Erich, thanks again for the document, i uploaded it to SVN. I think we don't need a Windows version, it's actually almost the same, and there are also instructions for the installation in the readme.txt file. That should be enough. László