Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 23:48   #1
LeDиNkо
Пользователь
 
Аватар для LeDиNkо
 
Регистрация: 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.
LeDиNkо вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
какой поисковик используете? Alar Свободное общение 66 10.05.2009 22:52
поисковик C# Neymexa Общие вопросы .NET 8 29.03.2009 10:39
поисковик C# Neymexa Помощь студентам 2 27.03.2009 22:28