On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
Dima
администратор




Пост N: 2728
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.03.13 11:27. Заголовок: Leto DB Server (продолжение 9)


Продолжаем тут

Спасибо: 0 
Профиль
Ответов - 301 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]


nbatocanin



Пост N: 12
Зарегистрирован: 06.05.14
ссылка на сообщение  Отправлено: 07.12.14 19:14. Заголовок: Спасибо! Проблема р..


Спасибо!

Проблема решается, если задания функции через hrb, все работает как надо. Я изменил server.prg (потому что нам нужна функция VolSerial), так что я сделал функцию UDF_VolSerial в server.prg и все работало должным образом. Я не знаю, почему функция UDF_ArtKol не будет работать.

Функции также работать нормально при использовании так (как сказал Паша):

x := Leto_UdfExist("//192.168.99.1:2807/Udf_ArtKol")

Спасибо: 0 
Профиль
nbatocanin



Пост N: 13
Зарегистрирован: 06.05.14
ссылка на сообщение  Отправлено: 08.12.14 06:38. Заголовок: Функция сервера, вто..


Функция сервера, второй раз:

FUNCTION Udf_ArtKol (nUserStru) 
LOCAL cLetoMagKol, cLetoArt

cLetoArt := leto_Alias (nUserStru, "Artikli")
cLetoMagKol := leto_Alias (nUserStru, "MagKol")

SELECT (cLetoMagKol)
OrdSetFocus ("Mag_AM")

SELECT (cLetoArt)

IF (x := Leto_TableLock (nUserStru, 1))
GO TOP
WHILE !Eof()
(cLetoArt)->a_mk := "ABC"
SKIP
END DO
Leto_TableUnlock (nUserStru, 1)
END IF

RETURN x


Эта функция не изменяет файл ARTIKLI и возвращает NIL. Я ожидал, что результате Leto_TableLock будет T или F? Что означает вторые параметр в Leto_TableLock? Readme говорит только, что это число 1-32.



Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3233
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 08.12.14 08:50. Заголовок: Функция leto_TableLo..


Функция leto_TableLock - это не аналог FLock. Она предназначена для блокировки таблицы при выполнении некоторых действий, к примеру - получения уникального ключа для новой записи. См. пример использования в letoudf.prg, функция UDF_AppendRec
Для ваших целей используйте функции leto_RecLock / leto_recUnlock


Спасибо: 0 
Профиль
nbatocanin



Пост N: 14
Зарегистрирован: 06.05.14
ссылка на сообщение  Отправлено: 08.12.14 22:14. Заголовок: Большое спасибо! Сей..


Большое спасибо! Сейчас все работает. Я сделал функцию, которая указывает, какие записи должны быть отфильтрованы (для замены RELATION TO). Функция работает очень быстро: 110.000 записей завершено в 1,6 секунды!

FUNCTION Udf_ArtKol (nUserStru, aMag, nId) 
LOCAL cLetoMagKol, cLetoArt, i, lImaKol
LOCAL nArt, x

cLetoArt := leto_Alias (nUserStru, "Artikli")
cLetoMagKol := leto_Alias (nUserStru, "MagKol")

SELECT (cLetoMagKol)
OrdSetFocus ("Mag_AM")

x := 0

SELECT (cLetoArt)
GO TOP
WHILE !Eof()
nArt := (cLetoArt)->a_id

SELECT (cLetoMagKol)
lImaKol := .F.
FOR i := 1 TO Len(aMag)
SEEK Str(nArt,10) + Str(aMag,10)
IF Found() .AND. (cLetoMagKol)->k_kol <> 0
lImaKol := .T.
EXIT
END IF
NEXT

IF Leto_RecLock (nUserStru)
(cLetoArt)->a_mk := Left((cLetoArt)->a_mk,nId-1) + IIF (lImaKol, "1", " ") + SubStr((cLetoArt)->a_mk,nId+1)
Leto_RecUnlock (nUserStru)
x++
END IF

SELECT (cLetoArt)
SKIP
END DO

RETURN x


Спасибо: 0 
Профиль
nbatocanin



Пост N: 15
Зарегистрирован: 06.05.14
ссылка на сообщение  Отправлено: 13.12.14 22:54. Заголовок: Я вижу, что есть фун..


Я вижу, что есть функция Leto_MakeDir, но если функция Leto_RemoveDir?

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 158
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 08.01.15 14:31. Заголовок: Вот такой тест


Вот такой тест:

procedure main()
local _Server := '//127.0.0.1:2812/'
REQUEST DBFCDX
REQUEST LETO

RDDSETDEFAULT( "DBFCDX" )
use ('file') new
copy to ('file1')
dbclosearea()

RDDSETDEFAULT( "LETO" )
use (_Server+'file1') excl new
zap

APPEND FROM ('file') VIA "DBFCDX"
go top

browse()
return

в первое текстовое поле начинается с пробелом и
все текстовые поля смещаются на один символ в право
версия LetoDB последняя вроде !


2014-11-17 17:10 UTC+0300 Pavel Tsarenko (tpe2/at/mail.ru)
* source/client/leto1.c
! fixed gpf in some functions, that occured with no leto area


Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 159
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 08.01.15 23:15. Заголовок: А если добавлять из LETODB все ОК


А если делаем APPEND FROM из LETODB все ОК :)

procedure main()
local _Server := '//127.0.0.1:2812/'
REQUEST DBFCDX
REQUEST LETO

RDDSETDEFAULT( "LETO" )
use (_Server+'file') new
copy to (_Server+'file1')
browse()
dbclosearea()

RDDSETDEFAULT( "DBFCDX" )
use ('file1') excl new
zap

APPEND FROM (_Server+'file') VIA "LETO"
go top

browse()
return



Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3240
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.01.15 07:58. Заголовок: Вопрос в том, что бу..


Вопрос в том, что буфер записи leto и dbfcdx несовместим, в leto он не содержит 1-й байт deleted. Думаю, надо в leto сделать такой же формат, как и в dbfcdx

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3241
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 10.01.15 19:15. Заголовок: Сделал. Теперь APPEN..


Сделал. Теперь APPEND FROM будет работать

Спасибо: 1 
Профиль
alkresin
moderator


Пост N: 827
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 11.01.15 15:13. Заголовок: Сделал небольшое исп..


Сделал небольшое исправление в server.prg, hs_createindex() - добавил строчки после IF !Empty( cBagName ):

IF Empty( cTagName )
cTagName := hb_FNameName( cBagName )
ENDIF

Это связано с проблемой, изложенной на [url=https://groups.google.com/forum/#!topic/harbour-users/p2f9ffWM0sk]harbour-users[/url].

Когда индекс создавался командой INDEX ON ... TO ... имя тэга было пустое, leto_addTag() его не добавлял и leto_FindTag(), соответственно, потом ничего не находил.

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 160
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 16.01.15 15:31. Заголовок: Паша !


Паша !
Добавление данных в сторону Letodb опять не работает
и при COPY TO и при APPEND FROM

если первое поле тип C в нем все ОК но остальных нету
если первое поле тип N - остаются оно и второе , а остальные Тю Тю :)


****************
procedure main()
local _Server := '//127.0.0.1:2812/'
REQUEST DBFCDX
REQUEST LETO

//CDX
use ('file') new VIA "DBFCDX"
browse()
copy to (_Server+'file_leto') VIA "LETO"
dbclosearea()

//LETO
use (_Server+'file_leto') excl new VIA "LETO"
go top
browse()

zap
APPEND FROM ('file') VIA "DBFCDX"
go top
browse()
return


Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 828
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.01.15 09:23. Заголовок: Да, действительно, е..


Да, действительно, есть проблема. Попробую разобраться.

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 829
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 23.01.15 10:08. Заголовок: Исправил. Теперь дол..


Исправил. Теперь должно работать.

Спасибо: 0 
Профиль
sashaBG
постоянный участник




Пост N: 161
Зарегистрирован: 15.09.05
ссылка на сообщение  Отправлено: 27.01.15 23:15. Заголовок: Благодарю г-н Кресин !


Благодарю г-н Кресин !

Извиняюсь за поздний ответ !

Теперь все работает отлично !

Я высоко оцениваю Ваш труд и Пашин тоже ! И думаю, что проекту нужна какая-то финансовая подмога на его дальнейшее развитие .

Ребята кто пользуются етим сервером давайте ето обсудим !

у нас в Болгарии говорят , попробую перевести ( Дружба есть дружба , но брынза стоит денег ) :)



Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 839
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 28.01.15 09:12. Заголовок: sashaBG пишет: Благ..


sashaBG пишет:

 цитата:
Благодарю г-н Кресин !


Лучше - товарищ :). "Господа" у нас даже через 25 лет после переворота 1991г. как-то не привились.

Спасибо: 0 
Профиль
nbatocanin



Пост N: 16
Зарегистрирован: 06.05.14
ссылка на сообщение  Отправлено: 08.02.15 15:11. Заголовок: sashaBG пишет: Я вы..


sashaBG пишет:

 цитата:
Я высоко оцениваю Ваш труд и Пашин тоже ! И думаю, что проекту нужна какая-то финансовая подмога на его дальнейшее развитие .

Ребята кто пользуются етим сервером давайте ето обсудим !



Я согласен с этим. Будет хорошо, чтобы открыть счет для помощи. Если вы хотите, я могу зарегистрировать сайт LetoDB.com?

Спасибо: 0 
Профиль
alkresin
moderator


Пост N: 845
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 09.02.15 12:47. Заголовок: nbatocanin пишет: Е..


nbatocanin пишет:

 цитата:
Если вы хотите, я могу зарегистрировать сайт LetoDB.com?


Сайтом надо заниматься, чем-то его наполнять, регулярно обновлять, чтобы он жил. На это нужны в первую очередь человеческие ресурсы, которых не хватает. Когда Letodb появился на свет, Patrick Mast зарегистрировал letodb.org, но сайт мы так и не создали - не было времени и мотивации.

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 470
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.15 00:02. Заголовок: Режим: RddInfo( RDDI..


Режим: RddInfo( RDDI_TABLETYPE, DB_DBF_VFP ) - работа с новыми полями, сервер делает все ok, а клиент нет.
за основу взял test_dbf.prg из tests
для CDX:
Скрытый текст


для LETO:
Скрытый текст


в LETO:
- типы T, @ превращаются в =
- пустое поле типа = не заполняется значением TimeStamp
- значения VM и ID не отображаются, видим NIL
или я что то не так делаю ?

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 471
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.15 00:05. Заголовок: PS сервер делает все..


PS сервер делает все ok для полей типа ^ и +

Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 472
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.02.15 12:40. Заголовок: смотрю в сервере отк..


смотрю в сервере отключены триггера - это специально или нарочно ?
Скрытый текст


Спасибо: 0 
Профиль
Ответов - 301 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 15
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет