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


Пост N: 420
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 19.12.13 18:16. Заголовок: TsBrowse в Минигуи (продолжение)


TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений
К примеру

 цитата:

DEFINE TBROWSE oBrw2 ;
AT 60,450 ;
ALIAS cAlias ;
OF Form1 ;
WIDTH 330 ;
HEIGHT 340 ;
FONT "Verdana" ;
SIZE 9 ;
ON DBLCLICK CopyRec();
ON GOTFOCUS fModelo_Hab(2) ;
AUTOFILTER ;
CELLED EDIT;
VALUE nRec;
GRID


Здесь я собрал параметры из разных tBrows
Можно или нет и какие парметры заменить
выражением ( и каким) ?
oBrw2:....
oBrw2:....

























<a href=http://www.bestmarket.com.ua >ноутбуки</a>























<a href=http://www.bestmarket.com.ua >ноутбуки</a>
Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 277 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 All [только новые]





Пост N: 2013
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.09.18 15:16. Заголовок: Haz пишет проще инде..


Haz пишет
 цитата:
проще индекс держать с !Deleterd()


Кто бы спорил, но у Андрея одно рабочее место без индекса, другое с условным индексом ...
Что бы не ломать ту ситуацию новую можно так решать безболезненно. Да сложности особой нет

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2014
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.09.18 15:19. Заголовок: PS + такая техника с..


PS
+ такая техника спокойно перейдет в LetoDB

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




Пост N: 6038
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.09.18 15:40. Заголовок: SergKis пишет: Кто ..


SergKis пишет:

 цитата:
Кто бы спорил, но у Андрея одно рабочее место без индекса, другое с условным индексом ...
Что бы не ломать ту ситуацию новую можно так решать безболезненно. Да сложности особой нет



Да я уже согласился.
Понял, что огород городить не надо.
Надо открывать базу в SHARED и делать индекс !Deleterd()
Только вот забыл как делать файл с уникальным именем в папке..
Сейчас сделаю свой вариант и покажу Tsbrowse.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2015
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.09.18 15:45. Заголовок: Andrey пишет Только ..


Andrey пишет
 цитата:
Только вот забыл как делать файл с уникальным именем в папке..


А с именем самого dbf не пойдет. Его должны открывать ВСЕ приложения с модификацией (как SET AUTOPEN ON) иначе "нам удачи не видать"

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2016
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.09.18 15:48. Заголовок: PS Если планируешь п..


PS
Если планируешь повторно исп. удаленные записи, то нужен тэг FOR Deleted()

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




Пост N: 6039
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.09.18 15:51. Заголовок: SergKis пишет: А с ..


SergKis пишет:

 цитата:
А с именем самого dbf не пойдет. Его должны открывать ВСЕ приложения с модификацией (как SET AUTOPEN ON) иначе "нам удачи не видать"


Зачем ? Каждый узер открывает базу и делает свой индекс с !Deleterd()
Вешаем таймер и каждые полминуты делаем Refresh() базы.
Чем не решение ?
Избавимся от создания общего индекса.
Но можно держать и общий индекс с !Deleterd().
Это уже без разницы.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2017
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.09.18 16:05. Заголовок: Andrey пишет Вешаем ..


Andrey пишет
 цитата:
Вешаем таймер и каждые полминуты делаем Refresh() базы


Знаем проходили, Чел пялится в свою запись на экране, вдруг раз она убежала то ли вверх то ли вниз - вставились\удалились записи рядом, попытка удержать курсор на ней может не получиться, пока он таращил глаза, наконец нашел, начал любоваться а она опять куда то улетела, причина см. выше и т.д.

 цитата:
Избавимся от создания общего индекса


По мне это минус. Если базы копеечные, то да так можно делать, но вопрос нужно ли ?

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




Пост N: 6041
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.09.18 16:23. Заголовок: SergKis пишет: Знае..


SergKis пишет:

 цитата:
Знаем проходили, Чел пялится в свою запись на экране, вдруг раз она убежала то ли вверх то ли вниз - вставились\удалились записи рядом, попытка удержать курсор на ней может не получиться, пока он таращил глаза, наконец нашел, начал любоваться а она опять куда то улетела, причина см. выше и т.д.


Понял, так делать тогда не будем. Только для теста....

SergKis пишет:

 цитата:
По мне это минус. Если базы копеечные, то да так можно делать, но вопрос нужно ли ?


У меня такой механизм (условная индексация) работает уже лет 15.
Условная индексация каждого юзера для всех его нужных полей базы, что хочет то и выбирает и ко мне не пристаёт.

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




Пост N: 6044
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 17.09.18 18:25. Заголовок: Что-то фигня получае..


Что-то фигня получается с разными индексами...
С одним общим лучше !
Вот так выглядит теперь:
[img]https://i.imgur.com/gievW7U.png?3[/img]

Вот проект и исходники (fpt) - https://cloud.mail.ru/public/GMwS/mbgXwsCEs
Запустить две программы и можно тестировать.
Посмотрите пожалуйста исходники, может что-то и упустил.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2018
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 17.09.18 18:56. Заголовок: Andrey Так поправь ..


Andrey
Так поправьСкрытый текст


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




Пост N: 6064
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.10.18 16:04. Заголовок: Всё таки есть неболь..


Всё таки есть небольшие сбои в Tsbrowse или в примерах Tsb_Shared нужно что-то добавлять.
Непонятки возникли:
1) если удалить 2-3 записи в таблице, то нарушается показ в вертикальном скролинге.


2) demo.exe - если таблица без вертикального скролинга, то при добавлении записей вертик.скролинг не появляется (иногда появляется)


3) demo2.exe - если таблица без вертикального скролинга, то при добавлении записей вертик.скролинг появляется но без нижней стрелки, огрызок какой то...

Последний проект Tsb_Basic(1.8).7z здесь - https://cloud.mail.ru/public/8WrP/cpCzTtqKp

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2084
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.10.18 18:43. Заголовок: Andrey Просто добав..


Andrey
Просто добавь воды строки
 
STATIC FUNCTION RecnoInsert(oBrw)
...
oBrw:ResetVScroll( .T. )
oBrw:oHScroll:SetRange( 0, 0 )

ENDIF

RETURN Nil
...
STATIC FUNCTION RecnoDelete(oBrw)
...
with object oBrw
If :nLen > :nRowCount() .and. :nRowPos < :nRowCount()
(:cAlias)->( dbSkip(-:nRowCount()) )
:nRowPos := :nRowCount()
:Refresh(.T.)
EndIf
end with


oBrw:ResetVScroll( .T. )
oBrw:oHScroll:SetRange( 0, 0 )

RETURN Nil
...

выделенное синим, можешь не ставить.

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




Пост N: 6065
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.10.18 20:48. Заголовок: SergKis пишет: Прос..


SergKis пишет:

 цитата:
Просто добавь воды строки



Спасибо ! Помогло !

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




Пост N: 6071
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.10.18 22:47. Заголовок: Всем доброй ночи ! В..


Всем доброй ночи !
Вот столкнулся с такой проблемой, не знаю как сделать перемещение записи в таблице вверх или вниз.
Какой нужно сделать алгоритм показа ?
Ввести новое поле в базу или по другому ?
Я делал ранее алгоритм пересчёта поля на лету, но там база была очень маленькой.
А для больших баз как это реализовать ?

Вот заготовку примера сделал - https://cloud.mail.ru/public/FDWs/KgajUDnAw

И ещё одна важная особенность !
Юзер хочет добавить запись под/перед курсором/маркером бровса, а не в конец базы.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1358
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.10.18 16:48. Заголовок: Andrey пишет: Юзер ..


Andrey пишет:

 цитата:
Юзер хочет добавить запись под/перед курсором/маркером бровса, а не в конец базы.


В чем проблема? Держи активный индекс по которому сортируются записи. Хоть вычисляемый, хоть по значению в поле. При добавлении позаботься о том чтобы у новой записи индекс получил нужное значение.
Варианты реализации - все что угодно на твой вкус, главное результат.
Вопрос вообще ни каким боком к Tsbrowse не относится. Если тупо оценить его то это, "как логически поместить запись в нужную позицию"
Это же и к предыстории к вопроса относится. Как решишь, далее нужно всего лишь применить новую редакцию ::gotorec() с указанием нужной строки

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2086
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.10.18 19:41. Заголовок: Andrey Использую бе..


Andrey
Использую без индексов C функции (вроде от Pasha они), пробни, может подойдет Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1359
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.10.18 20:24. Заголовок: SergKis пишет: Испо..


SergKis пишет:

 цитата:
Использую без индексов


Сергей привет.
Навеяно исходниками. Году в 90 занимался вставкой записей используя функции семейства fread, fwrite итд. Зная структуру dbf эта задача прммитивная, но тогда.... и базы были короче и валялись они локально. А может и оптимизма в голове было побольше. Сейчас я только пожелаю флаг в руки и вперёд в атаку. А я тут подожду.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2087
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.10.18 22:25. Заголовок: Haz пишет А я тут п..


Haz пишет
 цитата:
А я тут подожду.


Как говорится "Хозяин-барин", но dbInsert очень хорошо легла на:
1. Разбиение отчета печати по листам, когда нельзя разрывать лист на строках заголовков, итогов и т.д., т.е. разрывать лист можно только на детальной строке а далее как душа ляжет ... Вставляю строку типа chr(12)
2. Выполнен отбор типа select * ...., далее по уточнению различные группирования, заголовки\подзаголовки\итоги\под итоги и т.д. с выходом на печать и п.1
3. Ввод в какой то документ, где пользователь сам определяет перед\после какой строкой[и] делаем запись new
4. Export или подсовывание запроса с базы где нет полей с определенными названиями в какой то уже работающий отчет. Делаем запрос и потом меняем названия полей на нужные или на раб. месте за дробью надо не 7 знаков, а по установке, округляем и меняем в структуре через FieldRename(...)
Это основное, что использую.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1360
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 13.10.18 23:02. Заголовок: SergKis пишет: Как ..


SergKis пишет:

 цитата:
Как говорится "Хозяин-барин", но


Плавали, знаем
все тоже делаю в sql запросах
Select top 50 *
Select next
Select summa as [ выручка с НДС ]
Группировки так вообще для этого скуль и придумали
а вставку в определённую логическую позицию по спец полю определяющему сортировку и вложенность структуры.

Но тут кто как привык. Все подходы правильные когда работают

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 2088
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.10.18 23:32. Заголовок: Haz пишет все тоже д..


Haz пишет
 цитата:
все тоже делаю в sql запросах


На ADS у нас только немцы приходили в начале 2000-х, но их выжили скандинавы.
Из за его стоимости никто из клиентов не хочет(ел) приобретать лицензию, даже богатый Латв.энерго.
От исп. mysqll и firebird мы отказались сами из за администр. затрат эксплуатации на чужих администраторах\рс.

 цитата:
Но тут кто как привык


Схему select * или select (...) as (...) ... поддерживаю на DBFCDX(letodb), распределяя "основной" запрос на сервер, с доработкой "до кондиции" на клиенте.

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

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 88
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет