Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Всем привет.
Необходимо создать файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту. DISPLAY MEMORY LIKE "G_*" TO FILE "E:\GLOBAL_VARIABLES.TXT" NOCONSOLE Исправлено 3 раз(а). Последнее : AdamAry, 30.12.16 07:52 |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
DISPLAY MEMORY будет останавливать вывод данных при заполнении окна/текущего экрана. Поэтому лучше использовать LIST MEMORY. Полученный текстовый файл можно загнать в таблицу, в таблице сделать сортировку (индекс) по имени переменной, и далее выгрузить "куда угодно".
|
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Как из LIST MEMORY загнать в таблицу?
|
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Загнать не из LIST MEMORY, а из файла, сформированного этой командой. Структура таблицы может быть любой, и кроме реквизита name можно добавить реквизит, содержащий только имя переменной, например.
А дальше уже обрабатывать значения реквизита Name. |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
В "GLOBAL_VARIABLES.TXT" будет фактически 4 поля, как из них загнать в таблицу из 4 иногда 5 полей?
Причём если тип переменной "N", то в текстовом поле будет фактически 5 полей: 4. поле: 5, а 6. поле: ( 5.00000000). И как это всё загнать в таблицу? |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
А можно узнать ЗАЧЕМ? Из чего возникла такая необходимость? Уже напоролся на известные грабли? ------------------ Лень - это неосознанная мудрость. |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Вообще говоря, сказанного ранее вполне достаточно. Писать готовый код в качестве "помощи" на заданный вопрос здесь явно ни к чему. Надо распечатать полученный командой LIST MEMORY файл и изучить структуру строки для каждого из возможных типов переменных. Если даже и не все типы переменных выводятся, надо искусственно сформировать все возможные типы переменных в выходной файл. Далее написать обработку для каждого типа переменных. Это более чем тривиальная задача, и ее нужно самостоятельно выполнить. Было бы полезно получившийся код выложить здесь. Возможно, после этого кто-нибудь укажет ошибки в коде или предложит еще какой-нибудь вариант обработки. |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Цитата:писать нет необходимости, может просто у кого уже что-то готовое есть. Исправлено 2 раз(а). Последнее : AdamAry, 30.12.16 10:03 |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
1. По известному значению переменной, надо найти название этой переменной. 2. Имеется большое колво переменных и надо сделать быстрый поиск по их значениям. 3. Какие ещё грабли?
Исправлено 1 раз(а). Последнее : AdamAry, 30.12.16 10:05 |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Что касается меня, то с большой осторожностью применяю чужой код. Как минимум его надо изучить и протестировать на каких-то контрольных значениях. Времени на это может уйти больше, чем на написание своего кода. Конечно, бывают такие наработки, что позволяют использовать их в качестве "черного ящика". Но чужой код - это чужой код. И если вдруг "где-то что-то работает не так", всегда будут возникать подспудные мысли - а вдруг это в чужом коде что-то не так работает? Надо ли иметь такое "бесплатное счастье"? Что же касается обработки символьных строк, то соответствующих функций имеется "немеряно", и можно обработать фактически любую структурированную информацию. Именно такую информацию и выдает команда List memory |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
Что-то за несколько десятков лет работы у меня (да и не только у меня) такая необходимость не возникала. Что-то новенькое? Не томите, просветите нас. Цитата:То же пункт 1, только во множественном числе? Цитата:Обыкновенные, возникающие при большом количестве переменных, особенно глобальных. Теряется контроль над ними. Цитата:Кому? Кому было бы лучше? На основании каких сакральных знаний вы взяли на себя смелость оценивать то, знания чего, даже хотя бы на среднем уровне, вы тут пока не продемонстрировали? ------------------ Лень - это неосознанная мудрость. Исправлено 1 раз(а). Последнее : ssa, 30.12.16 11:05 |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
За уже не один десяток лет работы вы первый с этой гениальной идеей. ------------------ Лень - это неосознанная мудрость. |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
Влад Колосов Сообщений: 22664 Откуда: Ростов-на-Дону Дата регистрации: 05.05.2005 |
Сначала плохим глобальные, потом их разыскиваем
------------------ Совершенство - это не тогда, когда нельзя ничего прибавить, а тогда, когда нечего убавить. |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
А вот сейчас такая необходимость возникла. Цитата:Проект писал не я, поэтому большое количество глобальных уже существуют как факт, надо принимать это как данность. Абсолютно с этим согласен: Цитата:Могу лишь добавить что "не при большом количестве переменных", а при весьма превеликом множестве переменных. VFP кодерам. На основании необходимости. Здесь я не демонстрировал знания, а задавал вопрос: Лучше 5 минут замешательства при задавании вопроса и отменная качественная работа, чем замешательство на всю жизнь без задавания. "За уже не один десяток лет работы вы первый с этой гениальной идеей.", значит не было необходимости. Всё гениальное просто. Исправлено 13 раз(а). Последнее : AdamAry, 11.01.17 13:09 |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
of63 Сообщений: 25244 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
1. Текст, полученный из DISPLAY MEMORY разбери на строки, например в массив:
ALINES(MASS, многострочный текст), или просто перебираем строки в файле FGETS... 2. Перебираем строки в массиве MASS, каждую строку детектируем, что она представляет собой описатель переменной (а не заголовок или "итого"), например: Если GETWORDNUM(MASS[m.i], 2)="Pub" .AND.; 2е слово - область видимости переменной LEN(GETWORDNUM(MASS[m.i], 3))=1 && однобуквенный тип переменной значит GETWORDNUM(MASS[m.i], 1) есть имя переменной. 3. При положительном детектировании строки-описателя имеем GETWORDNUM(MASS[m.i],4) (вобще все, начиная с 4го слова) есть содержимое переменной в человеческом представлении. Но лучше взять ее значение как EVALUATE(имя_переменной), т.е. EVALUATE(GETWORDNUM(MASS[m.i],1)) 4. На каждой строке массива MASS[m.i], при положительном детектировании нужного, записываем в табличку имя переменной, и ее значение. |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
ssa Сообщений: 13007 Откуда: Москва Дата регистрации: 23.03.2005 |
И мы, наконец-то, узнаем зачем и для чего? Цитата:Еще раз - вы имеете смелость говорить за всех кодеров? На каком основании? Цитата:Какой? Покажите нам источник этой необходимости. Цитата:Уровень ваших вопросов демонстрирует уровень ваших знаний. Цитата:Вам намекнули, что вы занимаетесь ерундой. И потому о качестве здесь говорить не приходится совсем. Но вы с упорством, достойным лучше применения, делаете вид, что не заметили этих намеков и продолжаете тупо долбить в одну точку. Или вы намеков не понимаете? Цитата:Нимб голову не жмёт? Ну и про доставшееся наследство - вы действительно считает, что вы прямо таки первый, кто с этим столкнулся? ------------------ Лень - это неосознанная мудрость. |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
vnkor Сообщений: 324 Дата регистрации: 04.10.2007 |
Может, проще поискать в самом проекте на предмет вхождения строки "G_"?
|
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
AdamAry Автор Сообщений: 843 Дата регистрации: 14.12.2015 |
Как бы ты искал на моём месте, зная только значение, но не зная, где это храниться?
Исправлено 7 раз(а). Последнее : AdamAry, 11.01.17 12:28 |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
leonid Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Ребята, ну это нужно в Скрижали. Давайте попросим товарища Simple777. |
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту | |
---|---|
Simple777 Сообщений: 33855 Дата регистрации: 05.11.2006 |
Безусловно. [attachment 26839 bs.gif]
|
© 2000-2024 Fox Club  |