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

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

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

ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

ShIvADeSt



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

Цитата:
Как мне сделать, когда я нажму на кнопку "Закрыть", то Form1 удаляется (исчезает из памяти) и появляется Form2.

Вот я не понитмаю, почему надо чтобы форма исчезала из памяти? Не проще ли Form1.Hide (или ShowWindow(Form1.Handle,SW_HIDE)
Form2.Show; а при закрытии второй формы наоборот, и гемора меньше, и проще

Цитата:
2. Что вы мне посоветуете? Если у меня есть RadioButton1 и RadioButton2 и при нажатии на кнопку меняется.  
Например Если checked RAdioButton1 тогда  
Появляется новая форма и на той форме меняется текст в RadioButton1 и в RadioButton2. Потому что мне где-то пять раз надо менять текст.  

Делаешь глобальную переменную счетчика MyCount, при нажатии на кнопку в первой форме делаешь Inc(MyCount)
Во второй форме в событии OnShow пишешь нечто подобное  
case Form1.MyCount of
1: begin
  RadioButton1.Caption:='qqqqqq';
  RadioButton2.Caption:='wwwwww';
end;
2: begin
  RadioButton1.Caption:='aaaaaaa';
  RadioButton2.Caption:='ssssssss';
end;
.....
а вообще вместо радио баттонов по отдельности я юзаю RadiоGroup, если разобраться правильно, то вместо дебильных  
if RadiButton1.Checked then... else  
  if RadioButton2.Checked then...
используется сл
 case RadioGroup.ItemIndex of
0:
1:
...
n-1
всего элементов n
насчет ItemIndex не уверен а запускать Дельфи не хотся (ибо утро еще) но что то в этом роде. Итого 10 минут изучения хэлпа по работе с радио группой, и часть проблем исчезает.

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

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:09 26-01-2005
TerraMozg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как в TAdvStringGrid обратиться к содержимому ячейки в скрытом столбце? Ведь счетчик столбцов равен счетчику только видимых столбцов? И обращение вида cells[col,row] дает обратиться только к ячейке в видимой части?

Всего записей: 7 | Зарегистр. 15-12-2004 | Отправлено: 12:09 29-01-2005
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
TerraMozg
А что если обращаться непосредственно к набору данных, а не к гридам, отображающим их?

----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 15:14 29-01-2005
EZH



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

Цитата:
А что если обращаться непосредственно к набору данных, а не к гридам, отображающим их?

А разве TAdvStingGrid работает с набором данных типа как БД-гриды? Я думал это просто расширенный TStringGrid, который сам по себе является хранилицем данных.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 16:22 29-01-2005
TerraMozg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Действительно,   EZH прав, TAdvStingGrid - это обычный StringGrid. Специально переделываю свою прогу, чтобы не пользовать кривой и глючный БДЕ. И если с хранением и обработкой данных уже все решил, то с отображением набора данных легкий проублем, так как не нашел Грида, могущего заменить Эхлибовский. По совету в этом форуме посмотрел на TAdvStingGrid, и за исключением некоторых вещей, он мне понравился. Но долгое копание в процедурах этого грида не привело к положительному результату, не разобрался как решить поставленную задачу. Поэтому вынужден обратиться к Коллективному Разуму этого форума.

Всего записей: 7 | Зарегистр. 15-12-2004 | Отправлено: 18:29 29-01-2005
YurikGL



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
>так как не нашел Грида, могущего заменить Эхлибовский
ИМХО лучше искать готовые гриды под БД чем пытаться TAdvStingGrid пользвать.  
Кстати, чем EhLib  не угодил?
 
Добавлено:
Поройся вот здесь http://www.torry.net/

Всего записей: 308 | Зарегистр. 02-09-2004 | Отправлено: 20:44 29-01-2005
TerraMozg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YurikGL
Я немного не так выразился. Я избавляюсь не только от БДЕ, но и вообще от движка базы данных. Все данные у меня хранятся в текстовом файле и обрабатываются по своим, разработанным мной, правилам. Тем самым достигается полная независимость от сторонних разработчиков и повышается моя крутость Шутка. Соответственно, любые ДБГриды уже неактуальны. Ehlib - замечательная штука, спасибо разработчику. Но в свете вышеописанного использовать его не представляется возможным. В старой версии, с использованием БДЕ, я пользовал только его и был жутко доволен.  
 
Одна из причин, которая послужила основанием для отказа от БДЕ - то, что во всех ДБГридах после выполнения SQL запроса к базе ползунок справа сходил с ума. Крайне некрасиво смотрится. Это вызвано, как я просчитал, тем, что текущее положение ползунка высчитывается по RECNO записи в БД, а максимальное значение ползунка - количество отобранных записей. Вот отсюда косяки и лезут. Как с этим бороться так и не разобрался. А вкупе с остальными недочетами решил сделать свой движок по работе с данными, облегченный. Меньше экзешник, и другие плюсы

Всего записей: 7 | Зарегистр. 15-12-2004 | Отправлено: 13:02 30-01-2005
YurikGL



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
>TerraMozg
 
 
Кроме BDE есть много других хороших вещей... Например, ADO или IB.  
У меня, кстати, никаких проблем с ползунком нет. А свой движок - дело хозяйское, но я бы не советовал изобретать велосипед.

Всего записей: 308 | Зарегистр. 02-09-2004 | Отправлено: 13:24 30-01-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
TerraMozg
Может тебе просто воспользоваться одним из компонентов а ля MemoryTable, т.е. это наследник стандартного TDataSet, и БД-гриды на них также вешаются, и работаешь также, только все данные хранятся им в памяти. А подгружай их из того же текстового файла или бинарного потока.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 14:54 30-01-2005
TerraMozg



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YurikGL
ADO вещь хорошая, но ее нет под win9x, т.е. надо доустанавливать. Да и подтормаживает. IB - сколько там инсталяшка Интербейса будет весить? Метров 17? И это для простенькой проги, работающей в однопользовательском режиме?
Свой движок хорош тем, что он заточен под конкретную задачу. Следовательно, оптимизирован и легок. А универсальность (движков) всегда вызывает дополнительные отрицательные эффекты - тормоза, глюки, и т.д. Все ИМХО По ползунку. Простейший пример - у меня в базе около 1500 записей. Сначала (физически в базе)идут записи с одним из полей, равным "1", штук 100, потом штук 600 с полем "2", ну и там остальные. Так вот, когда делаешь select по "2", то курсор по умолчанию в самом конце торчит, хотя указатель находится в начале набора данных. Вот такой вот глюк
 
EZH
Я уже думал на эту тему. В общем-то по этому принципу новый движок и построил, только без всех промежуточных Датасетов. А так да, данные отображаются в память, и там обрабатываются. В результате уже сейчас, на этапе тестирования движка, все летает, что и требовалось доказать Единственная проблема - с отображением... Может, посоветуешь другой Стринггрид, имеющий возможность скрывать столбцы и выделять прямоугольную область? Эх, если бы BERGовский грид мог мультиселект делать...
 
Если интересно, то мой проект размещен по адресу:
www.video.elcom.ru/filmoskop.htm
Там BDE-шная версия, и на этой неделе версию обновлю с пофиксенными глюками.

Всего записей: 7 | Зарегистр. 15-12-2004 | Отправлено: 21:38 30-01-2005 | Исправлено: TerraMozg, 21:39 30-01-2005
EZH



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

Цитата:
сколько там инсталяшка Интербейса будет весить? Метров 17?

Инсталляха последнего Firebird-1.5.2.4731-Win32.exe весит 2.6 метра
Сам сейчас на нем один из проектов пишу...
 
Имхо, такую систему всё-таки на DataSet-движке удобнее писать, а на SQL-сервере так вообще красота, имея SQL-запросы.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 22:51 30-01-2005
YurikGL



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
>ADO вещь хорошая, но ее нет под win9x, т.е. надо доустанавливать.
 
Яндекс тебе лучше подскажет, но ADO идет в том числе с оффисом.  
Из личного опыта - ни разу не видел машины на которой бы не пошло приложение ADO+MsAccess

Всего записей: 308 | Зарегистр. 02-09-2004 | Отправлено: 23:18 30-01-2005
TerraMozg



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

Цитата:
Инсталляха последнего Firebird-1.5.2.4731-Win32.exe весит 2.6 метра  

 
Спасибо, для будущих проектов поимею ввиду Но опять-таки ЛИШНИЕ 2,6 метра. И это при величине экзешника в 1 Мб. Кстати, в Firebird есть ограничение по максимальной длине полей? В стринггриде оно баснословно велико. По крайней мере, я в ячейку не напрягаясь загоняю код rtf-текста длиной около 20 тыс. символов.
 

Цитата:
а на SQL-сервере так вообще красота, имея SQL-запросы

 
SQL - сила! Но нужны ли все возможности SQL в моей задаче?
У себя в движке я уже сэмулировал нужный мне SQL-запрос с выборкой части данных по определенному признаку по нескольким полям. Осталось сделать запрос по комплексу условий ('and', 'or', 'not'), но меня пока держит StringGrid. А больше в моей задаче от SQL ничего и не надо Так что можно смело забивать на любой движок БД.
 
YurikGL

Цитата:
Из личного опыта - ни разу не видел машины на которой бы не пошло приложение ADO+MsAccess

 
Понял, спасибо. Просто свои мысли я выразил частично выше. Зачем пользователю ВОЗМОЖНЫЙ геморрой из-за ВОЗМОЖНОГО отсутствия драйверов? Когда система автономна и ни от чего не зависима - это, на мой взгляд, большой плюс.

Всего записей: 7 | Зарегистр. 15-12-2004 | Отправлено: 22:17 31-01-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кто-нибудь знает какие надо совершить телодвижения, чтобы убрать (спрятать) child форму из главного MDI-окна при минимизации?
 
 
   
 
?
 
заранее...

Всего записей: 25652 | Зарегистр. 06-12-2002 | Отправлено: 22:20 31-01-2005 | Исправлено: akaGM, 22:20 31-01-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Попробуй ShowWindow(qqqq,SW_HIDE)
где qqq это хэндл формы которую надо спрятать

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

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



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
http://forprogrammers.narod.ru/faqs/faq.html
 
 
Q: 19. Как правильно закрыть и удалить форму? Почему моя MDI Child форма
при закрывании просто минимизируется?
 
A: Обрабатывайте событие OnClose дл формы и выставлйте в нем параметр
Action в caFree. Дело в том, что его значение по умолчанию для MDI Child
форм =caMinimize. Кстати, если сделать Action := caNone, то форму нельзя
будет закрыть.
 

Всего записей: 308 | Зарегистр. 02-09-2004 | Отправлено: 07:55 01-02-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
да, спасибо...
я тоже на это на дельфи.about уже набрел...
 
http://delphi.about.com/cs/adptips2001/a/bltip1101_5.htm
 
ковыряюсь...
 
YurikGL
несколько не то... не "закрыть", а "спрятать при минимизации"...
 
всем спасибо...

Всего записей: 25652 | Зарегистр. 06-12-2002 | Отправлено: 14:55 01-02-2005
Farkhad



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, есть ли в Дельфе возможность анализировать текст через регулярные выражения?  
Пример:
 
имею
if (x>0) and (x<2) then
 
мне нужно искать в тексте подобные конструкции, т.е. с рег. выражениями это примерно
if (.*?) then

Всего записей: 731 | Зарегистр. 03-08-2001 | Отправлено: 18:11 01-02-2005
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
только при использовании доп библиотек...
 
http://www.jump.to/mkgal
http://anso.da.ru/
 
еще на Торри посмотри -- их там до фига...

Всего записей: 25652 | Зарегистр. 06-12-2002 | Отправлено: 18:36 01-02-2005
Farkhad



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

Всего записей: 731 | Зарегистр. 03-08-2001 | Отправлено: 19:22 01-02-2005
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi
ShIvADeSt (20-04-2006 01:53): http://forum.ru-board.com/topic.cgi?forum=33&topic=6679#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru