Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (до версии 2009) - часть 6

Автор: ESV1987
Дата сообщения: 16.07.2014 09:57
Update: вроде как удалось прикрепить данный запрос к предыдущему, из которого эти 6000 id и получались с помощью left join. Тестирую...
Автор: ShIvADeSt
Дата сообщения: 16.07.2014 10:47
ESV1987
То есть 6000 айдишников - это результат запроса? А можно его увидеть, чтобы более детально обсудить.
Автор: ESV1987
Дата сообщения: 16.07.2014 19:47
ShIvADeSt

там сложный запрос

суть его в том, есть БД с 20000 объектами (ориентировочно). По каждому объекту полно информации (информация устаревает, условно говоря, по каждому объекту очень много решений на разные даты). По некоторому условию объекты фильтруются (условие задаётся оператором), потом для объектов, прошедших фильтр (N штук), выбирается самая поздняя по дате информация и её набор для N объектов сохраняется

второй мой запрос, в который я закидывал эти N объектов, доставал для них ещё доп. информацию из другой таблицы. Сейчас я тот запрос поджоинил с первым и всё ОК стало.
Автор: ant0ni02004
Дата сообщения: 16.07.2014 22:22
ESV1987

Цитата:
По некоторому условию объекты фильтруются (условие задаётся оператором), потом для объектов, прошедших фильтр (N штук), выбирается самая поздняя по дате информация и её набор для N объектов сохраняется

подобное на Oracle хорошо делается, прямо в SQL (windowing)
Автор: krapotkin
Дата сообщения: 17.07.2014 08:26
в Firebird тоже есть временные таблы, оч. удобно
но и постоянная подойдет, если туда вписывать уникальный ID группы
Автор: NightSpawn
Дата сообщения: 18.07.2014 05:39
Было соообщение и убежало %)
Автор: Man_Without_Face
Дата сообщения: 18.07.2014 17:10
Доброго времени суток! Нужно отобразить текст в каком нибудь контролле, например мемо поле. Но должен быть поиск по ctrl+f. Поиск который меня устраивает есть в TWebBrowser, но текст после загрузки отображается одной длинной строкой, которую нужно проматывать скроллом. Подскажите как лучше сделать? Может можно как то настроить в TWebBrowser или есть другие стандартные компоненты (сторонние не подойдут). Спасибо.
Автор: XPerformer
Дата сообщения: 18.07.2014 17:19
Man_Without_Face

Цитата:
но текст после загрузки отображается одной длинной строкой, которую нужно проматывать скроллом.

Сделайте замену в тексте перед показом в браузере
s := StrUtils.ReplaceStr(s, #13#10, '<p>');
Автор: Man_Without_Face
Дата сообщения: 18.07.2014 17:35

Цитата:
Сделайте замену в тексте перед показом в браузере

А без строки можно? Я пишу вот так, через мемори стрим не делал, не помню почему:
TBlobField(queXmlViewDetailLOG).SaveToFile(ExtractFilePath(paramstr(0)) + 'detail.xml');
WbDetail.Navigate(ExtractFilePath(paramstr(0)) + 'detail.xml');
А сейчас мне нужно обычный текст впихнуть.
Автор: Czechoslovak
Дата сообщения: 23.07.2014 09:48
Man_Without_Face

А RichEdit не пойодет? Там есть функция поиска текста, в хэлпе есть пример с диалогом
Автор: idiMAN
Дата сообщения: 24.07.2014 14:46
Man_Without_Face

В интернете всё уже есть - Поиск в TMemo с использованием TFindDialog
Автор: LadyOfWood
Дата сообщения: 27.07.2014 20:45

Цитата:
Может можно как то настроить в TWebBrowser

Можно пересносы добавить (<br/>)
Автор: YuriyRR
Дата сообщения: 30.07.2014 18:19
Использую портабельную версию Delphi7 и почему-то не устанавливается пакет vclx70.bpl. Никто не сталкивался с такой проблемой?
Автор: LadyOfWood
Дата сообщения: 31.07.2014 17:34

Цитата:
Использую портабельную версию Delphi7 и почему-то не устанавливается пакет vclx70.bpl.

А что говорит?
Автор: YuriyRR
Дата сообщения: 31.07.2014 23:01
в packages этот пакет прописан, но неактивный. Галочку ставишь, а она сама снимается. (
Автор: XPerformer
Дата сообщения: 31.07.2014 23:09

Цитата:
в packages этот пакет прописан, но неактивный. Галочку ставишь, а она сама снимается. (

присоединяюсь к вопросу
у меня тоже самое было с пакетом word2000 в delphi xe
так и не смог победить
Автор: protoror
Дата сообщения: 02.08.2014 16:10
плохо помню, но вроде лечил так: создавал новый package и запихивал туда все необходимое
Автор: sonopydnaef
Дата сообщения: 26.11.2014 05:16
Скорее всего в реестре запомнилось выключение пакета (пакет перенёсся в раздел игнорируемых при загрузке). Удали его из этого раздела ...
Автор: nevermind00
Дата сообщения: 28.11.2014 09:37
есть код:
adocommand.Parameters.ParamByName('param').value:=param;
adocommand.execute;

первый раз срабатывает нормально. но когда этот код выполняется еще раз, выдает ошибку - parameter 'param' not found
Как эту проблему решить?
Автор: ant0ni02004
Дата сообщения: 28.11.2014 18:30
nevermind00
ввиду отсутствия кода полностью - опять на хрустальном шаре гадать приходится
paramcheck чему равно?
возможно, текст запроса очищается зачем-то после execute
Автор: SuPriTo
Дата сообщения: 28.11.2014 18:42
nevermind00
В коде запроса отсутствует param - как параметр.
Автор: KRS545
Дата сообщения: 29.11.2014 12:04

Цитата:
parameter 'param' not found

adocommand.prepare попробуй поставить вначале
Автор: nevermind00
Дата сообщения: 01.12.2014 10:17

Цитата:
ant0ni02004
возможно, текст запроса очищается зачем-то после execute

Ааааа! извиняюсь!.. и правда, я далее в своем когде этим adocommand другой запрос выполняю! всю голову себе сломал!!!
Автор: landy
Дата сообщения: 01.12.2014 17:03

Цитата:
правда, я далее в своем когде этим adocommand другой запрос выполняю!

Для исключения подобных ошибок было бы правильнее сделать функцию, исполняющую запрос, а adocommand сделать внутри локальным параметром. Случайное изменение глобального контекста - вообще довольно частая проблема.
Автор: Ichigo2
Дата сообщения: 18.12.2014 07:20
Привет всем.
Хотел узнать, есть ли возможность изменить набор параметров у стандартного метода компонента?
Скажем, в обработчике клика на StringGrid сразу получать содержимое текущей ячейки.

Например:

Цитата:
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer; CellText: String);
begin
ShowMessage(CellText);
end;

Вместо:

Цитата:
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var ACol, ARow: Integer;
begin
StringGrid1.MouseToCell(X, Y, ACol, ARow);
ShowMessage(StringGrid.Cell[ACol,ARow]);
end;
Автор: landy
Дата сообщения: 18.12.2014 08:35

Цитата:
есть ли возможность изменить набор параметров у стандартного метода компонента?

Теоретически - да, но потребуется еще править вызывающий этот метод код VCL либо переписывать все это в наследнике.
Автор: SuPriTo
Дата сообщения: 18.12.2014 10:18
Ichigo2

Цитата:
Хотел узнать, есть ли возможность изменить набор параметров у стандартного метода компонента?

Если метод виртуальный, то можно использовать reintroduce и начать цепочку новых виртуальных методов.
Автор: Ichigo2
Дата сообщения: 19.12.2014 20:03
Еще вопрос. Есть ли стандартная функция вычитания (сложение по модулю 2) двух TStringList?
Вообщем есть два СтрингЛиста, надо найти строки, которые есть в СтрингЛист1 но нет в СтрингЛист2.
Автор: landy
Дата сообщения: 19.12.2014 21:20

Цитата:
Есть ли стандартная функция вычитания (сложение по модулю 2) двух TStringList

Стандартной нет, но если списки сортированные, то она легко пишется самостоятельно и работает в один проход.
Автор: topdon
Дата сообщения: 28.12.2014 14:56
Коллеги, посоветуйте, в какой структуре программы лучше всего хранить поле
типа ntext, считываемое из БД SQL Server с целью последующего посимвольного разбора.
В. Фролов

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374

Предыдущая тема: MPO File


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.