console.title "Запуск программы..." gosub functions list.create s,lst_files list.add lst_files,"../source/strings/fhhh/hgfchur/htrddfg/hggff/vffhyr" list.add lst_files,"../source/graphics" list.add lst_files,"../functions/rustime" list.add lst_files,"../functions/rustime2" start: Dialog.select tchd, lst_files, "Выбери файл или "+chr$(8634)+" - выйди" if !tchd then console.title "Выход...": end "Программа завершена" list.get lst_files,tchd,path$ !path$="../source/strings" c=ReadFile(path$) caps=SeparateCaption(c) list.size caps,count cls Do cls out(caps) console.title "Список функций" console.line.touched tchd acd=tchd listener: Do console.line.touched tchd if tchd then Console.line.text tchd,linetext$ Until acd<>tchd if tchd=count-2 then goto listener cls console.title "Думаю..." if tchd=count-1 then Console.title "Переход...":goto start fout(c,tchd) Console.title linetext$ bk=0 Do Until bk Until 0 OnBackKey: if !bk then bk=1 Back.resume functions: ! Чтение и помещение строк файла в лист fn.def ReadFile(path$) File.exists fe, path$ if !fe then console.title "Ошибка в пути файла" end "Программа завершена." endif list.create s, lst text.open r, channel, path$ DO text.readln channel, h$ if h$<>"" then list.add lst,h$ UNTIL h$ = "EOF" text.close channel fn.rtn lst fn.end fn.def out(lst) list.size lst,le for i=1 to le list.get lst,i,h$ print h$ next fn.end ! Отделение заголовков функций в листинге fn.def SeparateCaption(lst) list.create s,ds list.size lst,le for i=1 to le list.get lst,i,h$ if lower$(left$(h$,6))="fn.def" then e++ s$=int$(e)+") "+fuz$(right$(h$,len(h$)-6)) ! print s$ list.add ds,s$ endif next list.add ds, chr$(11014)+" Клик по функции для её просмотра и копирования"+chr$(8598),"ЩЁЛК СЮДА, чтобы перейти к выбору другого файла","" fn.rtn ds fn.end !Вывод содержимого выбранной функции fn.def fout(lst,n) list.size lst,a for i=1 to a list.get lst,i,s$ if lower$(left$(s$,6))="fn.def" then e++ if e=n then print s$+chr$(10); : cl$+=s$+chr$(10) if e=n & lower$(s$)="fn.end" then Clipboard.put cl$ : f_n.break next if e"" then z$=mid$(s$,2,1) s$=right$(s$,len(s$)-2) s$=upper$(z$)+s$ fn.rtn s$ fn.end return