:: Visual Foxpro, Foxpro for DOS
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
AdamAry
Хотя возможно надо использовать неведомый мне другой способ.
Да. И этот то способ все и применяют, потому не возникает таких вопросов, нет необходимости в том, что вы просите.
Надо просто избавиться от глобальных переменных.
Хотя
AdamAry
Раз речь зашла об уровне, то мой уровень по моему мнению выше, чем уровень программистов создавших фокс на несколько порядков.
Смею ли советовать))))
Кстати, они, со своим низким уровнем, решили б эту проблему за пару минут!))))
Как решить конкретно вашу проблему,сразу же сказал Simple777

vnkor тоже совет дал.

И почти уверен, вам советовали, не плодить глобальных. Но на тот момент, вам с ними проще было.
Вот это и есть грабли, о которых упоминал ssa


------------------
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Ящетаю, что вообще не должно быть никаких переменных кроме глобальных.

Это ж как удобно, когда есть доступ к любым переменным во всех модулях и функциях
Ratings: 0 negative/0 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
ssa

Сообщений: 13008
Откуда: Москва
Дата регистрации: 23.03.2005
AdamAry
На все нападки о том, что он неоригинален, Чаплин ответил:
«Это ваши претензии неоригинальны».
В огороде бузина, а в Киеве дядька...
Цитата:
Не просто так ведь я задал этот вопрос, я даже распечатал на нескольких страницах некоторые публичные переменные,
Так вот уже который раз мы пытаемся узнать ЗАЧЕМ вы все это делаете?
Цитата:
но обнаружить то, что искал не смог (т.е. я знал значение одной переменной, но не знаю, где она храниться).
ОНА - это что? Переменная?
Цитата:
Вот и вынужден автоматизировать процесс поиска.
В очередной раз - зачем вам этот поиск?
Цитата:
Хотя возможно надо использовать неведомый мне другой способ.
Стопудово.
Цитата:

При чём тут нимб и уровень?

Раз речь зашла об уровне, то мой уровень по моему мнению выше, чем уровень программистов создавших фокс на несколько порядков.
Что вы тогда тут делаете? С таким то уровнем? Вам ведь всякие Дейкстры, Кнуты и прочие Вриты с Керниганами и Ритчи и в подметки не годятся. А мы тут все им в подметки не годимся.
Цитата:
Если нельзя быстро и легко найти переменную по значению, то это убогость системы,
Хм, по этой логике все языки программирования убогие ибо во многих из них даже списка переменных не получишь, не гоговря уж о поиске по нему...
Цитата:
а если кто считает, что это не нужно, ну это показывает уровень этого программиста: ну если можно обойтись деревянными счетами, зачем калькулятор.
Не могу не процитировать в очередной раз:
Цитата:
Вы стоите на самой низкой ступени развития, […] Вы еще только формирующееся, слабое в умственном отношении существо, все ваши поступки чисто звериные, и вы в присутствии двух людей с университетским образованием позволяете себе с развязностью совершенно невыносимой подавать какие-то советы космического масштаба и космической же глупости о том, как все поделить… […] …вам нужно молчать и слушать, что вам говорят. Учиться и стараться стать хоть сколько-нибудь приемлемым членом социального общества
Цитата:
Как бы ты искал на моём месте, зная только значение, но не зная, где это храниться?
Никак. Я искал бы место присваивания. Заодно бы узнал чему, где, когда, при каких условия и в каком контексте происходит сие присваивание.

------------------
Лень - это неосознанная мудрость.




Исправлено 2 раз(а). Последнее : ssa, 10.01.17 10:23
Ratings: 0 negative/2 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
AdamAry
Не просто так ведь я задал этот вопрос, я даже распечатал на нескольких страницах некоторые публичные переменные,
но обнаружить то, что искал не смог (т.е. я знал значение одной переменной, но не знаю, где она храниться).
Вот и вынужден автоматизировать процесс поиска.
Хотя возможно надо использовать неведомый мне другой способ.
Вообще, непонятно, почему вы решили, что то что вы ищете должно храниться в переменной. Может это значение хранится в поле курсора, или в свойстве объекта. Откуда уверенность-то?

Как уже правильно сказали, что лучше всего локализовать места, где может идти присвоение (или чтение) значения, и пройтись по этим местам отладчиком. Это как-то более надёжно и наглядно, чем список всех переменных. Тем более, LIST MEMORY вам не помог.
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
AdamAry
я знал значение одной переменной, но не знаю, где она храниться

Все переменные храняться в памяти
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
AdamAry
В "GLOBAL_VARIABLES.TXT" будет фактически 4 поля, как из них загнать в таблицу из 4 иногда 5 полей?
Причём если тип переменной "N", то в текстовом поле будет фактически 5 полей: 4. поле: 5, а 6. поле: ( 5.00000000).
И как это всё загнать в таблицу?

Всего лишь проанализировав текстовый файл, и посчитав, какие могут быть поля по длине, создать таблицу с нужной структурой.
Навскидку примерно такое получается:
cFileName = "GLOBAL_VARIABLES.TXT"
cVarList = "G_1, G_2, G_3, G_4, G_5, G_6, G_7, G_8, G_9, G_10"
PUBLIC &cVarList
G_7 = REPLICATE('q',254)
G_8 = 0
G_9 = 1234567890.1234
G_10 = 10000000000000.12
LIST MEMORY LIKE "G_*" TO FILE (cFileName) NOCONSOLE
* MODIFY FILE (cFileName) && смотреть, какая структура файла
CREATE CURSOR tmp (f1 c(12), f2 c(7), f3 c(3), f4 c(46), f5 f(20,8))
* условие убирает первую пустую запись:
APPEND FROM (cFileName) SDF FOR !EMPTY(f4)
* разбивка числовых полей и вырезание выражений в скобках в дополнительное числовое поле:
REPLACE f5 WITH VAL(STREXTRACT(f4,'(',')')), f4 WITH LEFT(f4,AT('(',f4)-2) FOR RTRIM(f3)='N'
* при желании можно поле f4 сделать memo и длинные переменные собрать в него все целиком,
* хотя в принципе и так уже достаточно наглядно смотрится:
BROWSE LAST
RELEASE &cVarList


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 10.01.17 11:29
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
Taran

Сообщений: 13625
Откуда: Красноярск
Дата регистрации: 16.01.2008
spinz
AdamAry
я знал значение одной переменной, но не знаю, где она храниться

Все переменные храняться в памяти

Не знаешь ты, spinz, ничегошеньки.
label.Caption например тоже чего то хранит.
Ээх не можете вы абстрагироваться и дотянуться до уровня ТС.

Еще совсем недавно мешали движок для БД сделать аналогичному пациенту и вот опять советуете все что попало.
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Taran
Не знаешь ты, spinz, ничегошеньки.

Многому ему учиться надо...
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
vnkor

Сообщений: 324
Дата регистрации: 04.10.2007
AdamAry
1. По известному значению переменной, надо найти название этой переменной.
Чего я действительно не могу понять, так вот этого. А если одно и то же значение имеют несколько переменных - тогда как? Найти название всех переменных.
Может быть, все-таки надо по известному названию переменной найти ее значение?
Все так запутано.



Исправлено 1 раз(а). Последнее : vnkor, 10.01.17 12:45
Ratings: 0 negative/0 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
А может ТС нужно рассказать о дебаггере и в частности об окошке locals?
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
Дебаггеры - удел тупиц, не способных в уме воспроизвести ход выполнения программы и значения всех переменных.

Уверен, ТС к ним не относится
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Sawradym
А может ТС нужно рассказать о дебаггере и в частности об окошке locals?
Про дебаггер тут уже три раза говорили. Мусью он принципиально почему-то не нравится.
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
В качестве некоторого возможного объяснения. О предметной области ничего неизвестно. Многие, занимаясь, допустим, автоматизацией бухучета, неизбежно начинают воспринимать поставленный вопрос с позиций своей предметной области. Типа, где хочу, ставлю отладку и т.п. Но может быть иначе. Положим, есть некое ядро некоей системы. Исходников ядра нет и быть не может. И есть некоторые программные "отростки", позволяющие делать привязку системы к конкретным условиям. Может оказаться и так, что в ядре присваиваются некоторые значения глобальным переменным. Какое-то значение (да хоть та же текущая дата) влияет на работу системы в целом. И ТС хочет узнать, в какой переменной хранится эта дата с тем, чтобы изменить это значение посредством своего кода.
Сама по себе постановка вопроса о глобальных переменных наводит на мысль, что эти глобальные переменные могут формироваться в метасистеме.

P.S. Вааще вот ведь как бывает. Есть проблема, которая будет ясной и понятной для всех, но... Нет возможности рассказывать о предметной области (может быть, секрет какой-нить важный), и приходится "огород городить", чтобы объяснить, "зачем и для чего" это надо. Думается, что такие допущения можно сделать, прежде чем "наезжать прямой наводкой" на задавшего вопрос.
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
Sawradym

Сообщений: 2244
Откуда: Винница
Дата регистрации: 15.05.2007
pasha_usue
Sawradym
А может ТС нужно рассказать о дебаггере и в частности об окошке locals?
Про дебаггер тут уже три раза говорили. Мусью он принципиально почему-то не нравится.

Вода камень точит. ;)
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Simple777
Сама по себе постановка вопроса о глобальных переменных наводит на мысль, что эти глобальные переменные могут формироваться в метасистеме.
Если нет защиты от дебаггера, то экзешник вполне себе можно дебажить, правда без доступа к исходному коду. Ну то-есть, кроме собственно locals ничего полезного от дебаггера не добиться.

PS. А если еще и Debug Info не отключено было при компиляции, то вообще хорошо.



Исправлено 1 раз(а). Последнее : pasha_usue, 10.01.17 13:55
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Simple777 Хошь примазаться

AdamAry
Раз речь зашла об уровне, то мой уровень по моему мнению выше, чем уровень программистов создавших фокс на несколько порядков.


------------------
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
Аспид
Simple777 Хошь примазаться
AdamAry
Раз речь зашла об уровне, то мой уровень по моему мнению выше, чем уровень программистов создавших фокс на несколько порядков.
Кстати, да. С таким уровнем вполне можно дебажить в IDA, или SoftIce. Тогда вообще проблем не возникает. Напрямую мониторишь область памяти с переменными. Можно точку останова поставить на изменение областей памяти тех переменных, которые падают под подозрение. Вообще красота. И всё автоматом.
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
spinz

Сообщений: 5263
Дата регистрации: 21.01.2016
У гуру IDA в уме.

А SoftIce умер со времен XP
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
pasha_usue

Сообщений: 3650
Откуда: Е-бург
Дата регистрации: 06.10.2006
spinz
А SoftIce умер со времен XP
Дак для рантайма фокса самое оно XP-шку поставить в виртуалку. И COM-шнурок сэмулировать в хостовую машину.
Ratings: 0 negative/1 positive
Re: Файл со списком всех глобальных переменных по принципу одна переменная со значением одна строка, сортированные по алфавиту
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Для рантайма фокса вполне хватит отладичка юзер-уровня (не kernel) типа OllyDbg. Ну разве что нужно ломать крайние версии defox-а, где применяются кой какие анти-отладочные приёмы
Правда, нельзя не согласится с тем что для настоящего гуру эти ваши "оконные" GUI-отладчики это моветон - только command-line, только хардкор!


------------------
WBR, Igor
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 25 (Гостей: 25)

© 2000-2024 Fox Club 
Яндекс.Метрика