powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Известна часть значения узла, как найти сам узел
9 сообщений из 9, страница 1 из 1
Известна часть значения узла, как найти сам узел
    #33568448
гость68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа как в бейсике/дельфи найти узел в глобале если известна часть значения этого узла
например

FONDdat:
...
FONDdat(1,162565,0,"NN",0)=12045∙54∙60323,57584∙481
...
FONDdat(1,162565,2,"NS",0)=40909840200000002079∙17∙60323,45254∙153
...
...

мне известно только 40909840200000002079

а надо найти значение узла FONDdat(1,162565,0,"NN",0)

спасибо!
...
Рейтинг: 0 / 0
Известна часть значения узла, как найти сам узел
    #33568594
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Часть кода из программы с использованием Грида для разгрузки глобала
и ActiveX VisM.
Немного переделать и можно найти Ваш узел !!!

На VB:

Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Private Sub cmdOp1_Click()
Dim nod As String, Info As String
Dim ret As String
Dim i As Long
Dim n As Integer
Dim nr As Integer, tst As Integer
Dim Mstring As String
Dim Rt As TextStyleSettings

On Error GoTo Error
frmGlb.MousePointer = vbHourglass
frmGlb.Caption = "Filtering ..."
    n =  0 
    VisM1.Code = "s var=""" & txtName.Text & """" 
    VisM1.ExecFlag =  1 
    VSGed.Rows =  1 
For i =  0  To  9999999 
    VisM1.Code = "$$GlNodes^%GVED"
    VisM1.ExecFlag =  1 
    nod = VisM1.Value
   
If InStr(nod, "^") Then
Else
VSGed.Rows = VSGed.Rows +  1 
frmGlb.Caption = n & " Strings Contents word " & txtFilt.Text & " !!!"
frmGlb.MousePointer = vbDefault
Exit Sub
End If
ret = VisM1.P1
If InStr(nod, "" & txtFilt.Text & "") Or InStr(ret, "" & txtFilt.Text & "") Then 
n = n +  1 
VSGed.Cell(flexcpForeColor, ,  1 ) = vbBlue
VSGed.Cell(flexcpForeColor, ,  0 ) = vbRed
VSGed.AddItem nod & vbTab & ret
End If
    Next i


Exit Sub
Error:
frmGlb.MousePointer = vbDefault
MsgBox ("Error: " & Err.Number & " : " & Err.Description), vbCritical, Err.Source

End Sub

На COS:

Код: plaintext
1.
2.
3.
GlNodes() s ret=$Q(@var) i ret="" g endNodes
          s var=ret
          s P1=@ret
endNodes  q ret
...
Рейтинг: 0 / 0
Известна часть значения узла, как найти сам узел
    #33568674
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, это не самый лучший вариант...
Можно обработать Глобал в самом Cache', а результат возвратить
в VB/Delphi - это будет намного скорострельнее !!!
...
Рейтинг: 0 / 0
Известна часть значения узла, как найти сам узел
    #33568708
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подождите не могу понять...
"а надо найти значение узла FONDdat(1,162565,0,"NN",0)"
Но Ваше значение находится в содержимое другого Узла !!!
...
Рейтинг: 0 / 0
Известна часть значения узла, как найти сам узел
    #33569547
гость68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Те мне известно только 40909840200000002079
Как я понимаю как только я найду узел который равен этому значению я получу его индекс(1, 162565 ,2,"NS",0), а теперь зная 162565 я смогу найти и значение узла FONDdat(1, 162565 ,0,"NN",0) те 12045∙54∙60323,57584∙481. В принципе задача очень простая по расчетному счету надо найти наименование клиента. это 40909840200000002079 (рсч) является значением некого узла.
...
Рейтинг: 0 / 0
Известна часть значения узла, как найти сам узел
    #33569565
гость68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriu спасибо за ответ. Уточняю и так есть глобал

FONDdat:
...
FONDdat(1, 162565 ,0,"NN",0)=12045∙54∙60323,57584∙481
...
FONDdat(1, 162565 ,2,"NS",0)=40909840200000002079∙17∙60323,45254∙153
...
...
В принципе задача простая по рсч (40909840200000002079) надо найти наименование.
Как я понимаю найдя узел который равен 40909840200000002079 я найду его индекс 162565 , найдя индекс я смогу обратиться к значению узла FONDdat(1, 162565 ,0,"NN",0), именно там хранится ссылка на др глобал где и лежит само наименование.
...
Рейтинг: 0 / 0
Известна часть значения узла, как найти сам узел
    #33569606
По подробней можно описать проблему
...
Рейтинг: 0 / 0
Известна часть значения узла, как найти сам узел
    #33569638
гость68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу простить эта ветка создалась по моей ошибке, ее надо удалить, а проблема в точно такой же ветке от 27.02.2005 16:30, где больше ответов
Еще раз прошу извинить
...
Рейтинг: 0 / 0
Известна часть значения узла, как найти сам узел
    #33570077
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задачка немножко запутанная.
Можно найти значения узла как Вы говорите, но этих узлов где содержится
162565 могут быть несколко, а нужно именно
FONDdat(1,162565,0,"NN",0) !!!
Скачайте пример работы с Глобалами в VB/Cache' (кусочек кода я выложил выше)
Используйте Фильтр по FONDdat(1,162565 и увидите примерно как это на самом деле работает, может поможет.



http://www.moldpres.md/download/
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Известна часть значения узла, как найти сам узел
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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