Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Длина символьной переменной / 6 сообщений из 6, страница 1 из 1
15.11.2005, 13:11:53
    #33378879
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина символьной переменной
Проблема в следующем. Вот такой незамысловатый код, однако строку обрезает до 255 символов, однако это же не текстовая константа - а переменная.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
LOCAL lcFile, loFile, loNew, lсZnach
STORE  0  TO lnEnd, lnByte
lcFile=GETFILE()
loFile=FOPEN(lcFile)
? LEFT(lcFile,RAT('.',lcFile))+'002'
IF loFile> 0 
	loNew=FCREATE(LEFT(lcFile,RAT('.',lcFile))+'002')
	IF loNew> 0 
	loZnach = FGETS(loFile)
	FPUTS(loNew, lсZnach)
		DO WHILE !FEOF(loFile) 
			lсZnach = FGETS(loFile)
			IF LIKE('*302328?0?0002700000*', lсZnach)
				FPUTS(loNew, lсZnach)	
			ENDIF 
		ENDDO 
	ELSE 
		MESSAGEBOX('Невозможно создать файл')	
	ENDIF 	
ELSE 
	MESSAGEBOX('Невозможно открыть файл')
ENDIF 
FCLOSE(loFile)
FCLOSE(loNew)
После этого, в новом файле - текст оказывается обрезанным до 255-и символов.
...
Рейтинг: 0 / 0
15.11.2005, 13:16:04
    #33378909
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина символьной переменной
Зайди сюда. Этот вопрос я сам задовал
http://www.sql.ru/forum/actualthread.aspx?tid=228440
...
Рейтинг: 0 / 0
15.11.2005, 13:26:27
    #33378959
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина символьной переменной
я там уже читал, и ссылку тоже:
Длина символьной переменной теоретически не может превышать 16,777,184 символов
Похоже проблема в FGETS( )
...
Рейтинг: 0 / 0
15.11.2005, 13:33:43
    #33378980
GoshaS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина символьной переменной
И точно!
Проблема в неверном использовании FGETS(), если задать число байт в ручную
Код: plaintext
1.
FGETS(loFile,  275 )
тогда работает все отлично.
ps
Конечно хотелось читать файл по строкам, если не задовать число байт, а так, главное чтоб не поменялся формат выгрузки файла ;) и все будет работать.
pps
раньше времени панику поднял
...
Рейтинг: 0 / 0
15.11.2005, 14:25:51
    #33379202
S866
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина символьной переменной
Уважаемые читайте help

If you omit nBytes, FGETS( ) returns a maximum of 254 bytes by default.
...
Рейтинг: 0 / 0
17.11.2005, 01:58:30
    #33382833
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Длина символьной переменной
Hi GoshaS!

Задай с "запасом" и не парься. Хотя конечно если в перспективе длина строки
может выйти за лимит FGETS в 8Кб... Ну тогда придётся самому заниматься
"разбором на строки", считывая файл (порциями) через FREAD()...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Длина символьной переменной / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]