powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Cache+Delphi5
21 сообщений из 46, страница 2 из 2
Cache+Delphi5
    #34958665
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
обратно точно так же через copy()??
а как на счет unicode, он распознает?
еще вопросик: а вот если у меня есть глобальная переменная с данными, но она нигде в программе не используется и не вызывается (в ней просто хранятся данные). то данные хранящиеся в ней можно записать в файл не используя VisM1.Execute() ??
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34959399
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотрите пример будет работать в любой кодировке.
если только не переносить в другую систему с другой кодировкой.
VisM1.Execute - выполняет любую строку языка и к программам не имеет ни какого отношения.
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34960204
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО ОГРОМНОЕ!!!! буду разбираться.... :)
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34961385
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а почему происходит зацикливание на while?

while copy(VisM1.P1,1,la) = a do begin
VisM1.P2 := null;
VisM1.Execute('I $D(@P1) S P2=@P1');
if VisM1.P2 <> null then begin
WriteStr(VisM1.P1);
WriteStr(VisM1.P2);
end;
VisM1.Execute('S P1=$Q(@P1)');
end;
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34961506
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и в файл ничего не записывается... почему? может я не то записываю в edit1 := '^FP("M",PrName)'
в глобальной переменной, такие данные:
---------------------------------------------
^FP("M",2)=<<"name2"_$C(9)_"INN">>
^FP("M",3)=<<"name3"_$C(9)_"INN">>
^FP("M",4)=<<"name4"_$C(9)_"INN">>
^FP("M",5)=<<"name5"_$C(9)_"INN">>
^FP("M",6)=<<"name6"_$C(9)_"INN">>
^FP("M",7)=<<"name7"_$C(9)_"INN">> и т.д....
---------------------------------------------
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34961548
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините за вопрос:

имеет ли значение куда писать файл: на сервере или на клиенте?
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34961625
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
данные из глобали сервера записать нужно в файл любого расширения. и обратно.
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34961772
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NoGotИзвините за вопрос:
имеет ли значение куда писать файл: на сервере или на клиенте?
ну главное что бы в файл данные записывались. а сам файл будет храниться в каталоге программы.
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34962115
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VisM - работает там где установлена клиентская часть Cache.
У Вас в ссылке находится неопределенная переменная .
Поэтому и не работает ссылка должна быть полностью определена:
^AAA("индекс1","индекс2")
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34962124
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще добавьте в проект SaveDialog и OpenDialog и пишите и восстанавливайте откуда угодно.
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34962196
New World
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за помощь!!!! буду пробывать :) !!!
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964145
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спрашивал так, потому что такую задачу лучше было бы решать непосредственно в каше, один раз вызвав метод. То есть расположив цикл непосредственно в каше. К тому же визм не очень быстр как мне кажется...
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964503
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не пойму почему данные не записываются...
от меня же требуется записать:
Код: plaintext
VisM1.NameSpace := 'LOCAL_UFT';
Код: plaintext
Edit1.Text:='^FP("MS",'')';
цикл проходит, но в VisM1.P2 показывает пусто.... соответственно в файл ничего не записывается...
что ж я не так делаю то?
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964520
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NoGotСпрашивал так, потому что такую задачу лучше было бы решать непосредственно в каше, один раз вызвав метод. То есть расположив цикл непосредственно в каше. К тому же визм не очень быстр как мне кажется...

это что типа того как предлогал krvsa ??

krvsa
Код: plaintext
1.
2.
3.
4.
5.
6.
 m ^tmp( 1 )=^Data( 1 )
 m ^tmp("Info")=^Data("Info")
 m ^tmp("Home","OOO NPC Air")=^Data("Home","OOO NPC Air")
...
 s file="c:\box\data.xml"
 s ok=$system.OBJ.Export("tmp.gbl",file)
...


??
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964530
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В моем примере все делает Кащей.
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964567
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому, что метод в Cache выполнится на сервере, а не не клиенте. т.е. файл будет сохранятся исключительно на сервере, что с точки зрения безопасности системы не очень хорошо.
Поэтому и делается сохранение на клиенте.
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964589
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
VisM1.NameSpace := 'LOCAL_UFT';
Код: plaintext
Edit1.Text:='^FP("MS",'')';
Совершенно естественно т.к. следующий индекс на запись будет иметь вид
^FP("MS","индекс"), что при условии завершения ^FP("MS","" '= ^FP("MS","индекс"

надо задавать ^FP("MS") - сохраняется все поддерево "MS"
или конкретное значение второго индекса для сохранения, поддерева второго индекса
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964708
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обьясните пожалуйста про безопасность, я не совсем понял...
Учитывая, что данных очень много (в условии задачи), то таким внешним циклом тягать данные вы будете очень долго...
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964726
NewWorld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все, получилось!!!! нужно было мне еще вместо P2:=null записать P2:='1' и все получилось как надо:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
... 
while copy(VisM1.P1, 1 ,la) = a do
  begin
VisM1.P2 := '1';
    VisM1.Execute('I $D(@P1) S P2=@P1');
    if VisM1.P2 <> '' then
...
ВСЕМ ОГРОМНЕЕШЕЕ СПАСИБО ЗА ВНИМАНИЕ, ЗА ПОМОЩЬ, а главное ЗА ТЕРПЕНИЕ !!!!!!! :)
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964753
Игорь Сойников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про безопасность: имеем выделенный сервер Cache. Доступ к файловой системе пользователям закрыт.

теперь выполняем метод на сервере. В итоге: пользователь выполняющий метод с доступом к файловой системе имеет доступ к файловой системе сервера и делает там, несанкционированные действия.
Да и к результатам работы метода, тоже не будет иметь доступа.
...
Рейтинг: 0 / 0
Cache+Delphi5
    #34964805
NoGot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну для этого я и задавал самый первый вопрос (см. выше), а затем обьяснил почему я задал его...
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Cache+Delphi5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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