![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Контейнер для текстов [D6]
VAV © (2004-10-12 07:22:00)Народ! подскажите кто-нибудь где встречал компонент типа контейнера для хранения текстов, что бы можно было в дизанере наколотить туда текст, а врутнтайме по имечку или индексу этот текст доствать. Мне он собственно нужен для хранения текстов SQL запросов. Ужасть как не хочется самому писать такую штуку.
Sandman25 (2004-10-12 16:36:00) [1][17] VAV (12.10.04 13:07)
С поиском проблемы нет - ключом являлся не номер, а строка. К тому же запросы были разбиты на секции.
То, что пользователи, могди изменить запросы - их проблемы, все равно в запросах были либо select из view, либо вызов хранимой процедуры. Безопасность была на уровне.
Кстати, считанные строки зачастую содержали символы "%" и использовались в функции Format.
Fay (2004-10-12 13:27:00) [2]2 VAV (12.10.04 13:07) [17][Ответить]
А винду (с подсветкой синтаксиса, конечно) не надо срочно садиться писать? 8)
TUser (2004-10-12 13:18:00) [3]
> Но это опять же надо садится и писать компонент, который
> пишет, читает из ресурса.
TResourceStream
SQL.LoadFromStream()
VAV (2004-10-12 13:07:00) [4]> Sandman25
Не нравится мне такой подход. С нашими то юзерами этот файл каждый раз обновлять надо будет. Да и возможность составления такого файла при помощи специализированного редактора с подсветкой синтаксиса и т.п. усложняется, а потом поиск и читаемость нужного запроса при редактировании...
> Я все-таки за ресурсы
Но это опять же надо садится и писать компонент, который пишет, читает из ресурса.
А я спрашиваю може кто видел такой готовый, чтобы только свой проперти едитор прицепить и все....
Sandman25 (2004-10-12 12:49:00) [5]Когда-то читал такие строки из специального (в смысле отдельного) ини-файла - при ошибке можно было прямо у заказчика все исправить без перекомпиляции и спец. инструментов.
TUser (2004-10-12 12:47:00) [6]Я все-таки за ресурсы
Reindeer Moss Eater (2004-10-12 12:33:00) [7]Пост номер один.
Строка над многоточием.
Жаль что помочь не можеж
Это точно.
Бывает, что не всем помогает.
VAV (2004-10-12 12:32:00) [8]Жаль что помочь не можеж, хотябы дельным советом.
А остальное я тебе прощаю. Сам люблю подковырки.
Reindeer Moss Eater (2004-10-12 12:20:00) [9]Боже, как же тебе тяжело.
Дай я тебя пожалею.
VAV (2004-10-12 12:13:00) [10]> Афигеть проблема
а чего тогда ты код дельфийный в блокноте не накалачиваешь, а IDE его юзаешь, тоже не проблема вроде?
> 1=select * from table
> 2=truncate table
> 3=alter user sys drop cascade
попробуй так вот раз сто да каждый раз строк по тридцать, а потом еше, чтобы это всо хорошо читабельно было.
Reindeer Moss Eater (2004-10-12 12:04:00) [11]Афигеть проблема.
1=select * from table
2=truncate table
3=alter user sys drop cascade
VAV (2004-10-12 12:02:00) [12]В библиотеке RX у меня нет TRxStrHolder, есть только TStrHolder, но это не то, что надо. Там только один экземпляр текста можно хранить в Strings, а надо, чтобы допустим был какой-нибудь Items и внем кучу Strings можно было добавлять...
VAV (2004-10-12 11:53:00) [13]TRxStrHolder у меня есть, но еще не ковырял, что это за зверь незнаю.
А где TjvStrHolder за одно поюзать взять можно.
Amoeba (2004-10-12 11:26:00) [14]TRxStrHolder и TjvStrHolder это компонентная обертка над TStringList. Можно заполнять в DesignTime.
Amoeba (2004-10-12 11:22:00) [15]TRxStrHolder из библиотеки Rx (ее следует иметь каждому!)
http://www.delphiplus.org/rxlibrary.html
TUser (2004-10-12 11:14:00) [16]Это из Jedi, но это не нужно.
Кстати, а в ресурс ты не хочешь это все положить?
VAV (2004-10-12 11:13:00) [17]> TjvStrHolder
> TjvMultiStringHolder
а можно ссылочку, посмотреть хот, что это такое...
VAV (2004-10-12 10:59:00) [18]> const
> YourText = 'select'#13'*'#13'from YourTable';
В переменные в модуле заганять кучу текста это не серьезно. Это всеравно, что писать дельфийные проекты в виндовом блокноте.
Да и кучу TMemo, TQuery, TListBox компонентов кидать на форму, тоже абсурд, а если у меня штук сто разных запросов?
В том то и дело что нужно в дезайнере наколачивать.
Я бы просто прицепил к этому компоненту свой редатор пропертей для sql-текстов, а потом бы в рунтайме дергал бы нужный мне запрос, грузил его в кверю и отрабатывал. Вот в чем идея заключается!
TUser (2004-10-12 10:47:00) [19]const
YourText = 'select'#13'*'#13'from YourTable';
TStringList
Reindeer Moss Eater (2004-10-12 09:44:00) [20]TQuery
TListBox
TMemo
TRxStrHolder
TjvStrHolder
TjvMultiStringHolder
...