Перейти к содержимому

Фотография

Delphiпомощь, консультация


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 239

#61
Ybray

Ybray
  • Гость
  • 24 сообщений
вроде нужен наследник от listview, после прикрепить checkbox/checklistbox самому, но как?
  • 0

#62
sobol

sobol
  • Постоялец
  • 388 сообщений
Ну либо играйтесь со свойством СheckBoxes, либо перехватывайте событие OnCustomDraw и рисуйте то что нужно.
  • 0

#63
Ybray

Ybray
  • Гость
  • 24 сообщений
спс за ответ пред. вопроса.
есть проблема: на форме есть edit'ы, кнопочки, listview. необходимо при изменений размера формы также изменять размер listview'а. видно что нужно использовать событие onresize. какие значения нужно брать для формы и для listview'а?
  • 0

#64
sergei_l

sergei_l
  • Гость
  • 5 сообщений
:laugh: .
  • 0

#65
Big Joe

Big Joe
  • Постоялец
  • 316 сообщений

спс за ответ пред. вопроса.
есть проблема: на форме есть edit'ы, кнопочки, listview. необходимо при изменений размера формы также изменять размер listview'а. видно что нужно использовать событие onresize. какие значения нужно брать для формы и для listview'а?


Align ?
  • 0

#66
Ybray

Ybray
  • Гость
  • 24 сообщений
приходится делать все ручками. :laugh:
align здесь не подойдет
  • 0

#67
Ybray

Ybray
  • Гость
  • 24 сообщений
почти решил. кратко: короче нужно в onresize привязать изменяемые размеры формы с listview.
  • 0

#68
sobol

sobol
  • Постоялец
  • 388 сообщений
Использование панелей и Align=Client избавит вас от гимора с ресайзом.
  • 0

#69
Ybray

Ybray
  • Гость
  • 24 сообщений
вопрос: выполняется ли автотранзакция при вызове query1.execsql?
  • 0

#70
Big Joe

Big Joe
  • Постоялец
  • 316 сообщений

вопрос: выполняется ли автотранзакция при вызове query1.execsql?


Научись спрашивать если хочешь получить нормальный ответ.
  • 0

#71
Ybray

Ybray
  • Гость
  • 24 сообщений


вопрос: выполняется ли автотранзакция при вызове query1.execsql?


Научись спрашивать если хочешь получить нормальный ответ.


научите меня спрашивать, хотелось бы узнать в каком месте непонятно
  • 0

#72
Ybray

Ybray
  • Гость
  • 24 сообщений
запрос: select * into table_1 from table_2 where поле_1 = значение_1
нужно переделать под мускул.
спс.

Сообщение отредактировал Ybray: 17.03.2010, 18:01:22

  • 0

#73
Big Joe

Big Joe
  • Постоялец
  • 316 сообщений

запрос: select * into table_1 from table_2 where поле_1 = значение_1
нужно переделать под мускул.
спс.


Вопросы нужно задавать конкретно. Что такое автотранзакция? Что такое Query1? К какому классу он относится? Какое СУБД? Какой класс используешь для соединения с БД?

Сообщение отредактировал Big Joe: 17.03.2010, 21:13:38

  • 0

#74
sobol

sobol
  • Постоялец
  • 388 сообщений
Big Joe - ну что вы усложняете :spy:

MySQL да и любой другой SQL используемый в компонентах класса TQuery не требует вызова процедур StartTransaction|EndTransaction, по крайней мере в десятках проектов написанных мной я даже не заморачивался этим, а вот если используется FireBird - то тогда уже есть причина их использовать. Учитывая что YbRay явно новичок, можно предположить что работает он банально с MS Jet - то бишь с Access-ом или на крайний случай вообще с Paradox - в обоих случаях ответ - да, принудительная реализация механизмов транзакций не требуется, если не подразумевается, что одновременно с записью будут работать несколько пользователей, да и то в этом случае ошибок не возникнет, кроме нарушения логики работы приложения и некорректного, точнее неактуального отображения данных.

Ybray: select * into table_1 from table_2 where поле_1 = значение_1 - я так понимаю вы хотите данных из одной таблице вставить в другую.

Ничто мешает вам сделать так:

Query1.SQL.Text:='SELECT * From table_2 where поле_1 = значение_1';
Query1.Active:=true;
Query2.SQL.Text:='INSERT INTO table_1 (поле_1, поле_2...) VALUES (:par1,:par2,....)';
for i:=1 to Query1.RecordsCount do begin
Query2.ParamByName('par1').AsInteger:=Query1.Fields[0].AsInteger;
Query2.ParamByName('par1').AsString:=Query1.Fields[1].AsString;
// это для нативного MySQL. Для MS Access надо писать:
// Query2.Parameters.ParamByName('par1').Value:=...
Query2.ExecSQL;
Query1.Next;
end;
Query1.Active:=false;

Сообщение отредактировал sobol: 19.03.2010, 00:41:36

  • 0

#75
Big Joe

Big Joe
  • Постоялец
  • 316 сообщений

Big Joe - ну что вы усложняете :D

MySQL да и любой другой SQL используемый в компонентах класса TQuery не требует вызова процедур StartTransaction|EndTransaction, по крайней мере в десятках проектов написанных мной я даже не заморачивался этим, а вот если используется FireBird - то тогда уже есть причина их использовать. Учитывая что YbRay явно новичок, можно предположить что работает он банально с MS Jet - то бишь с Access-ом или на крайний случай вообще с Paradox - в обоих случаях ответ - да, принудительная реализация механизмов транзакций не требуется, если не подразумевается, что одновременно с записью будут работать несколько пользователей, да и то в этом случае ошибок не возникнет, кроме нарушения логики работы приложения и некорректного, точнее неактуального отображения данных.


Так я объясняю начинающему как правильно задавать вопросы, на других форумах ведь и удалить могут ветку. Да, и опыта у меня может и меньше чем у вас, но я никогда не видел что бы в принципе у Query стартовали транзакцию, у сессии Да, но что бы у TQuery ..........???? Например если бы он сказал что работает с БД Оракул, с помощью ODAC, тогда я бы посоветовал стартовать транзакцию у сессии и отключить (conn.autocommit := false) затем выполнять проверку IsTransaction, при надобности стартовать заново.
Если бы он написал что использует MySQL с помощью ZEOS, стартовать транзакцию у сессии не нужно, но нужно отключить автокоммит методом SetAutocommit(false). А гадать что он использует, по признакам новичок он или нет, глупо мне кажется.
  • 0

#76
sobol

sobol
  • Постоялец
  • 388 сообщений
Правильно заданный вопрос - будет уже содержать в себе ответ. :D А догадаться чего хочет Царь - это уже искусство ;) Научится, никуда не денется...
  • 0

#77
Ybray

Ybray
  • Гость
  • 24 сообщений
спс за ответы. разобрался.
  • 0

#78
Aka Nur

Aka Nur
  • Случайный прохожий
  • 2 сообщений
привет !

Сообщение отредактировал Aka Nur: 28.03.2010, 17:45:23

  • 0

#79
Ybray

Ybray
  • Гость
  • 24 сообщений
listview: в oncustomdrawsubitem при ownerdraw = false я могу выделить только всю строку или весь столбец? а допустим если нужно выделить только ячейку? если да то как? спс.
  • 0

#80
sobol

sobol
  • Постоялец
  • 388 сообщений
Вместо заморочек с листвью в плане работы с ячейками, мне кажется проще использовать более удобный для таких целей компонент - StringGrid или DrawGrid
  • 0


Количество пользователей, читающих эту тему: 0

пользователей: 0, неизвестных прохожих: 0, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.