powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Длина символьной переменной
6 сообщений из 6, страница 1 из 1
Длина символьной переменной
    #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
Длина символьной переменной
    #33378909
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайди сюда. Этот вопрос я сам задовал
http://www.sql.ru/forum/actualthread.aspx?tid=228440
...
Рейтинг: 0 / 0
Длина символьной переменной
    #33378959
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я там уже читал, и ссылку тоже:
Длина символьной переменной теоретически не может превышать 16,777,184 символов
Похоже проблема в FGETS( )
...
Рейтинг: 0 / 0
Длина символьной переменной
    #33378980
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И точно!
Проблема в неверном использовании FGETS(), если задать число байт в ручную
Код: plaintext
1.
FGETS(loFile,  275 )
тогда работает все отлично.
ps
Конечно хотелось читать файл по строкам, если не задовать число байт, а так, главное чтоб не поменялся формат выгрузки файла ;) и все будет работать.
pps
раньше времени панику поднял
...
Рейтинг: 0 / 0
Длина символьной переменной
    #33379202
S866
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые читайте help

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

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

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


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