|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2009, 23:48 | #1 |
Пользователь
Регистрация: 17.12.2009
Сообщений: 18
|
поисковик в DLL
Delphi7
Есть программа (назову ее программа А), которая позволяет формировать и обрабатывать итоговые ведомости сессии групп студентов одного курса(осуществять различные типы поисков). Программа должна позволять: 1.заносить данные о сдаче той или иной дисциплины каждым студентом(дисциплины заданы, их вписывать не надо); 2. осуществлять поиск по фамилии студента резальтата сдачи им сессии ; 3.осуществлять поиск студентов, сдавших указанную дисциплину на определенную оценку. Эта программа А для осуществления поиска (поиск по дисциплине и по фамилии студента) обращается к библиотеке динамической компановки DLL, код которой написан ниже (назову ее программа В). Поиск по фамилии осуществляется правильно, а вот по дисциплине не совсем корректно. Выводит фамилии всех студентов, кроме первого, вне зависимоти от заданных оценок. Думаю, что ошибка именно в программе В(в так называемом поисковике). Вот код программы В: library task_11_1; { Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. } uses ShareMem, SysUtils, Classes; {$R *.res} procedure Searsh_Fam(Fam:string;mas:array of string;var num_fam:integer); var i:integer; begin for i := 1 to Length(mas) do begin if fam=mas[i] then num_fam:=i; end; end; procedure searsh_subject(subject:array of string; mark:string; var fams:array of integer); var i,q:integer; begin q:=0; for i := 1 to Length(subject) do begin if mark=subject[i] then begin fams[q]:=i; q:=q+1; end; end; end; exports Searsh_Fam,searsh_subject; begin end. Последний раз редактировалось LeDиNkо; 18.12.2009 в 00:16. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
какой поисковик используете? | Alar | Свободное общение | 66 | 10.05.2009 22:52 |
поисковик C# | Neymexa | Общие вопросы .NET | 8 | 29.03.2009 10:39 |
поисковик C# | Neymexa | Помощь студентам | 2 | 27.03.2009 22:28 |