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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

   

ymg2000



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

Цитата:
ну да, правой кнопкой мыши по dll добавить файл

Никогда так не делал.
Т.е. задача сводится к извлечению ресурса из dll.
Попробуй при помощи утилиты для работы с ресурсами, напр. Ресторатором просмотреть, какой тип ресурса у тебя получился (думаю RCDATA) и его порядковый Id (ResId).
 
Схема примерно такая:
....
var
  h : THandle;
  ResStream: TResourceStream;
.......................................
  h := LoadLibrary('MyRtfRes.dll');  
  ........................................
  ResStream := TResourceStream.CreateFromID(h, ResID, PChar(ResType));  
 
 
 
 

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 19:13 04-05-2008
mauar



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

Цитата:
Вы должны указать хэндл библиотеки, из которой вы будете грузить ресурс. Ну например:  
ResLibHandle := LoadLibrary(PChar('Library.dll'));  
LoadImage(ResLibHandle, MAKEINTRESOURCE(101), IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE);  

 
А вместо LoadImage сделать LoadFile ?

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 20:57 04-05-2008
scharhan

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет! ...плиз помогите...!!! найдите ошибки(((  
Задача такая..Нужно чтобы из главной программы вызывались модули которые решают  
1. Метод Хорд
2. Умножение матрицы на матрицу
3. Метод Рунге - Кутта
Курсач нужно уже завтра распечатать ....
вот тексты программ...
........................................
ГЛАВНАЯ
Подробнее...
.............................................
Метод Хорд
Подробнее...
..........................................
Умножение матрицы на матрицу
Подробнее...
..........................................................
Метод Рунге-Кутта
Подробнее...
....
Вот и сдать нам сказали 9 файлов
файлы pas и  tpu  и 1 файл exe. т.е. главная программа из которой все и работает(откомпилированная) и блоксхемы к ним.., но блок-схемы я уже сделал а проги не работают(((
ПЛИЗ ОТВЕТЬТЕ СЕГОДНЯ!!!
Заранее спасибо!!!!

Всего записей: 27 | Зарегистр. 26-04-2007 | Отправлено: 21:19 04-05-2008 | Исправлено: scharhan, 08:25 05-05-2008
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
scharhan
Во первых убери код в тег MORE, во вторых при чем тут твоя программа и Делфи?

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 08:00 05-05-2008
scharhan

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RomanTim
это паскаль, почти делфи))
я задавал тот же вопрос в теме "Задачи на Turbo Pascal 7.0 ", но там ни кто не отвечает!

Всего записей: 27 | Зарегистр. 26-04-2007 | Отправлено: 08:23 05-05-2008
fcdobpiy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а есть ли для делфи надстройка, которая делает, для выделенного в редакторе кода, отступ на один TAB ?
 такая вещь есть в Visual studio, очень удобно

Всего записей: 411 | Зарегистр. 22-08-2005 | Отправлено: 08:28 05-05-2008
PowerChute



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

Всего записей: 520 | Зарегистр. 13-10-2004 | Отправлено: 08:45 05-05-2008 | Исправлено: PowerChute, 09:57 05-05-2008
LordMAD



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fcdobpiy
Ctrl+Shift+I & Ctrl+Shift+U

Всего записей: 378 | Зарегистр. 01-10-2002 | Отправлено: 08:48 05-05-2008
Maks150988



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

Цитата:
А вместо LoadImage сделать LoadFile ?

 
До без разницы. Хэндл модуля мы уже получили. Теперь можно хоть что грузить из него... Только потом FreeLibrary вызвать чтобы выгрузить...

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 09:22 05-05-2008
fcdobpiy



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LordMAD
да , оно. спасибо.

Всего записей: 411 | Зарегистр. 22-08-2005 | Отправлено: 09:36 05-05-2008
lerthe61

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mauar
Умный совет:
Была сотворена какая-то непостижимая для меня и компилятора хрень. В собранной длл никакого файла RTF не будет.
Вот здесь можно увидеть как работать с ресурсами в Делфе:
http://articles.org.ru/docum/resurs.php

Всего записей: 74 | Зарегистр. 04-05-2007 | Отправлено: 10:06 05-05-2008
mauar



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

Цитата:
Умный совет:  
Была сотворена какая-то непостижимая для меня и компилятора хрень. В собранной длл никакого файла RTF не будет.  
Вот здесь можно увидеть как работать с ресурсами в Делфе:  
http://articles.org.ru/docum/resurs.php  

Ааа, даже так, хм, дружище а может ты тогда совет дашь или пример скинешь как в рессурсы этот RTF файл  добавить?

Всего записей: 134 | Зарегистр. 31-07-2006 | Отправлено: 11:26 05-05-2008 | Исправлено: mauar, 11:27 05-05-2008
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mauar
Так в этой же статье об этом и написано. В самом конце, про определенные пользователем ресурсы.

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 11:38 05-05-2008
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
scharhan
В том то и дело что почти, как ты предлагаешь этот код проверять - в делфи он не соберется, а обычный паскаль вряд ли кто-то до сих пор использует.  
И потом что конкретно не работает - не компилируется, падает с какими-то ошибками, все считает, но неправильно?

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 13:34 05-05-2008
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Короче у LENIN INC есть спертые исходники и переделанные под себя. Там есть пример реализации загрузки RTF файла из самого себя. Но при желании можно и из библиотеки загрузить, подправив код...))

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 19:32 05-05-2008
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Короче вопрос всем. Я так думаю что это косьян может я и открываю не первым, но меня что то это жутко моск разбило. Ну может знакомо такое название как TDataSet который в модуле DB.PAS? Сколько ему годков интересно? В датасете есть FBOF: Boolean и FEOF: Boolean. У меня в таблице товаров "водка" один товар. Один!!! Количество FRecordCount = 1! Оно не меняется!.. FBOF = False. FEOF = False.  
Файло которое читается DBF. Я вообще сначала думал косьян фибовский. А тут смотрю демки борлановские и понять не могу.  
 
1.Запись одна.
2.Предыдущих записей тоже нет.
3.Следующих записей тоже нет. И редахтить нельзя (следующую вставлять).
4.Кнопки DBNafigator то разрешены то запрещены. Я по ним различно клацаю.
 
Вопрос в следующем. Запись одна. Так если запись одна у датасета то это разве курсор не в начале и не в конце? Что-то я тихо с мозгом прощаюсь. Куда он будет скакать если запись одна? В чём смысл, или прикол, мне не понятно. Приду домой посмотрю как себя MSSQL в управлении компьютером ведёт. Я подозреваю что несколько не так.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 09:36 06-05-2008
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Все правильно.
Если запись одна, то флаг EOF будет выставлен только после вызова Next, BOF - после вызова Prior, в документации всё написано.
А то, что в таблице товаров "водка" остался только один товар, наводит на определенные размышления по поводу этого вопроса

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 09:43 06-05-2008
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
зы
Мне почему-то наш городок вспомнился. Там толстенький с натурально пропитой рожицей сидит за столом и на бутыльку вотки смотрит. Чёрненький просыпается и спрашиает: ты ещё не ушол? Тот ему типа - нет. -Так ты же за водкой обещал сбегать. Тот ему - так я и побегу за ней. Но вот я уже два часа сижу, смотрю на неё. А она не шелохнётся. Вот когда она побежит, тогда я её и догоню... *(
 
Добавлено:
До сих пор печальная история с моим мозгом. Я уже узнал что Eof так работает для резвых "прохрамеров" которые пишут while not Eof. Но почему DBActns тогда привязались к FEof? Почему то после следующего кода во всей программе стало адекватно.
 

Код:
procedure TBaseForm.actlBaseUpdate(Action: TBasicAction;
  var Handled: Boolean);
var
  I, RecCount, RecNo: Integer;
  A: TDataSetAction;
begin
  for I := 0 to actlBase.ActionCount - 1 do
    if actlBase.Actions[I] is TDataSetAction then
    begin
      A := TDataSetAction(actlBase.Actions[I]);
      if not Assigned(A.DataSource) then continue;
      if not Assigned(A.DataSource.DataSet) then continue;
      RecCount := A.DataSource.DataSet.RecordCount;
      RecNo := A.DataSource.DataSet.RecNo;
      if A is TDataSetFirst then
         A.Enabled := (RecCount > 1) and (RecNo > 1)
      else if A is TDataSetPrior then
         A.Enabled := (RecCount > 1) and (RecNo > 1)
      else if A is TDataSetNext then
         A.Enabled := (RecCount > 1) and (RecNo < RecCount)
      else if A is TDataSetLast then
         A.Enabled := (RecCount > 1) and (RecNo < RecCount)
    end;
end;

 
Аднако меньче пить надо, и зачем я это ИА пишу? ((

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 09:45 06-05-2008
JbBaD



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста.
Скачал пример бюрнера с dancemammal (Demos > Test Project)
http://www.dancemammal.com/downloads/file_info/download1.php?file=freeburner.rar
 
Зметил интересную "ошибку". При компиляции в Delphi 7, меню Options > View TOC работает.
Если тоже самое скомпилировать в Delphi 2007 TOC не работает.
 
Подскажите решение проблемы. Это баги 2007ой версии?

Всего записей: 563 | Зарегистр. 08-12-2001 | Отправлено: 18:22 06-05-2008
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
JbBaD
Скачал, скомпилил в 2007, все работает.
А отладчиком пройти, чтобы выяснить что именно не так, лень что-ли?

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 12:21 07-05-2008
   

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