Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Известна часть значения узла, как найти сам узел / 9 сообщений из 9, страница 1 из 1
27.02.2006, 16:30
    #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
27.02.2006, 17:06
    #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
27.02.2006, 17:26
    #33568674
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Известна часть значения узла, как найти сам узел
Конечно, это не самый лучший вариант...
Можно обработать Глобал в самом Cache', а результат возвратить
в VB/Delphi - это будет намного скорострельнее !!!
...
Рейтинг: 0 / 0
27.02.2006, 17:36
    #33568708
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Известна часть значения узла, как найти сам узел
Подождите не могу понять...
"а надо найти значение узла FONDdat(1,162565,0,"NN",0)"
Но Ваше значение находится в содержимое другого Узла !!!
...
Рейтинг: 0 / 0
28.02.2006, 08:27
    #33569547
гость68
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Известна часть значения узла, как найти сам узел
Те мне известно только 40909840200000002079
Как я понимаю как только я найду узел который равен этому значению я получу его индекс(1, 162565 ,2,"NS",0), а теперь зная 162565 я смогу найти и значение узла FONDdat(1, 162565 ,0,"NN",0) те 12045∙54∙60323,57584∙481. В принципе задача очень простая по расчетному счету надо найти наименование клиента. это 40909840200000002079 (рсч) является значением некого узла.
...
Рейтинг: 0 / 0
28.02.2006, 08:39
    #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
28.02.2006, 09:06
    #33569606
Известна часть значения узла, как найти сам узел
По подробней можно описать проблему
...
Рейтинг: 0 / 0
28.02.2006, 09:22
    #33569638
гость68
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Известна часть значения узла, как найти сам узел
Прошу простить эта ветка создалась по моей ошибке, ее надо удалить, а проблема в точно такой же ветке от 27.02.2005 16:30, где больше ответов
Еще раз прошу извинить
...
Рейтинг: 0 / 0
28.02.2006, 11:23
    #33570077
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Известна часть значения узла, как найти сам узел
Задачка немножко запутанная.
Можно найти значения узла как Вы говорите, но этих узлов где содержится
162565 могут быть несколко, а нужно именно
FONDdat(1,162565,0,"NN",0) !!!
Скачайте пример работы с Глобалами в VB/Cache' (кусочек кода я выложил выше)
Используйте Фильтр по FONDdat(1,162565 и увидите примерно как это на самом деле работает, может поможет.



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


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