Portál AbcLinuxu, 28. prosince 2025 16:13
opndlg_ v C se bude volat ve Fortranu call opndlg.
Common blocky jsou v C dostupné jako struktury, jejímiž prvky jsou jednotlivé proměnné.
! Program: Grafické rozhrani pro interaktivni vstup jmena souboru.
! Pouzity kompilator: Intel(R) Visual Fortran Compiler for applications running on IA-32, Version 10.1
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
program opendialog
! nacteme potrebne knihovny pro pouziti Windows API
use comdlg32
use user32
implicit none
type(T_OPENFILENAME) ofn
character(512) :: file_spec = ""C
integer status,ilen
ofn%lStructSize = SIZEOF(ofn)
ofn%hwndOwner = GetForegroundWindow()
ofn%hInstance = NULL
ofn%lpstrFilter = loc(0)
ofn%lpstrCustomFilter = NULL
ofn%nMaxCustFilter = 0
ofn%nFilterIndex = 1
ofn%lpstrFile = loc(file_spec)
ofn%nMaxFile = sizeof(file_spec)
ofn%nMaxFileTitle = 0
ofn%lpstrInitialDir = NULL
ofn%lpstrTitle = loc(""C)
ofn%Flags = OFN_PATHMUSTEXIST
ofn%lpstrDefExt = loc("txt"C)
ofn%lpfnHook = NULL
ofn%lpTemplateName = NULL
! Zkontrolujeme navratovou hodnotu
status = GetOpenFileName(ofn)
if (status .eq. 0) then
type *,'Nevratila se cesta k souboru!'
else
! Zjistime pocet znaku cesty k souboru
ilen = INDEX(file_spec,CHAR(0))
type *,'Cesta k souboru: ',file_spec(1:ilen-1)
end if
end program opendialog
Já bych to nekomplikoval, napsal část s GUI v C a přilinkoval k vlastnímu programu ve Fortranu. Ukázka v příloze využívá GTK.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.