Recent

Author Topic: what on Earth was I trying to do ? ( FOREACH )  (Read 598 times)

lazer

  • Full Member
  • ***
  • Posts: 215
what on Earth was I trying to do ? ( FOREACH )
« on: October 13, 2022, 08:41:26 pm »
Hi,

I am porting something I wrote under TPW ( yeah, that means about 30y ago ! ) to Lazarus

I found a snip of code I can't make sense of . It looks like garbage but I'm pretty sure this is the final working code I used.

Code: Pascal  [Select][+][-]
  1. procedure Tspellwin.showbits(flag:word);
  2.   procedure showbit(bit:Pwindowsobject); far;
  3.   begin
  4.     bit^.show(flag);
  5.   end;
  6. begin
  7.   foreach(@showbit);
  8.   if questool<>NIL then questool^.show(sw_hide);
  9. end; {showbits}


It's something about hiding/showing a a bunch of controls but I can't make sense of the use foreach.

Can anyone explain that syntax ?

TIA.

Fred vS

  • Hero Member
  • *****
  • Posts: 3168
    • StrumPract is the musicians best friend
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

ccrause

  • Hero Member
  • *****
  • Posts: 856
Re: what on Earth was I trying to do ? ( FOREACH )
« Reply #2 on: October 13, 2022, 09:48:48 pm »
Is Tspellwin perhaps derived from TCollection? It has a foreach method.

lazer

  • Full Member
  • ***
  • Posts: 215
Re: what on Earth was I trying to do ? ( FOREACH )
« Reply #3 on: October 16, 2022, 01:30:18 pm »
thanks ccrause, that does seem to explain this zany syntax.

Tspellwin isn't but I'll have to check back on what it was before I ported the code. That does seem to explain what I did decades ago, I should be able to fix it now.

Many thanks.

 

TinyPortal © 2005-2018