Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Нужены консультации по Delphi

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

V2ad

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BEN
А че масштабировать-та? Интерфейс на экране, или само приложение?

Всего записей: 19 | Зарегистр. 26-01-2004 | Отправлено: 13:43 21-03-2005
mutano



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BEN
Если интерфейс надо менять с изменением размера формы, то тогда в событии онресиз формы задаешь параметры хейт, вейт (высота, ширина) и лефт, топ (расстояние в пикселах от левого края формы и от верхнего) у компонентов относительно размеров формы.

Всего записей: 568 | Зарегистр. 10-03-2005 | Отправлено: 15:16 21-03-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BEN
постмотри в сторону свойства  Anchors - оно поможет поганять размеры автоматом

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 15:38 21-03-2005
BEN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
V2ad
mutano
OdesitVadim
Я пишу приложение в одном разрешении экрана но как понимаете данное приложение может быть запущено и под другими разрешениями ... соответственно необходимо масштабировать как саму форму так и ее контролы ... пробовал разные способы типа scaleby, вычислять коэффициенты .... вот еще вопрос какой шрифт выбрать при разработке ... по умолчанию ms sans serif
 
хотелось бы что то работающие

Всего записей: 141 | Зарегистр. 18-05-2004 | Отправлено: 06:02 22-03-2005 | Исправлено: BEN, 06:08 22-03-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BEN
Эксперименты, эксперименты, эксперименты...
А иначе никак. Пока пару десятков экземпляров не отладишь - никто не поможет. Где испытывать? На друзьях!

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 11:57 22-03-2005
mutano



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BEN
Screen.Width - ширина экрана в пикселах
Screen.Height - высота экрана в пикселах
А потом как я говорил, только, вот как размер шрифта выбирть не знаю

----------
Одна голова хорошо, а два сапога - пара.

Всего записей: 568 | Зарегистр. 10-03-2005 | Отправлено: 12:42 22-03-2005 | Исправлено: mutano, 12:43 22-03-2005
BEN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ситуация такая ... использую mysql+delphi+zeoslib ... есть таблицы с autoincrement полем ID ...  как при вставке новой записи через Qry узнать новый ID... я использую в данный момент Select Last_insert_id() но как я понимаю можно использовать сам Qry и его свойство для получения значения ID

Всего записей: 141 | Зарегистр. 18-05-2004 | Отправлено: 14:17 23-03-2005
V2ad

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BEN
Если такая возможность есть, то тоже интересно, так как ничего лучше LAST_INSERT_ID(), не знаю

Всего записей: 19 | Зарегистр. 26-01-2004 | Отправлено: 16:14 24-03-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BEN
Кажется, в RXLIB такая вещь была (не помню точно). Но не лучше ли оставить масштаб на выбор пользователя: захочет покрупнее - сделает шрифт побольше в системе. Остальные размеры под него подстраиваются.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 18:39 24-03-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BEN
Попробуй Select Max(ID) from *** должно вернуть максимальный а следовательно последний.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:13 25-03-2005
BEN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
Я раньше пользовался таким подходом
Цитата:
Select Max(ID) from ***  
... потом прочитал про LAST_INSERT_ID() - данный подход поволяет определить последний ID в текущей сессии

Всего записей: 141 | Зарегистр. 18-05-2004 | Отправлено: 09:34 25-03-2005
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BEN

Цитата:
Ситуация такая ... использую mysql+delphi+zeoslib ... есть таблицы с autoincrement полем ID ...  как при вставке новой записи через Qry узнать новый ID... я использую в данный момент Select Last_insert_id() но как я понимаю можно использовать сам Qry и его свойство для получения значения ID

Прога много пользовательская?
Если да, тогда заведи отдельную табличку в которой храни ID. И увеличивай его постоянно. Не зависимо от того были удаления или нет. Если есть триггера или еще лучше хранимые процедуры, оберни увеличение значения в процедурину. А в триггерах проверяй значения поля, если NULL, тогда генерация нового значения.
Если нет, тогда можешь выбирать по МАХ.
А вобще-то не экономь на Query, пускай у тебя будет отдельный Query для получения значения ID.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 16:22 25-03-2005
V2ad

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vserd Че-та ты усложняешь, по моему. Проще LAST_INSERT_ID() в MySQL ничего нету. К чему еще таблицы-триггера-хранимые процедуры городить - все это прогу не ускорит и надежнее не сделает

Всего записей: 19 | Зарегистр. 26-01-2004 | Отправлено: 17:01 25-03-2005
BEN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vserd
Да у меня приложение сетевое .. проблема в то что я пока не знаю как работать с триггерами и хранимыми процедурами под MySQL ... хотя слышал что так делают под Oracle ..
 
У меня вот какой вопрос .. есть главный DataSet и подчененные все они завязаны через MasterSource по ключевому полю ... вставку - модифекацию и удаление выполняю через коппонент Update (т.е. у каждого DataSet есть свой Update) ... на стороне сервера все таблицы завязаны связями с правилом Update Cascade - Delete Cascade ... так вот при удалении или создании новой записи или модефикации достаточно ли будет выполнять ApplayUpdates для главного DataSet ?

Всего записей: 141 | Зарегистр. 18-05-2004 | Отправлено: 07:17 28-03-2005
Dim2004

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Попробуй Select Max(ID) from *** должно вернуть максимальный а следовательно последний.

Вы эта... поосторожнее . А то схватить чужой ID таким образом - как два пальца об асфальт .

Всего записей: 222 | Зарегистр. 11-05-2004 | Отправлено: 10:54 29-03-2005
V2ad

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Вы эта... поосторожнее

Вот-вот и я говорю.
 

Цитата:
 и хранимыми процедурами под MySQL

Ну, насколько мне известно, то нету там хранимых процедур как в оракле. В оракле все на pl/sql пишется, а ежели очень надо хр.проц. в Mysql, то добро пожаловать в си-сиплюсплюс. На нем можно, правда, MySql должен быть соответствующим образом отконфигурирован

Всего записей: 19 | Зарегистр. 26-01-2004 | Отправлено: 21:12 30-03-2005
BEN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как после post или applyupdate обновлять значение полей текущей записи в DataSet'е.  
и еще кто нибудь знает где можно взять мануал по zeoslib ... порыл интернет .. как то напряги с доками

Всего записей: 141 | Зарегистр. 18-05-2004 | Отправлено: 14:28 06-04-2005
V2ad

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
подскажите как после post или applyupdate обновлять значение полей текущей записи в DataSet'е

Dataset.Refresh

Цитата:
и еще кто нибудь знает где можно взять мануал по zeoslib

А чё там, вроде все просто, без наворотов, только под конкретные СУБД заточено.

Всего записей: 19 | Зарегистр. 26-01-2004 | Отправлено: 15:07 06-04-2005 | Исправлено: V2ad, 15:09 06-04-2005
BEN



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть dataset с некой выборкой ... неообходимо временно выборку скинуть во временное хранилище а потом данные вернуть в dataset.
посмотрел есть как бы много вариантов
   FromQry.First;
   While not FromQry.Eof do
   begin
    InQry.Insert;
   For i:=0 to FromQry.FieldCount-1 do
    InQry.Fields[i].Value := FromQry.Fields[i].Value;
    InQry.Post;
    InQry.Next;
   end;
 
или использование TMemDataset .. и вот нарыл RxMemoryData .. кто нибудь работал с ним если да как быстро он позволяет сохранять например выборку из 10000 и более записей

Всего записей: 141 | Зарегистр. 18-05-2004 | Отправлено: 14:20 13-04-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BEN
Зачем? 10000 выборок это памяти не мало (осовенно если ещё БЛОБ поля будут ).
Вариант А) Поставить ещё один dataset и воспользоваться BatchMove. Он как раз и предназначен для копирования и перемещения данных с разнообразными извратами - например скопировать записи, которых нет в другом.
Вариант Б) А может проще сделать ещё раз выборку?

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 14:31 13-04-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Нужены консультации по Delphi


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru