forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Подскажите, непойму как дописать в конец файла (http://forum.boolean.name/showthread.php?t=9697)

Артем Валерьевич 03.11.2009 10:32

Подскажите, непойму как дописать в конец файла
 
Подскажите, непойму как дописать в конец файла.


функция должна открыть файл, запросить название нового добавляемого ентити, и дописать его с координатами в конец файла.

Так вот непойму как добавить новые строки в конец файла.

Вот оно.:)
(ентити создается в координатах игрока):

Код:


x#=EntityX (a.MatchMan\PiwotPers)
y#=EntityY (a.MatchMan\PiwotPers)
z#=EntityZ (a.MatchMan\PiwotPers)
Text 20,20,"Pers x: "+x#
Text 20,50,"Pers z: "+y#
Text 20,80,"Pers y: "+z#

FlushKeys()
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If KeyDown( 25 )=True Then
;
Typeofpoz$=Input$("name of entity-") ;
FilesName$=Input$("name of File-") ;
poz1 = WriteFile(FilesName$ +".ini") ;
;
WriteLine( poz1,Typeofpoz$+"[") ;
WriteLine( poz1, x# ) ;
WriteLine( poz1, y# ) ;
WriteLine( poz1, z# ) ;
WriteLine( poz1,"]") ;
;
CloseFile( poz1 ) ;
;
End If ;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++


IGR 03.11.2009 12:51

Ответ: Подскажите, непойму как дописать в конец файла
 
ну может попробовать ReadLine до конца файла (While Not Eof), ну если дочитали до конца, то начинаем дописывать новые строки !!

Harter 03.11.2009 13:00

Ответ: Подскажите, непойму как дописать в конец файла
 
FAQ по Blitz3D, на blitzetcetera.org:
Цитата:

Как открыть уже существующий файл и записать в его конец информацию

Файл можно открыть командой OpenFile. Действительно, при открытии файла позиция записи устанавливается в его начало. Устранить это можно двумя способами. Ламерским: сначала считать из файла всю потом записать с учетом новой инфы (можно, кстати, и так):
While Not(Eof(Your_File))

Readline$ your_File
Wend
;потом записываете вашу инфу

Или вот так:
filename$="имя_вашего_файла"

file=OpenFile(filename$)
SeekFile filе,FileSize(filename$)

Артем Валерьевич 03.11.2009 14:36

Ответ: Подскажите, непойму как дописать в конец файла
 
так делаю, или нет, неполуается, чет тупняки:
:)

Код:


 
x#=EntityX (a.MatchMan\PiwotPers)
y#=EntityY (a.MatchMan\PiwotPers)
z#=EntityZ (a.MatchMan\PiwotPers)
Text 20,20,"Pers x: "+x#
Text 20,50,"Pers z: "+y#
Text 20,80,"Pers y: "+z#

FlushKeys()
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If KeyDown( 25 )=True Then

poz1 = ReadFile("gun01.ini")
While Not(Eof(poz1))
ReadLine$ poz1
Wend

;
Typeofpoz$=Input$("name of entity-") ;
;FilesName$=Input$("name of File-") ;
;poz1 = WriteFile(FilesName$ +".ini") ;
;
WriteLine( poz1,Typeofpoz$+"[") ;
WriteLine( poz1, x# ) ;
WriteLine( poz1, y# ) ;
WriteLine( poz1, z# ) ;
WriteLine( poz1,"]") ;
;
CloseFile( poz1 ) ;
;
End If ;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++


IGR 03.11.2009 14:39

Ответ: Подскажите, непойму как дописать в конец файла
 
Цитата:

poz1 = ReadFile("gun01.ini")
открывает файл для чтения... :)

Артем Валерьевич 03.11.2009 14:42

Ответ: Подскажите, непойму как дописать в конец файла
 
укажи пожалуйста ошибки и скажи как исправить, пожалуйста:)

IGR 03.11.2009 14:46

Ответ: Подскажите, непойму как дописать в конец файла
 
там нада помойму OpenFile юзать !!
ну прост я не помню в справке нада посмотреть !! у меня ее нету !! :)
а ты открываеш файл для чтения, по этому и не дописывается у файл !! :)

вот жеж кста те написали:
Цитата:

While Not(Eof(Your_File))

Readline$ your_File
Wend
;потом записываете вашу инфу

Или вот так:
filename$="имя_вашего_файла"

file=OpenFile(filename$)
SeekFile filе,FileSize(filename$)

Артем Валерьевич 03.11.2009 14:48

Ответ: Подскажите, непойму как дописать в конец файла
 
бум пробовать, спасибо что откликнулся и разжевал мне.

IGR 03.11.2009 14:51

Ответ: Подскажите, непойму как дописать в конец файла
 

я ничего не жевал !! :-D :-D

Артем Валерьевич 03.11.2009 14:51

Ответ: Подскажите, непойму как дописать в конец файла
 
Ура, миниредактор обьектов, (расстановщик) заработал.
Спасибо большое IGR

Артем Валерьевич 03.11.2009 14:55

Ответ: Подскажите, непойму как дописать в конец файла
 
Вот так работает:

Код:


 
x#=EntityX (a.MatchMan\PiwotPers)
y#=EntityY (a.MatchMan\PiwotPers)
z#=EntityZ (a.MatchMan\PiwotPers)
Text 20,20,"Pers x: "+x#
Text 20,50,"Pers z: "+y#
Text 20,80,"Pers y: "+z#

FlushKeys()
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
If KeyDown( 25 )=True Then ;
;
poz1 = OpenFile("gun01.ini") ;
While Not(Eof(poz1)) ;
;
ReadLine$ poz1 ;
Wend ;
;
Typeofpoz$=Input$("name of entity-") ;
;
WriteLine( poz1,Typeofpoz$+"[") ;
WriteLine( poz1, x# ) ;
WriteLine( poz1, y# ) ;
WriteLine( poz1, z# ) ;
WriteLine( poz1,"]") ;
;
CloseFile( poz1 ) ;
;End If ;
End If ;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Часовой пояс GMT +4, время: 22:46.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot