Вверх ↑
Ответов: 72
Рейтинг: 1
#1: 2023-11-24 10:05:28 ЛС | профиль | цитата
Всем доброго времени!

Разбираюсь с FTCG, и вот на какую не понятную вещь наткнулся....

Происходит это в пакете питон.

1) указываем в файле struct.hws
if (sys.gvarfind('struct_is_set') = -1) gvar (struct_is_set)
 gvar(BLK_IMPORT,BLK_HEAD,BLK_GLOB,BLK_CLASS,BLK_OBJ,BLK_BODY,BLK_LABELS,BLK_FUNC,BLK_FUNCUP,BLK_NOTH,BLK_FOOTER,BLK_LOC,BLK_EVENTS,BLK_FUNCDW)
 gvar (fn)
 BLK_HEAD =         "head"
 BLK_IMPORT =       "import"
 BLK_GLOB =         "globals"
 BLK_CLASS =        "class"
// BLK_OBJ =        "objects" //Fso, Re, ...
 BLK_BODY =         "body"
// BLK_LABELS =     "labels"
 BLK_EVENTS =       "events" // On...

 BLK_FUNC =         "functions"
 BLK_FUNCUP =       "functionsup"
 BLK_NOTH =         "Nothing"
 BLK_FOOTER =       "footer"
 BLK_LOC =          "locals"
 BLK_FUNCDW =        "functionsdw"
 
 block.reg(BLK_HEAD)
 block.reg(BLK_IMPORT)
 block.reg(BLK_CLASS)
 block.reg(BLK_GLOB)
 block.reg(BLK_OBJ)
 block.reg(BLK_FUNCUP)
 block.reg(BLK_FUNC)
 block.reg(BLK_FUNCDW) 
 block.reg(BLK_BODY)
 block.reg(BLK_LOC)
 block.reg(BLK_EVENTS)
 block.reg(BLK_NOTH)
 block.reg(BLK_FOOTER)
 block.select(BLK_FOOTER)
 println('# Created with HiAsm Studio '+code(sys.hi_version("%mj.%mn build %bl"))+ ' (http://www.hiasm.com)')
 block.select(BLK_BODY)
end

блоки(секторы) для вставки сгенерированного кода.

2) Главный элемент кода hiEntriPoint.hws
include("import")
func doStart()
	include("struct")
    need_sys()
	fvar(old, cname)
	
	cname = "hi"+project_name()
	
    old=block.select(BLK_FUNCUP) 
	block.inclvl()	
	println('# Functions')
	println('def hi_input(self, prompt=f""):')
	block.inclvl()
	println('return input(prompt)')			
	println('')
    block.declvl()
	println('# BLK_FUNCUP')  
	block.select(old )  
    
	old=block.select(BLK_FUNC) 
	block.inclvl()	
	println('# BLK_FUNC')  
    block.select(old )  
	
	old = block.select(BLK_FUNCDW)
	block.inclvl()	
	println('# BLK_FUNCDW')  
    block.select(BLK_FUNCDW )
		
	old = block.select(BLK_BODY)	   
	block.inclvl()
	println('# Program body')		
	println('def main(self):')	
	block.inclvl()
	println('# BLK_BODY')  
    //block.declvl()
	event(onStart,'1')
	if (isdef(AutoClose))
	  println('self.hi_input(u"Íàæìèòå êëàâèøó Enter äëÿ çàâåðøåíèÿ...")')
	  //println('self.hi_input(f"Press Enter to close...")')
    end    
	block.select(BLK_BODY )  	 	
	old = block.select(BLK_CLASS)
	println('# Main class')	
	println('class ' && code(cname) && ':')	
	println('# BLK_CLASS')  
     //block.copyhere(BLK_FUNC)
	block.select(BLK_CLASS )
	
	old = block.select(BLK_HEAD)
	println('#!/usr/bin/python')
	println('# -*- coding: UTF-8 -*-')
	println('#-----------------------------------------------------')
	println('# ',code(project_name ()),'.py')
	println('#-----------------------------------------------------')
	println('# BLK_HEAD')
	println('') 
    block.select(BLK_HEAD )
	
	old = block.select(BLK_LOC)
	println('########################################################################')
	println('# Program body')	
	println('# BLK_LOC')  
	println('if __name__ == "__main__":')
	block.inclvl()	
	println('run = ' && code(cname) && '()')	
	println('run.main()')	    
	block.select(BLK_LOC )
	
	old = block.select(BLK_IMPORT)
	println('# imports') 
	println('# BLK_IMPORT')	  
    block.select(BLK_IMPORT )
	
	old = block.select(BLK_GLOB)
	block.inclvl()
	println('# Global vars')	
	println('# BLK_GLOB')  
    block.select(BLK_GLOB )
	
	old = block.select(BLK_EVENTS)
	println('# BLK_EVENTS')  
    block.select(BLK_EVENTS )
	
	old = block.select(BLK_NOTH)
	println('# BLK_NOTH')  
    block.select(BLK_NOTH )
	
	old = block.select(BLK_FOOTER)
	println('# BLK_FOOTER')  
    block.select(BLK_FOOTER )


    
 
end	


Создаю заголовки у каждого блоки и выясняется, что код у некоторых заголовках находится с низу относительно заголовка а у некоторых блоков с верху, на картинке это видно
Снимок.JPG

Скажите это как-то фиксится ?
карма: 1

0
Редактировалось 1 раз(а), последний 2023-11-24 10:07:06