On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение
Andrey
постоянный участник




Пост N: 4156
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.05.15 22:44. Заголовок: Вопросы новичка...


Взял последнюю версию с "Новая страница с бинарниками", установил на Win2008 Server, чуток помучился с портом...
Собрал на МиниГуи+BCC 551 - \MiniGui\batch\hbmk2.bat rddleto.hbp
Получил rddleto.lib - 131072 байт - правильный ли размер ?
И еще Warning-и лезут:
lib\.hbmk\win\bcc\rddsys.c:
source\client\letocl.c:
source\client\leto1.c:
source\client\letomgmn.c:
source\common\blowfish.c:
source\common\common_c.c:
source\common\hbip.c:
TLIB 4.5 Copyright (c) 1987, 1999 Inprise Corporation
/P32 lib\rddleto.lib -+ lib\.hbmk\win\bcc\rddsys.obj -+ lib\.hbmk\win\bcc\letocl.obj -+ lib\.hbmk\win\bcc\leto1.obj -+ lib\.hbmk\win\bcc\letomgmn.obj -+ lib\.hbmk\win\bcc\blowfish.obj -+ lib\.hbmk\win\bcc\common_c.obj -+ lib\.hbmk\win\bcc\hbip.objWarning: 'rddsys' not found in library
Warning: 'letocl' not found in library
Warning: 'leto1' not found in library
Warning: 'letomgmn' not found in library
Warning: 'blowfish' not found in library
Warning: 'common_c' not found in library
Warning: 'hbip' not found in library

Так должно быть или нет ?

Вопрос сразу напрашивается с путями - как писать правильно "\" или "/" :
Local cPathServer := "//127.0.0.1:2812/"
cPathServer := cPathServer +"DATE_TEST_PATH\test.dbf"

Помню что где то обсуждали, а результат не запомнил...

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


Dima
администратор




Пост N: 4787
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.05.15 22:56. Заголовок: Пиши "пионера..


Пиши "пионера"

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



Пост N: 623
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 04.05.15 23:24. Заголовок: Andrey пишет:Получил..


Andrey пишет:
 цитата:
Получил rddleto.lib - 131072 байт - правильный ли размер ?


у меня rddleto.lib - 134656 (сечас пересобрал). Собираю:
@echo off
cls
echo ... wait ...
set path=e:\minigui\harbour\bin;c:\borland\bcc55\bin;
if exist .\bin\letodb.exe del .\bin\letodb.exe > nul
if exist .\bin\.hbmk\win\bcc\*.obj del .\bin\.hbmk\win\bcc\*.obj > nul

hbmk2.exe -info -comp=bcc -trace rddleto.hbp letodb.hbp > _hbmk2.txt

протокол:Скрытый текст


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



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 05.05.15 00:13. Заголовок: Dima пишет: Пиши &#..


Dima пишет:

 цитата:
Пиши "пионера"



Спасибо: 0 
andrey



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 05.05.15 00:54. Заголовок: Есть чуть меньше 100..


Есть чуть меньше 100 файлов справочников (весит меньше мегабайта).
Нужно периодически, два-четыре раза в месяц стаскивать эти справочники на локальную машину.
Вопрос, как лучше сделать, чтобы быстро это операция проходила ?
1) Вариант открывать каждую базу справочника на LetoDB и через транзакцию записывать на локальную машину.
2) Вариант копировать каждый файл справочника через LETO_MEMOREAD() и записывать на локальную машину.

Только как правильно можно реализовать 2-ой вариант ? Подскажите пожалуйста.

Спасибо: 0 
Dima
администратор




Пост N: 4788
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.05.15 11:05. Заголовок: andrey пишет: цита..


andrey пишет:

 цитата:
цитата:
Пиши "пионера"






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




Пост N: 4157
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.05.15 11:43. Заголовок: Теперь понял ! :sm5..


Теперь понял !

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


Пост N: 942
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.05.15 15:52. Заголовок: Andrey пишет: 1) Ва..


Andrey пишет:

 цитата:
1) Вариант открывать каждую базу справочника на LetoDB и через транзакцию записывать на локальную машину.
2) Вариант копировать каждый файл справочника через LETO_MEMOREAD() и записывать на локальную машину.


Наверное, второй вариант быстрее. Впрочем, попробуйте, сравните.
В первом случае транзакции не помогут - они предназначены для записи данных. Для буферизации чтения после открытия каждого файла на сервере ставьте leto_setSkipBuffer( количество_записей_в_буфере ).

Для второго варианта

cBuf := leto_memoRead( путь/имя_файла)
hb_memowrit( путь/имя_файла, cBuf )




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




Пост N: 4158
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.05.15 22:12. Заголовок: alkresin пишет: Для..


alkresin пишет:

 цитата:
Для второго варианта
cBuf := leto_memoRead( путь/имя_файла)
hb_memowrit( путь/имя_файла, cBuf )



Спасибо БОЛЬШОЕ ! Буду пробовать этот вариант, мне он кажется проще.
А какой максимальный размер можно передать через cBuf ?

А если надо несколько (10) больших баз из сотни полей и общим весом 150-200 Мб переносить. Как быть в этом случае ?
Может там их на сервере zip-пом сжать (будет примерно 3 Мб), перетащить архив как файл, а уже на локальной машине распаковать и уже добавлять в локальные базы.

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




Пост N: 4789
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.05.15 22:48. Заголовок: Andrey пишет: Может..


Andrey пишет:

 цитата:
Может там их на сервере zip-пом сжать (будет примерно 3 Мб), перетащить архив как файл, а уже на локальной машине распаковать и уже добавлять в локальные базы.


Пробовать надо Андрей.

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


Пост N: 943
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 06.05.15 09:21. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А какой максимальный размер можно передать через cBuf ?


Насколько я помню, ограничений нет, но все в пределах разумного...

 цитата:
Может там их на сервере zip-пом сжать ...


Вообще говоря, не вижу большого смысла использовать letodb для этих процедур. Если надо просто время от времени переписывать группу файлов, почему не использовать ftp или rsync, предназначенные именно для подобных целей.

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




Пост N: 4159
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.05.15 10:49. Заголовок: alkresin пишет: не ..


alkresin пишет:

 цитата:
не вижу большого смысла использовать letodb для этих процедур


Понятно. Просто эти функции хотелось бы сделать как дополнение.
А так основные базы буду переделывать под letodb.

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




Пост N: 4161
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.05.15 22:54. Заголовок: Сделал чтение/запись..


Сделал чтение/запись справочников через файловые функции LETO_MemoRead/LETO_MemoWrite.
Тестовая база:
1) 70 файлов примерно общий весом 1 Мб.
2) Старенький нетбук Самсунг 10 дюймов экран, WinXP Home, сеть WiFi 54 Мб
3) Интернет WiFi - через сотовый телефон оператор МТС
4) Местонахождение - комп в г.Севастополе, сервер LetoDB в Москве
Скорость передачи всех файлов МЕНЬШЕ минуты !!! Классно !!!
Это я еще ставлю INKEGUI(100) для красоты прорисовки бегунка...


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



Пост N: 624
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.05.15 10:57. Заголовок: Andrey пишет:Сделал ..


Andrey пишет:
 цитата:
Сделал чтение/запись справочников через файловые функции


Сделай Browse\TsBrowse на них (с ведением) и гонять никуда не надо. Проверено деревня под Питером (Билаин, МТС) клиент, сервер в Риге.

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




Пост N: 4166
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.05.15 13:55. Заголовок: SergKis пишет: Сдел..


SergKis пишет:

 цитата:
Сделай Browse\TsBrowse на них (с ведением) и гонять никуда не надо.


Это проба.
Browse\TsBrowse чуть позже буду делать, пока отдельную задачу реализовать надо, загрузка базы на локальную машину.
Пока пробую, привыкаю...

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




Пост N: 4169
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 14.05.15 15:21. Заголовок: Сделал копирование б..


Сделал копирование баз с LetoDB на локальную машину.
10 файлов общим размером 136 Мб копируются на локальную машину за 2 мин. 33 сек.
Вот это скорость....
Нафиг нужны всякие fpt и другое если можно сделать самому для юзера.
Всё бросаю и перехожу на LetoDB !!!

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




Пост N: 4176
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.05.15 22:07. Заголовок: Использую пока у себ..


Использую пока у себя гибрид:
1) главное меню МиниГуи (кнопочки, рюшечки ...), по кнопке вызывается
2) exe-ник терминалка (таблицы пока все в терминалке).
Терминалку конечно же переделаю, но времени на это много нужно.
Хочу сделать у себя отправку заказов сразу на LetoDB, т.е. правится таблица заказов на терминалке, передает НОМЕР ЗАПИСИ которая правилась юзером в главную программа на МиниГуи.
А главная программа отправляет эту запись в LetoDB.
Вопрос такой - как организовать передачу номера записи между своими программами ?
По таймеру не хочу... Программа многопользовательская.

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



Пост N: 631
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.05.15 12:25. Заголовок: Andrey пишет:Вопрос ..


Andrey пишет:
 цитата:
Вопрос такой - как организовать передачу


Можно посмотреть в сторону сообщения WM_COPYDATA смотри:
SAMPLES\Applications\DbfView\source\userfun.prg
SAMPLES\Applications\RunCmd\RunCmd.prg
как сделать посылку из WVT не скажу (надо смотреть), мои такие изыскания закончились 2-мя вариантами,
т.к. менять wvt модуль надо полюбому, то вполне можно:
1. коннект с лето перенести туда и запись перебросить уже не проблемма (это практически одна ф-я с параметрами)
2. запускать на run (с отрывом) прогу, которая делает тоже самое в фоне

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



Пост N: 632
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 20.05.15 12:25. Заголовок: Andrey пишет:Вопрос ..


Andrey пишет:
 цитата:
Вопрос такой - как организовать передачу


Можно посмотреть в сторону сообщения WM_COPYDATA смотри:
SAMPLES\Applications\DbfView\source\userfun.prg
SAMPLES\Applications\RunCmd\RunCmd.prg
как сделать посылку из WVT не скажу (надо смотреть), мои такие изыскания закончились 2-мя вариантами,
т.к. менять wvt модуль надо полюбому, то вполне можно:
1. коннект с лето перенести туда и запись перебросить уже не проблемма (это практически одна ф-я с параметрами)
2. запускать на run (с отрывом) прогу, которая делает тоже самое в фоне

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




Пост N: 4177
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.05.15 16:43. Заголовок: SergKis пишет: 2. з..


SergKis пишет:

 цитата:
2. запускать на run (с отрывом) прогу, которая делает тоже самое в фоне


У меня есть уже есть в фоне главная программа.
Как туда передать НОМЕР измененной записи и как принять это сообщение ?

SAMPLES\Applications\RunCmd\RunCmd.prg посмотрел и ни фига не понял...

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


Пост N: 556
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 20.05.15 17:13. Заголовок: Andrey пишет: Как т..


Andrey пишет:

 цитата:
Как туда передать НОМЕР измененной записи и как принять это сообщение ?



глянь MiniGUI\SAMPLES\Advanced\HMGTALK\

PS. там клиенты общаются через свою программу- сервер. При желании можно позаимствовать идею

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