|
06.06.2011, 11:29
|
#1366
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
;GetKey возращает символ нажатой кнопки в Аск2
string_$=Chr(GetKey())
If string_$>"!";чтоб отсеять символ нечитабельный
String__$=String__$+string_$
EndIf
Text x,y, String__$;чтоб видно было
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.06.2011, 11:52
|
#1367
|
ПроЭктировщик
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений (для 34 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
всё равно не пишет в файл
|
(Offline)
|
|
06.06.2011, 12:16
|
#1368
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
If EnterKey$="2317499356"
Походу зациклен. Нужно один раз проверять, например при нажатии "Сохранить"
WriteFile (filename$) ; Open a file to write to (открыть файл для записи)
; Open a file to write to
fileout = WriteFile("mydata.dat")
; Write the information to the file
WriteString( fileout, BestName )
WriteInt( fileout, BestScore )
WriteByte( fileout, BestLevel )
; Close the file
CloseFile( fileout )
; Open the file to Read
filein = ReadFile("mydata.dat")
С OpenFile (filename$) со строками чёт помудрёней будет
|
(Offline)
|
|
06.06.2011, 12:51
|
#1369
|
ПроЭктировщик
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений (для 34 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от LLI.T.A.L.K.E.R.
If EnterKey$="2317499356"
Походу зациклен.
|
Нечего подобного
С OpenFile (filename$) со строками чёт помудрёней будет
|
разницы нет
|
(Offline)
|
|
06.06.2011, 15:21
|
#1370
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
а народ то не знает как с файлами работать...
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо RegIon за это полезное сообщение:
|
|
06.06.2011, 16:19
|
#1371
|
ПроЭктировщик
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений (для 34 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от RlexGm
разницы нет
|
в смысле что на результат ни как не влияет, как не записывал, так и не записывает
|
(Offline)
|
|
06.06.2011, 16:23
|
#1372
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от RlexGm
Такой вопрос, b3d сравнивает переменные string$?
У меня такой код:
If EnterKey$="2317499356" Regfile=OpenFile("data\maps\7\file.vs") WriteLine(regfile,"ab729c") CloseFile(regfile) click=0 Else EnterKey$="" SimKol=0 click=0 EndIf
Text centrw,centrh-50,"Press key",True,True Text centrw,centrh,EnterKey$,True,True If SimKol<=10 If KeyHit(2) Then EnterKey$=EnterKey$+"1":SimKol=SimKol+1 If KeyHit(3) Then EnterKey$=EnterKey$+"2":SimKol=SimKol+1 If KeyHit(4) Then EnterKey$=EnterKey$+"3":SimKol=SimKol+1 If KeyHit(5) Then EnterKey$=EnterKey$+"4":SimKol=SimKol+1 If KeyHit(6) Then EnterKey$=EnterKey$+"5":SimKol=SimKol+1 If KeyHit(7) Then EnterKey$=EnterKey$+"6":SimKol=SimKol+1 If KeyHit(8) Then EnterKey$=EnterKey$+"7":SimKol=SimKol+1 If KeyHit(9) Then EnterKey$=EnterKey$+"8":SimKol=SimKol+1 If KeyHit(10) Then EnterKey$=EnterKey$+"9":SimKol=SimKol+1 If KeyHit(11) Then EnterKey$=EnterKey$+"0":SimKol=SimKol+1 EndIf
Суть заключается в том, что когда будет введена переменная, и нажата кнопка будет сравнение набранной переменной с строковыми цифрами.Если набрано правильно, то в файл должна записаться строка.
Но когда набираешь правильно, то записи в файл не происходит.Просто всё стирается.Скажите пожалуйста в чём проблема.
|
Тупо скопировал твой код и вставил в б3д с небольшим допиливанием. Всё сравнивает и пишет в файл. Но, происходит перезапись файла. Исправляется предварительным чтением всего файла в массив пользуясь циклом
While Not Eof(file)
...
Wend
,
и последующая запись всего по порядку.
Возможно как то можно открыть файл в б3д на дозапись, но я не знаю как.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.06.2011, 16:42
|
#1373
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Возможно как то можно открыть файл в б3д на дозапись, но я не знаю как.
|
там SeekFile( file, ofset) ставит позицию для записи,не знаю в чем мерится...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.06.2011, 17:01
|
#1374
|
ПроЭктировщик
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений (для 34 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от St_AnGer
Но, происходит перезапись файла
|
Перезапись? Стирается старое значение и записываеться новое?
|
(Offline)
|
|
06.06.2011, 17:16
|
#1375
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
да,но с лайнами вроде так не проходит,он всегда дописывает лайн(WriteLine)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
06.06.2011, 18:20
|
#1376
|
Элита
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений (для 2,828 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от Костян
да,но с лайнами вроде так не проходит,он всегда дописывает лайн(WriteLine)
|
дописывает только при текущей работе с файлом до закрытия файла. Иначе файл переписывается с нуля новыми данными.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.
Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2
Скачать Doom 2D: Remake v0.3.8a
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо St_AnGer за это полезное сообщение:
|
|
07.06.2011, 07:04
|
#1377
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,158
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
дописывает только при текущей работе с файлом до закрытия файла. Иначе файл переписывается с нуля новыми данными.
|
ведать я его забывал закрывать...
|
(Offline)
|
|
08.06.2011, 19:15
|
#1378
|
ПроЭктировщик
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений (для 34 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
выяснил что при сравнении б3д не видит что EnterKey$ и циферки равны, т.к. выполняется условие "не равно"...С чем это может быть связано?
|
(Offline)
|
|
09.06.2011, 01:42
|
#1379
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от RlexGm
Такой вопрос, b3d сравнивает переменные string$?
У меня такой код:
If EnterKey$="2317499356"
. .
Else
. . EnterKey$=""
EndIf
|
Короче так как EnterKey$ изначально не равен "2317499356"
то он всегда чист EnterKey$=""
Тут вот тупик!
Или давай относительно полный код! Так как наверняка проверка If EnterKey$="2317499356" происходит в один определённый момент (действии).
|
(Offline)
|
|
09.06.2011, 09:17
|
#1380
|
ПроЭктировщик
Регистрация: 11.11.2009
Сообщений: 172
Написано 17 полезных сообщений (для 34 пользователей)
|
Ответ: Вопрос-Ответ (для новичков)
Сообщение от LLI.T.A.L.K.E.R.
то он всегда чист EnterKey$=""
|
Так он же выводиться на экран
Сообщение от LLI.T.A.L.K.E.R.
давай относительно полный код! (действии).
|
If bt\status=2 And click=1 Then ;click=1 когда нажимаешь на мышь ... ... ...
If bt\id=26 Then ; если id кнопки такой, то: If EnterKey$="2317499356" FileReg=OpenFile("data\maps\7\file.vs") WriteLine(FileReg,"ab729c") CloseFile(FileReg) EndIf If EnterKey$!="2317499356" ; здесь делал разное: Else, If not EnterKey$= , != и т.д. EnterKey$="" SimKol=0 End ; если вылетает, значит выполняется это условие EndIf EndIf
...
click=0 EndIf EndIf
не большая не важная поправка, код php убрал знак \. bt\ это в типе. Например тут btstatus=2, а должно быть bt\status=2
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:59.
|