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

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

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

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

V1s1ter



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

Цитата:
Не было ли попытки зарегистрировать компонент вне пакета, через Install Component?  
Кстаии, какая версия дельфей? Последние сервиспаки, фиксы установлены? Сколько дельфей стоит на машине? С гороскопом сверялись?

Небыло, 2007+..+Update3. Да, Одна, Нет.
Компонент для выбора цвета - 1 dpk, 400 kB исходников (100 kB в архиве)  
http://rapidshare.com/files/245177440/mbColor_Lib.rar.html
Может попробуешь у себя?

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 17:37 16-06-2009
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Можно покилять хендлы через Process Explorer. Должно сработать.
gvidon2009
Говорят можно Lazarus + KOL-CE использовать.
staich
Дамп памяти сделать несложно, для этого есть куча прог. А вот разобратся в работе чужой проги довольно сложно даже владея в совершенстве OllyDbg.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 17:48 16-06-2009
Xaoc666

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
V1s1ter
Установил, собрал, создал тестовый проект, положил пару компонент, откомпилил, запустил, ткнул несколько раз, закрыл дальфю, открыл дельфю, открыл тестовый проект, откомпилил, запустил, закрыл дельфю, открыл дельфю, удалил пакет из IDE, закрыл дельфю, открыл дельфю, собрал, установил, запустил тестовый проект...  
Никаких ошибок, все отстроилось, все удалилось. Delphi7 Lite v7.3.2.3 build 8.1.
Поэтому и сижу на семерке, не рыпаюсь...

Всего записей: 31 | Зарегистр. 13-12-2006 | Отправлено: 18:43 16-06-2009
V1s1ter



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Xaoc666
Спасибо.
Если судитьпо нику, у Вас должно стоять хотябы CodeGear RAD Studio 2010 (Weaver)14.0.3449.21988.2
 

Всего записей: 948 | Зарегистр. 06-02-2007 | Отправлено: 18:53 16-06-2009
ShIvADeSt



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

Цитата:
Расписание. Запись клиента ведётся в таблицу, где есть:
 - дата
 - время начала
 - время окончания
 - к_кому_записан
 - в какой кабинет записан
 
 - фио клиента, телефон и т.д.
Кому-нибудь доводилось такое реализовывать?

В чем конкретно сложности? Обычная БД, ничего сверхъестественного. Несколько дочерних таблиц плюс основная. Если тебе надо готовое решение - то вряд ли у кого было точно такое же, хотя подобная база пишется за день максимум (если у заказчика есть готовый интерфейс вернее его представление).
delover

Цитата:
Подскажите пожалуйста, а есть ли таеок средство, чтобы когда я пишу dll эксперт для дельфи, чтобы мне было пофиг сколько раз было LoadLibrary? Пофиг сколько процессов это делало. Просто я сказал унлоад и делете файл. Можно ли так сделать и есть ли кардинальные средства? Експерты тема интересная, хотелось бы попробовать в реал-тайм.

Unlocker это умеет делать. Плюс у меня где то валяются исходники модулей которые могут делать выгрузку библиотеки из памяти процессов. Если Unlocker не пойдет - то поищу.


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

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:59 17-06-2009
dr1v3



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла задача оптимизировать массив. Есть определенного размера массив данных типа Integer, нужно найти одинаковые значения элементов, сложить их и удалить дубликаты. Как это сделать наиболее эффективно?
Пример:  
массив - 2 3 4 3
нужно - 2 6 4
Порядок значения не имеет.
 
Просто записей в массиве очень много, моя реализация выполняется очень долго и со сбоями. Хочу узнать ваши мнения.

Всего записей: 13 | Зарегистр. 29-04-2008 | Отправлено: 17:20 17-06-2009 | Исправлено: dr1v3, 17:43 17-06-2009
Xaoc666

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dr1v3
Задача непонятна. Во-первых для оптимизации нужно четко представлять сферу применения кода, чтобы установить ограничения.. Каков разброс значений? Каков средний размер массива? Как часто выполняется эта процедура? Чем можно пренебречь - памятью, точностью? И вообще, может этого делать не надо, а копать нужно в другом месте?
 
Во-вторых не совсем понятно, что значит
Цитата:
и удалить дубликаты
. Если это массив, а не список, то удалить его элементы - это либо выделение памяти нового размера, либо установка неких флагов "удаленный элемент". Какой из способов нужен?

Всего записей: 31 | Зарегистр. 13-12-2006 | Отправлено: 20:27 17-06-2009
dr1v3



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажем, есть некий StringGrid с полями: имя, код, сумма. Что бы было понятнее обьясню на примере.
 
Вася    10   50.00
Петя    11   30.00
Женя   12   20.00
Володя13   10.00
Вася    10   40.00
Володя13   90.00
Петя    11    80.00
 
Таблицу нужно привести к виду
Вася    10   90.00
Петя    11   110.00
Женя   12   20.00
Володя13   100.00
 
Таких строк в таблице ~50 000. Вот тут как раз важна точность, память не критична, скорость выполнения важнее. Для удаления строк есть своя функция вида  

Код:
with SG do begin
  if (RowToDelete>=0) and (RowToDelete<RowCount) then begin
    for i:=RowToDelete to RowCount-2 do
      Rows[i].Assign(Rows[i+1]);
    RowCount:= RowCount-1;
  end;
end;
 
 
Извините если туплю, возникла необходимость нацарапать такую программку для работы.

Всего записей: 13 | Зарегистр. 29-04-2008 | Отправлено: 21:00 17-06-2009 | Исправлено: dr1v3, 21:12 17-06-2009
Figaro2000

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dr1v3
лично я реализовывал бы через in-memory dataset (kbmMemTable) -  
1. создается таблица нужной структуры, нужные индексы для сортировки
2. добавляются записи из источника
3. в результате - таблица (dataset), который потом можно крутить как угодно - ввод и корректировка, расчет, аналитика, отчеты, графика. То, что ты показал в примере - простейший отчет с группировкой
50000 записей для kbmMemTable - мелочь, доводилось обрабатывать и бОльшие объемы,
скорострельность очень приличная.
Чем не устраивает?

Всего записей: 245 | Зарегистр. 24-09-2005 | Отправлено: 21:17 17-06-2009
dr1v3



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно более "велосипедным" способом, за рамки StringGrid не охота выходить?

Всего записей: 13 | Зарегистр. 29-04-2008 | Отправлено: 22:38 17-06-2009
ShIvADeSt



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

Цитата:
А можно более "велосипедным" способом, за рамки StringGrid не охота выходить?

Судя по всему у тебя каждому имени соотв код. Тогда делай массив записей вида
myRec = record
 Num:integer;
 Name : string[20];
 Sum: real;
end;
myArr : array[1..50000] of MyRec;
 
загоняешь туда все записи из стрингрида, сортируешь хоть пузырьком хоть чем Num в порядке возрастания, а потом уже загоняешь в гриду при этом пока подряд идут одинаковые Num то суммируем Sum, иначе записываем итоговую сумму в гриду.
ЗЫ. при помощи SQL это решается одной строкой и менее секундой длительности

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

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:00 18-06-2009
Figaro2000

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

Цитата:
ЗЫ. при помощи SQL это решается одной строкой и менее секундой длительности

оть и я про то же - не тем микроскопом гвозди забиваются, типичная БД-задача  

Всего записей: 245 | Зарегистр. 24-09-2005 | Отправлено: 07:24 18-06-2009
dr1v3



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt: Спасибо, так и сделаю. Я планировал всё это дело в SQLite загнать, но это надо весь код перелопачивать, а прога нужна уже и сейчас. После переделаю.

Всего записей: 13 | Зарегистр. 29-04-2008 | Отправлено: 08:06 18-06-2009 | Исправлено: dr1v3, 08:11 18-06-2009
RS85



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, какой-то странный глюк.
У меня Delphi 2007.
 
Если я например, в какой-то процедуре или функции вставляю блок обработки исключений try  
......
except
 
end;
 
то после этой вставки, у меня в среде IDE начинаются странности. Например, если подвести курсор к процедуре, объекту и т. д., например TS.Free, то среда разработки не показывает всплывающее окошко, где написана вся иерархия объекта, или все свойства или методы, которые у него есть, а всплывает пусто окошко.
 
До блока
try  
except
 
все нормально... Почему так может происходить?

Всего записей: 588 | Зарегистр. 07-02-2007 | Отправлено: 11:26 18-06-2009
dr1v3



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
Почему?
Возникает при StrToInt(StringName);

Всего записей: 13 | Зарегистр. 29-04-2008 | Отправлено: 17:08 18-06-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dr1v3
а какого максимальное значение INT? возможно StrToInt64 поможет...

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 17:10 18-06-2009
dr1v3



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

Всего записей: 13 | Зарегистр. 29-04-2008 | Отправлено: 17:32 18-06-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Frodo_Torbins
ShIvADeSt
Спасибо, это помогает хотябы только один раз перегружать Дельфи. Я так подумал, что если рвать все интерфейсы жёстко, то потом всё равно будет сложно работать - лучше перегрузить. Я попробовал делать немного иначе и накидал демку. Если не сложно - гляньте пожалуйста. Извините там просто пара кнопок в общем...
http_//ifolder.ru/12715398
 
ShIvADeSt
Унлокер я скачал, вот исходники тоже было бы интересно взглянуть.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 09:17 19-06-2009
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Первое впечатление после работы с этим, что такой проблемы никогда не существовало. )

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 10:36 20-06-2009
Aleksandr N

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

Всего записей: 1665 | Зарегистр. 25-02-2008 | Отправлено: 19:37 20-06-2009
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru