Аномалия. | |
---|---|
rusl Автор Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
У меня какая то анамалия в программе:
Создаю таблицы lcTableName циклом, но вторая таблица выходит с глюком. Всего сейчас в директории 4 папки (site_txt1, site_txt2, site_txt3, site_txt4) и соответственно получается четыре таблицы lcTableName (t_site_txt2, t_site_txt1, t_site_txt3, t_site_txt4). Но вторая таблица почему то обрабатывается циклом в первую очередь, затем идет первая, третья и четвертая. И у второй таблицы второе и третье поля поменялись местами: http://www.rusl.ru/img/fox-screen4.gif
|
Re: Аномалия. | |
---|---|
po2 Сообщений: 2864 Откуда: Иркутск Дата регистрации: 22.12.2001 |
Результат работы ADIR() неотсортированный массив?
|
Re: Аномалия. | |
---|---|
rusl Автор Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
Ну да. С ним никаких операций не проводилось.
Но посмотрите на названия элементов массива, они "природно" отсортированы. |
Re: Аномалия. | |
---|---|
Владимир Максимов Сообщений: 14093 Откуда: Москва Дата регистрации: 02.09.2000 |
Цитата:Как ты это определил? В твоем случае, порядок обработки и создания таблиц можно посмотреть по содержимому таблицы TablesOfTheme. В каком порядке они там записаны, так они и создаются. Тот порядок следования полей, который отображен на экране вовсе не обязательно соответствует реальному порядку следования полей. Ведь на экране всего-лишь результат команды BROWSE. А по умолчанию эта команда дается в синтаксисе BROWSE LAST, т.е. она отображается так, как была отображена в последний раз. Дай явно в командном окне команду BROWSE без каких-либо дополнительных опций. Более точно, о порядке следования полей можно узнать используя функцию AFIELDS(). ------------------ |
Re: Аномалия. | |
---|---|
rusl Автор Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
"В твоем случае, порядок обработки и создания таблиц можно посмотреть по содержимому таблицы TablesOfTheme. В каком порядке они там записаны, так они и создаются."
Да, там сначала идет вторая таблица. Но как она туда попала то?! |
Re: Аномалия. | |
---|---|
po2 Сообщений: 2864 Откуда: Иркутск Дата регистрации: 22.12.2001 |
Порядок разещения имен в FAT'е физический. Каталог с именем site_txt2 очевидно был создан первым. Ничего не меняя в коде, выполни MOVE папки куда-нибудь, а потом верни её назад. Сравни результат работы ADIR до-и-после.
Отредактировано (22.02.05 17:52) ------------------ |
Re: Аномалия. | |
---|---|
rusl Автор Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
"Порядок разещения имен в FAT'е физический. Каталог с именем site_txt2 очевидно был создан первым. Ничего не меняя в коде, выполни MOVE папки куда-нибудь, а потом верни её назад. Сравни результат работы ADIR до-и-после."
Вы правы. Теперь он идет последним. Но поля в этой таблице все равно не на месте. Думаю, потому что не послушал советов Владимира Максимова.. |
Re: Аномалия. | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, rusl!
1) В Фоксе есть отличный инструмент - Debugger - он же отладчик - запустив свой пример в пошаговом режиме (Это можно сделать кучей способов - например поставить в начале SET STEP ON, или открыв дебаггер там открыть свою программу), можно самому за ОЧЕНЬ короткое время найти корень проблемы - там видно всё что нужно. 2) Попробуй lcWord=CHRTRAN(lcWord, ',.+?:;', '') - думаю ты понял идею Кстати есть интересный подход к "лишним символам" - с другой стороны их давить: lcWord=CHRTRAN(lcWord, CHRTRAN(lcWord, 'abcdef...xyz', ''), '') - оставит лишь перечисленные внутри символы ------------------ WBR, Igor |
Re: Аномалия. | |
---|---|
rusl Автор Сообщений: 200 Откуда: СПб Дата регистрации: 01.02.2005 |
"Кстати есть интересный подход к "лишним символам" - с другой стороны их
давить: lcWord=CHRTRAN(lcWord, CHRTRAN(lcWord, 'abcdef...xyz', ''), '') - оставит лишь перечисленные внутри символы " А в этом случае буквы регистрозависимые? |
Re: Аномалия. | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
Цитата: Конечно. ------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
© 2000-2024 Fox Club  |