Строковый массив видет как ноль , подскажите где ошибка .
Как мне задать в список конкректные вырождения :
graphics
SET LISTS CUSTOM
option base 1
maxx=screen_width()
maxy=screen_height()
kof=maxy/768
dim as(5)
data "qwer","wert","erty","rtyu","tyui"
for k=1 to 5
read as(k)
next k
list 1 TEXT as AT 0,0 SIZE maxx/3,maxy
Мне нужна помощь с изучением синтаксиса.
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Мне нужна помощь с изучением синтаксиса.
Переменная as должна быть строкой а не числом. К переменной добавляется знак $
В твоем случае:
Dim as$(5)
....
Read as$(k)...
В твоем случае:
Dim as$(5)
....
Read as$(k)...
Re: Мне нужна помощь с изучением синтаксиса.
Владимер, спасибо..)Фант wrote:Переменная as должна быть строкой а не числом. К переменной добавляется знак $
В твоем случае:
Dim as$(5)
....
Read as$(k)...
Какой раз вы мне всё разжёвываете , реально спасибо)
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Мне нужна помощь с изучением синтаксиса.
Без проблем! Обращайся .
Re: Мне нужна помощь с изучением синтаксиса.
не могу понять в чём ошибка . Нужно при нажатии вызвать подпрограмму ,у меня 81 кнопка , команда option base 1 присутствуют :
loop:
for i=1 to 81
if BUTTON_PRESSED (i)=1 then
gosub tabl
endif
next i
goto loop
tabl:
return
loop:
for i=1 to 81
if BUTTON_PRESSED (i)=1 then
gosub tabl
endif
next i
goto loop
tabl:
return
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: Мне нужна помощь с изучением синтаксиса.
А как заданы кнопки?
Re: Мне нужна помощь с изучением синтаксиса.
Вот кодMr. Kibernetik wrote:А как заданы кнопки?
Code: Select all
graphics
OPTION BASE 1
dim ii$(81)
data "H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pb","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","La","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Ti","Pb","Bi","Po","At","Rn","Fr","Ra","Ac","Rf","Db","Sg","Bh","Hs","Mt"
for i=1 to 81
read ii$(i)
next i
mp=1.00728
mn=1.00867
c2=931.5
if DEVICE_TYPE$ ()="iPad" then
SET ORIENTATION P
i$=0
if p=2 or p=4 then
if p=2 then
SET ORIENTATION LEFT
end if
if p=4 then
SET ORIENTATION RIGHT
end if
else
SET ORIENTATION right
end if
a1=screen_width() 'ширина экрана
a2=screen_height() 'высота экрана
if a2<a1 then
a3=a2
end if
if a1<a2 then
a3=a1
end if
a4=a1-a3
core=a3/10
cof=core
corx=a4
cory=0
i=0
for k1=1 to 10
str+=1
for k2=1 to 10
i+=1
if i=81 then ! k2=10 ! endif
if str=1 then
BUTTON i text ii$(i) AT corx+core*6,cory SIZE cof,cof
corx+=core
if i=2 then
k2=10
endif
end if
if str=4 or str=6 or str=8 or str=10 then
BUTTON i text ii$(i) AT corx,cory SIZE cof,cof
corx+=core
end if
if str=2 or str=3 or str=5 or str=7 or str=9 then
BUTTON i text ii$(i) AT corx,cory SIZE cof,cof
corx+=core
if i=10 or i=18 or i=54 or i=36 or i=72 then
k2=10
end if
end if
next k2
corx=a4
cory+=core
next k1
else
text
print "-------"
end if
loop:
for i=1 to 81
if BUTTON_PRESSED (i)=1 then
gosub tabl
endif
next i
goto loop
tabl:
return
- Фант
- Posts: 1363
- Joined: Sat Nov 30, 2013 10:01 am
- My devices: iPad 4 (iOS 9.3), iMac (MAC OS 11.03)
- Location: Россия,Санкт-Петербург
- Flag:
- Contact:
Re: Мне нужна помощь с изучением синтаксиса.
Переведи i в строковую переменную:
For i=1 to 81
I$=i
If button_pressed (i$) then...
For i=1 to 81
I$=i
If button_pressed (i$) then...
Re: Мне нужна помощь с изучением синтаксиса.
Спасибо Фант, это программа на скорую руку ,нужна прост уже завтра , при нажатии на элемент нужно , чтобы выдавала количество изотопов и электронов , а также энергию ядра и энергию связи ядра.Фант wrote:Переведи i в строковую переменную:
For i=1 to 81
I$=i
If button_pressed (i$) then...
Для девятых классов ...
Вдальнейшем я заменю кнопки на изображения...
- Mr. Kibernetik
- Site Admin
- Posts: 4786
- Joined: Mon Nov 19, 2012 10:16 pm
- My devices: iPhone, iPad, MacBook
- Location: Russia
- Flag:
Re: Мне нужна помощь с изучением синтаксиса.
Да, нужно всегда четко понимать, что имя кнопки - это СТРОКОВАЯ величина, а НЕ ЧИСЛОВАЯ.
В данной программе вы широко пользуетесь возможностью smart BASIC автоматически конвертировать числа в строки, задавая имя конпки числом, но Бейсик беря число, например 3, автоматом конвертирует его в строку "3", и создает кнопку с именем "3".
А при работе функции BUTTON_PRESSED() ей в качестве параметра нужна ТОЛЬКО СТРОКА - функции не занимаются автоматическим конвертированием чисел в строки и наоборот. Поэтому, как предлагает Фант, число (раз имена у вас - это числа) нужно сначала конвертировать в строку, например приравниванием
k$=i
и уже эту строку давать функции в качестве параметра
BUTTON_PRESSED(k$)
Имена кнопок (и других объектов) ведь могут быть произвольными строками, например:
BUTTON "моя кнопка" ...
а не только числами "0", "1" и т.д.
В данной программе вы широко пользуетесь возможностью smart BASIC автоматически конвертировать числа в строки, задавая имя конпки числом, но Бейсик беря число, например 3, автоматом конвертирует его в строку "3", и создает кнопку с именем "3".
А при работе функции BUTTON_PRESSED() ей в качестве параметра нужна ТОЛЬКО СТРОКА - функции не занимаются автоматическим конвертированием чисел в строки и наоборот. Поэтому, как предлагает Фант, число (раз имена у вас - это числа) нужно сначала конвертировать в строку, например приравниванием
k$=i
и уже эту строку давать функции в качестве параметра
BUTTON_PRESSED(k$)
Имена кнопок (и других объектов) ведь могут быть произвольными строками, например:
BUTTON "моя кнопка" ...
а не только числами "0", "1" и т.д.