powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как в переменную вставить большое кол-во строк?
25 сообщений из 34, страница 1 из 2
Как в переменную вставить большое кол-во строк?
    #40077935
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли каким-то способом заменить вот такое присвоение
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
PgDir.SQL.Clear;
   Query.SQL.Append('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb '); 
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
     PgDir.Prepare;
   PgDir.Open;


чем-то похожим на такое:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
s:='
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
';
Query.SQL:=s;


Всем за ранее благодарна!
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077936
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше выкинуть присваивание вообще и задать Query.SQL ещё в design-time.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077939
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
s:=''#13#10 +
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
';


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077940
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Лучше выкинуть присваивание вообще и задать Query.SQL ещё в design-time.

не годится - много запросов, которые подставляются по условию, а некоторые создаются динамически.
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077943
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
s:=''#13#10 +
'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'#13#10 +
';




А без "#13#10 +"? и без "+" в каждой строке и ковычек в каждой строке?
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077945
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Colaмного запросов, которые подставляются по условию

На каждый - создать отдельный Query.

Ну а за генерацию запросов вообще надо очень внимательно смотреть в глаза разработчику.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077948
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поясню. Смысл в том, что бы сократить до минимума количество лишних операций. При постоянных подстановках запросов их слишком много получится. Почему к примеру перенос кода на другую строку воспринимается нормально, а перенос текстовой переменой в одинарных кавычках на другую строку вызывает ошибку. Должен быть какой-то способ его переносить правильно без совершения лишних операций конкатенации. которые в данном случае совершенно лишены всякого смысла.
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077952
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ColaПочему к примеру перенос кода на другую строку воспринимается нормально, а перенос
текстовой переменой в одинарных кавычках на другую строку вызывает ошибку.

Из-за кривых рук переносящего, вероятнее всего.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077954
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А без "#13#10 +"?
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
function AddS(S: array of string): string;
var i: integer;
begin
  Result := '';
  for i := 0 to High(S) do
   Result := Result + S[i] + sLineBreak;
end;


begin
  Query.SQL:= AddS([
  'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
  'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb',
  'cccccccccccccccccccccccccccccccccccccccccccc'
 ]);
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077955
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cola,

можно было бы написать функцию, копирующую массив строк в TStrings, чтобы вызов выглядил как-то так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
InsertStrArrayInto([
                     'aaaaaaaa',
                     'bbbbbbbbbbbbbbb',
                     'ccccccccccccc',
                     'dddddddddddddddddddddddd',
                     'dddddddddddddddddddd',
                     'eeeeeeeeeeeeeeeeeeeeeeeeeeeee'
                   ], 
                   Query.SQL);  


но это, конечно, только экономия на #13#10 и символах "+", мы их заменили на ","
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077956
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
два ответа одновременно почти с одинаковым решением :)
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077958
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот и начался конкурс на самый креативный способ заслоупочить программу...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077960
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cola
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
PgDir.SQL.Clear;
   Query.SQL.Append('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb '); 
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
   Query.SQL.Append(' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ');
     PgDir.Prepare;
   PgDir.Open;


Странно, что один запрос очищается и выполняется, а заполняется - другой.
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077962
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cola
Поясню. Смысл в том, что бы сократить до минимума количество лишних операций. При постоянных подстановках запросов их слишком много получится. Почему к примеру перенос кода на другую строку воспринимается нормально, а перенос текстовой переменой в одинарных кавычках на другую строку вызывает ошибку. Должен быть какой-то способ его переносить правильно без совершения лишних операций конкатенации. которые в данном случае совершенно лишены всякого смысла.

Храни запросы во внешних файлах, тогда ты их ещё и править сможешь без перекомпиляции программы. Либо простые txt-шники, по одному на запрос, либо в каких-нибудь xml-ках в CDATA (для удобства редактирования).
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40077963
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем мелочиться - пусть хранит их прямо в базе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078004
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Cola
Поясню. Смысл в том, что бы сократить до минимума количество лишних операций. При постоянных подстановках запросов их слишком много получится. Почему к примеру перенос кода на другую строку воспринимается нормально, а перенос текстовой переменой в одинарных кавычках на другую строку вызывает ошибку. Должен быть какой-то способ его переносить правильно без совершения лишних операций конкатенации. которые в данном случае совершенно лишены всякого смысла.

Храни запросы во внешних файлах, тогда ты их ещё и править сможешь без перекомпиляции программы. Либо простые txt-шники, по одному на запрос, либо в каких-нибудь xml-ках в CDATA (для удобства редактирования).


Пока какой-нибудь весельчак их не поправит.
Хранение в базе данных при таком раскладе - оптимальный вариант. Тут хоть защиту можно организовать.
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078005
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkunzip.zip ©
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078015
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

pkunzip.zip ©

Г-ы-ы, хитрюга!
А тогда я просто грохну файл, а ещё лучше, переименую какую-нибудь левую шнягу в требуемый файл. Нехай не скучают!
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078022
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,
а вообще, ты победил. Если я не знаю содержимое файла, то зачем мне его переименовывать?
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078031
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Зачем мелочиться - пусть хранит их прямо в базе.
Самое правильное решение.
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078036
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cola
Можно ли каким-то способом

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

Создай компонент, хранящий текст или коллекцию текстов. И редактор свой к нему, чтобы подсветка и форматирование.
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078062
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
текст сохранить в файл и прикрепить как ресурс, вычитывать оттуда по надобности. редактировать будет просто и удобно прямо в среде, вычитывание - 5-6 строк кода. я у себя так патчи базы сохраняю, раньше вот тоже в pas хранил, криво косо и не удобно. а так пристегнул в ide как ресурс, файл виден в проектре, редактируется с подсветкой sql синтаксиса, можно править как угодно, в гите сохраняется. в общем, очень удобно.
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078086
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonприкрепить как ресурс

Внезапно, но такой ресурс это обычно DFM и... см. выше про задании запроса в design-time.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078110
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
makhaon
текст сохранить в файл и прикрепить как ресурс, вычитывать оттуда по надобности. редактировать будет просто и удобно прямо в среде


Язык Delphi прекрасен.
...
Рейтинг: 0 / 0
Как в переменную вставить большое кол-во строк?
    #40078116
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zeon11
Мимопроходящий

pkunzip.zip ©

Г-ы-ы, хитрюга!
А тогда я просто грохну файл, а ещё лучше, переименую какую-нибудь левую шнягу в требуемый файл. Нехай не скучают!

Кто тебе мешает exe-шник в блокноте подредактировать? Нехай не скучают! (с)
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как в переменную вставить большое кол-во строк?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]