• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Считывание с файла!

  • Автор темы 11BOSS11
  • Дата начала
1

11BOSS11

#1
У меня есть файл в который записаны строки.

Нужно забить в масив построчно все строки после строки Chr(10)+Chr(13) (эти строки я использую как ориентиры) и пока не втретится тоже Chr(10)+Chr(13)........

я пробовал обычным Input, но в таком случае не видит Chr(10)+Chr(13)...
 

Xalet

Well-known member
08.08.2008
410
0
#4
Chr(10)+Chr(13) это же конец строки(новая строка и возврат каретки) или я чего-то не понимаю?

text$ = notesStream.ReadText( [ oneLine& ] , [ eol& ] )
 

nvyush

Lotus team
22.04.2009
2 317
0
#5
таким образом оно не воспримет строку Chr(10)+Chr(13).....
а мне надо как то так считать, чтобы увидеть эту строку, так как она является нужным мне маркером.......
Нужно забить в масив построчно все строки после строки Chr(10)+Chr(13) (эти строки я использую как ориентиры) и пока не втретится тоже Chr(10)+Chr(13)
Line Input # reads characters from a sequential file until it encounters a newline character. Line Input # does not read the newline character into the variable.
Оно само разбивает на строки, т.е. нужно просто заключить Line Input # в цикл и выходить по eof.
 
1

11BOSS11

#6
Chr(10)+Chr(13) это же конец строки(новая строка и возврат каретки) или я чего-то не понимаю?
ну оно то верно в принципе......... я просто использую два рядом стоящих ентера(жосткий и мягкий как маркеры..(чтобы знать откуда и покуда считывать)).... мне наверное тут надо как то может бинарно считывать файл ....
 

Xalet

Well-known member
08.08.2008
410
0
#7
ну оно то верно в принципе......... я просто использую два рядом стоящих ентера(жосткий и мягкий как маркеры..(чтобы знать откуда и покуда считывать)).... мне наверное тут надо как то может бинарно считывать файл ....
ну так и сделайте проверку на пустую строку, а лучше другой маркер используйте
 
1

11BOSS11

#8
просто мне надо какие то невидимые для глаз при просмотре файла разделители.......... вот.....елси бы не они ,- тогда бы вообще проблем бы не было........или елси бы они были просто String допустим "Marker"......- тогда бы просто Line Input считал бы и все ОКэЙ , а так надо именно невидимые разделители, решил испольховать 2 рядом стоящих ентера
 
1

11BOSS11

#10
пустая строка не подойдет,.....а какой другой маркер например?
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 240
18
#12
черен стрим всё берется как надо, главное указать что это бинарник
 
1

11BOSS11

#13
мм .. я не пользовался NotesStream, может кто примерчик подбросит плиз.............

Добавлено: вот я открываю бинарно файл, и счытываю побайтно его,
и вот проблема, что то оно не хочет считыватся ,- переменная stroka12 пустая на каждой итерации........

Код:
FILENAME2="C:\999.txt" 
Dim fileNum2 As Integer
fileNum2% =Freefile()	
Open FILENAME2 For Binary As fileNum2% Charset=kodirovka
Dim stroka12 As String
OtrezHeader=False
k=0

Do While OtrezHeader = False
k=k+1		
Get #fileNum2% ,k , stroka12 
If stroka12=Chr(10) Then
Print "НАшли a0"
Get #fileNum2% ,k+1 , stroka12 
If stroka12=ad Then
Print "НАшли ad"
OtrezHeader=True
k=k+1
End If
End If

Loop
 

Xalet

Well-known member
08.08.2008
410
0
#14
Binary file: The number of bytes read from the file is equal to the length of the string currently assigned to variableName. If variableName has not been initialized, no data is read from the file.
 
1

11BOSS11

#15
Binary file: The number of bytes read from the file is equal to the length of the string currently assigned to variableName. If variableName has not been initialized, no data is read from the file.
делаю так чтобы задать размер строки , мм но не находит Chr(10) ,Chr(13)......

Код:
FILENAME2="C:\999.txt" 
Dim fileNum2 As Integer
fileNum2% =Freefile()	
Open FILENAME2 For Binary As fileNum2% Charset=kodirovka
Dim stroka12 As String
stroka12= " " ' определяем размер строкии
OtrezHeader=False
k=0

Do While OtrezHeader = False
k=k+1		
Get #fileNum2% ,k , stroka12 
If stroka12=Chr(10) Then
Print "НАшли a0"
Get #fileNum2% ,k+1 , stroka12 
If stroka12=ad Then
Print "НАшли ad"
OtrezHeader=True
k=k+1
End If
End If

Loop
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#17
В хелпе есть примеры NotesStream.
В твоём примере не задан ad. И первым символом обычно идет возврат каретки chr(13), а потом перевод строки chr(10).
 

Xalet

Well-known member
08.08.2008
410
0
#18
как по мне переменная К здесь лишняя. Дебагером посмотрите, что оно вам считывает при каждом гете, или в лог распечатайте =)
 
1

11BOSS11

#20
помоему чтото не то с кодировкой.....
Код:
Open FILENAME2 For Binary As fileNum2% Charset=kodirovka
а кодировка у мну:
Код:
kodirovka= UTF-8
.........потомучто считывает квадратики......... ;)
 
Вверх Снизу