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

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

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

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

   

lavren



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто нибуть помочь?
Нужно программно переиндексировать базу данных которая хранится в DBF-файле!

Всего записей: 545 | Зарегистр. 29-05-2007 | Отправлено: 11:29 13-09-2007
antonn2

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

Цитата:
Нужно программно переиндексировать базу данных которая хранится в DBF-файле!

"о, святая простота!"
что за база то хоть?

Всего записей: 96 | Зарегистр. 13-11-2006 | Отправлено: 12:19 13-09-2007
lavren



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

Всего записей: 545 | Зарегистр. 29-05-2007 | Отправлено: 12:48 13-09-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chuvakstepan
Наверно я не понял твой пост, я думал что ты заменил TBitmapImage на TImage (сам компонент).

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 13:04 13-09-2007
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И ещё мои 5 копеек по поводу уменьшения ехе-шников: Очевидная вешь, если программа использует какие-нибудь 1-2 функции из "тяжёлых" модулей, то можно переписать эти функции к себе в unit, а из uses'ов этот "тяжёлый" можно удалить.
Ну и используйте StripReloc - немного подчищает exe-ник.
И ещё я ResourceHacker'ом (осторожно) удаляю из exe-шника неиспользуемые ресурсы.

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 13:10 13-09-2007
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
skinash
Если в модуле именно функции, а не методы классов, то в екзешник линкуются только те, что используются, так что перетаскивать их к себе смысла не имеет

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 13:14 13-09-2007
RostY



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lavren
через квери create index не пробовал ? типа как в хелпе пишут:

Цитата:
CREATE UNIQUE INDEX namex ON "employee.dbf" (last_name)

 
Добавлено:

Поздравляю всех Delphi-программистов с профессиональным праздником (256-м днем года). Желаю успешных компиляций, творческих успехов и финансового благополучия.
 
p.s. так как программисты на Си считают с нуля, то у них сегодня только 255-й день года

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 13:50 13-09-2007 | Исправлено: RostY, 13:50 13-09-2007
Chuvakstepan



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

Цитата:
StripReloc

Можно поподробней?
 
Добавлено:
RostY

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 15:07 13-09-2007
George_Lucky



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос:
 
Как из строки windows-1251 кодировки получить dos-866 ?

Всего записей: 413 | Зарегистр. 12-09-2002 | Отправлено: 15:12 13-09-2007
antonn2

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

Цитата:
p.s. так как программисты на Си считают с нуля, то у них сегодня только 255-й день года

бедные программисты на С, они встречают Новый Год когда все уже отметили... Тормоза
завтра у программистов на С будет переполнение, остерегайтесь %)

Всего записей: 96 | Зарегистр. 13-11-2006 | Отправлено: 15:21 13-09-2007
Jokerjar79



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

Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 15:36 13-09-2007
Grafus



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, ну поделитесь функцией проверки наличия сервиса на удалённой машине.
ПЛЗ

Всего записей: 397 | Зарегистр. 15-12-2004 | Отправлено: 15:48 13-09-2007
RostY



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

Цитата:
StripReloc
странно, что у тебя в "интересах" Inno Setup, а про StripReloc не знаешь (это разработки одного автора). - http://www.jrsoftware.org/striprlc.php  
програмка удаляет из ехе-файла relocation table, который там и не нужен (нужен только в ДЛЛ-ках). Много размера не выиграешь, но и ничего не теряешь.
 
Jokerjar79, George_Lucky  
CharToOem можно, но только когда у тебя в системе настроено OEMCP = 866 и ANSI CP = 1251. А иначе получишь не совсем 1251 в 866. Я бы советовал использовать свою табличку перекодировки.

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 15:51 13-09-2007 | Исправлено: RostY, 16:00 13-09-2007
mrrex



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
2: skinash
Моя 1 копейка....
А мона вопрос?  
 
Как "бедный С-шник" спорил с "Пасквилянтом" (без обид) и тот мне заявил, что у Делфей супероптимизирующий линкер. Так что неиспользуемый код из модулей просто не включает в результирующий exe.
 
Ну в С это было еще в ДОСе. Так нафига переписывать функции из больших модулей? Линкер все равно уберет мусор.

Всего записей: 110 | Зарегистр. 11-12-2005 | Отправлено: 15:58 13-09-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
StripReloc не помог
Но вот помогло!:

Код:
uses
    Windows;
   {$SETPEFLAGS IMAGE_FILE_RELOCS_STRIPPED}

Выйграл килобайт 50
 
Добавлено:
А вообще в интернете много статей по поводу уменьшения размера, буду изучать

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 16:02 13-09-2007 | Исправлено: Chuvakstepan, 16:09 13-09-2007
Jokerjar79



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mrrex, проверим?
 
1 случай:
 

Код:
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
begin
 writeln(StrPas('Hello'));
 readln;
end.

 
2 случай:
 

Код:
program Project1;
 
{$APPTYPE CONSOLE}
 
function StrPas(const Str: PChar): string;
begin
  Result := Str;
end;
 
begin
 writeln(StrPas('Hello'));
 readln;
end.
 

 
Мусор то он удаляет, но вот инициализирующие и прочие процедуры - нет, поэтому разница в размере все-таки есть
 

Всего записей: 710 | Зарегистр. 08-09-2007 | Отправлено: 16:05 13-09-2007
relictus

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

Цитата:
А вообще в интернете много статей по поводу уменьшения размера

Например, вот эта: Уменьшаем Exe, удаляя релоки без сторонних утилит

Всего записей: 3771 | Зарегистр. 19-04-2005 | Отправлено: 16:21 13-09-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
relictus прав
{$SETPEFLAGS IMAGE_FILE_RELOCS_STRIPPED} я  взял именно оттуда

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 16:25 13-09-2007
SergeBS



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lavren
А теперь расшифруй, что у тебя называется DBE. Сколько лет БД занимаюсь, а про такого зверя не слышал.
И заодно: а не путаешь ли ты случайно переиндексацию с изменением ФИЗИЧЕСКОГО расположения записей.
Построить новый индекс или обновить его - это вообще не задача, 1-3 строчки кода. А вот переколбасить dbf-ник, чтобы в нем изменился физический порядок записей - это малость сложнее.
 
 
Добавлено:
mrrex

Цитата:
Как "бедный С-шник" спорил с "Пасквилянтом" (без обид)

Тогда уж  Как "бедный наСильник" спорил с "Пасквилянтом" (без обид) .

Всего записей: 272 | Зарегистр. 19-04-2005 | Отправлено: 17:22 13-09-2007
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SergeBS
Ставлю на dBASE через BDE

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 17:40 13-09-2007
   

Страницы: 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 (все версии) - часть 3
ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru