filesel

{
  $Id: filesel.pp,v 1.3 2005/02/14 17:13:20 peter Exp $
 
  Converted from C to Pascal by Javier Ros <jros@unavarra.es>
}
program filesel;
 
uses
 glib,gdk,gtk;
 
(* Get the selected filename and print it to the console *)
procedure file_ok_sel( w:PGtkWidget;
                  fs:PGtkFileSelection );cdecl;
begin
    writeln ( gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
end;
 
procedure destroy( widget:PGtkWidget;
              data: gpointer);cdecl;
begin
    gtk_main_quit ();
end;
 
 
var
 filew:PGtkWidget ;
 
 
begin
 
    gtk_init (@argc, @argv);
 
    (* Create a new file selection widget *)
    filew := gtk_file_selection_new ('File selection');
 
    gtk_signal_connect (GTK_OBJECT (filew), 'destroy',
                        GTK_SIGNAL_FUNC (@destroy), @filew);
    (* Connect the ok_button to file_ok_sel function *)
    gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (filew)^.ok_button),
                        'clicked', GTK_SIGNAL_FUNC (@file_ok_sel), filew );
 
    (* Connect the cancel_button to destroy the widget *)
    gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION
                                            (filew)^.cancel_button),
                               'clicked', GTK_SIGNAL_FUNC (@gtk_widget_destroy),
                               GTK_OBJECT (filew));
 
    (* Lets set the filename, as if this were a save dialog, and we are giving
     a default filename *)
    gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
                                     'filesel.pp');
 
    gtk_widget_show(filew);
    gtk_main ();
end.
{
  $Log: filesel.pp,v $
  Revision 1.3  2005/02/14 17:13:20  peter
    * truncate log
 
}
 

¿Has encontrado algún error? ¿Tienes la solución? Dejame tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.

Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C [c]Código en C[/c]
  • Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].

De esta manera el código coloreas el código.

Otro punto importante para muchos que crees que te he ignorado: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:

Me reservo el derecho de alterar, publicar o no los comentarios así como también cambiar mis condiciones en el momento que yo lo requiera.

¿Si estas de acuerdo? Adelante! que ya te he quitado bastante tiempo leyendo esta basura :)