powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не работает allt()
8 сообщений из 8, страница 1 из 1
Не работает allt()
    #38527762
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема вот такая загоняю файл в массив, затем по нему пробегаюсь с выводом на экран везде прежде чем выводить убираю пробелы но результат что с allt() что без него одинаковый, и вообще почемуто если длинная строка то отображаются только первые несколько символов и все, хотя в дебагере в массиве полностью вся строка сидит и причем без пробелов.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
cText = FILETOSTR("futboll.TXT")
LOCAL ARRAY aText[1] 
ALINES(aText, cText)
FOR j=1 TO ALEN(aText)
IF AT('<li><a href=',aText(j)) > 0
susp
? STR(LEN(aText(j)))        
? STR(LEN(allt(aText(j))))
* одинаковые значения
? allt(aText(j))
* длина строки 217 символов
*выводит несколько первых
ENDIF
ENDF
...
Рейтинг: 0 / 0
Не работает allt()
    #38527877
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нашел частичное решение спасибо ВладимирМу

Код: sql
1.
2.
create cursor Test (f1 C(254), f2 c(254), f3 c(254), f4 c(254))
APPEND FROM WilliamHill_futboll1.TXT TYPE SDF



вопрос как исключить сразу попадание пустых строк в таблицу для увеличение скорострельности?
...
Рейтинг: 0 / 0
Не работает allt()
    #38527912
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
create cursor Test (f1 C(254), f2 c(254), f3 c(254), f4 c(254))
APPEND FROM futboll.TXT TYPE SDF
select ALLTRIM(f1), ALLTRIM(f2), ALLTRIM(f3) from Test INTO ARRAY aText WHERE !empty(f1)



ну не убираются пробелы альтом ЧТО СДЕЛАТЬ????
...
Рейтинг: 0 / 0
Не работает allt()
    #38527925
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorp1978,

А как ты себе представляешь в массиве значения с разной длиной?
Естественно, что берется запись с максимальной длиной, а более короткие добиваются пробелами.
...
Рейтинг: 0 / 0
Не работает allt()
    #38527973
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scorp1978убираю пробелы но результат что с allt() что без него одинаковый ...
Код: sql
1.
2.
3.
4.
5.
6.
? STR(LEN(aText(j)))        
? STR(LEN(allt(aText(j))))
* одинаковые значения
? allt(aText(j))
* длина строки 217 символов
*выводит несколько первых


Ты уверен что дело именно в пробелах? Может там табуляции или еще какой прозрачный символ? Проверь
Код: sql
1.
? asc(allt(aText(j)))

код пробела 32

Scorp1978
Код: sql
1.
select ALLTRIM(f1), ALLTRIM(f2), ALLTRIM(f3) from Test INTO ARRAY aText WHERE !empty(f1)


Никогда так не делай. Как выше написали ширина поля фиксированная в результате выборки. И эта ширина выбирается исходя из первой записи, т.е. если первая будет 10 символов, то поле будет С(10) и все более длинное вообще обрежется

Можешь попробовать использовать тип VARCHAR
Пример из хэлпа FVP9
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
CLEAR
CREATE CURSOR myCursor (myVarCharField V(10), myCharField C(10))
INSERT INTO myCursor (myVarCharField, myCharField) VALUES ("a", "a")
INSERT INTO myCursor (myVarCharField, myCharField) VALUES ("aa", "aa")
INSERT INTO myCursor (myVarCharField, myCharField) VALUES ("aaa", "aaa")
INSERT INTO myCursor (myVarCharField, myCharField) VALUES ("aaaa", "aaaa")
BROWSE
GO TOP
DO WHILE !EOF()
   ? "# VarChar characters: ", LEN(myVarCharField), ; 
      ", # Char characters:      ", LEN(myCharField)
   ? 
   SKIP
ENDDO
return

...
Рейтинг: 0 / 0
Не работает allt()
    #38528014
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?
Код: sql
1.
asc(allt(aText(i+1,1)))



вот этот код первый символ выдает код 9
в дебагере значение aText(i+1,1)
" <h3>МЕЖДУНАРОДНЫЙ</h3> "...
...
Рейтинг: 0 / 0
Не работает allt()
    #38528044
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9 - это табуляция, пиши так
Код: sql
1.
allt(chrtran(aText(i+1,1), chr(9), ' '))
...
Рейтинг: 0 / 0
Не работает allt()
    #38528063
Scorp1978
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получилось благодарю!!!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Не работает allt()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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