[fpc-pascal] FPC + GTK2 : Using variable into a Widget name ?

bartek bbartek at gmx.net
Fri Jan 4 14:38:00 CET 2008


On Friday 04 January 2008 14:26:50 tom at guilleminot.org wrote:
> Hi,
> 
> I use FPC with GTK2 and I have the following problem :
> In a loop with I'd like to be able to use the indice (incremented integer)
> on the name of widget to perform some actions.
> Here is an example :
> 
>   var
>     pFSImage01, pFSImage02, pFSImage03 : PGtkWidget;
>   ...
>   
>   For I:=1 to 3 do
>   begin
>   	pFSImage0#I# := gtk_image_new_from_file('./mypix.jpg');
>   	gtk_fixed_put(pGTKFIXED(pFSFixed), pGTKWIDGET(pFSImage0#I#) , 100*I,
> 20);
>   	gtk_widget_show(pFSImage0#I#);
>   end;
> 
> So I'd like any #I# above are remplaced with the real I value. This would
> considerably improve/reduce my code.
> But I'm able to achieve this. Does anyone know ?
> 
> Thanks.
> Tom
> 
What about fixed size arrays?

var
	pFSImage: array[0..3] of pGTKWidget;
	i: integer;
begin
	for i:= 0 to 3 do
	begin
		pFSImage[i] := your code here
		more code
	end;
end;

You could also use dynamic arrays if you don't know the array size at compile 
time. There is more information in the reference manual of FPC.

bartek



More information about the fpc-pascal mailing list