0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 18
1

Создание Dll библиотеки

04.02.2014, 21:08. Показов 1216. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
проблема с выводом результата на экран. Библиотку нужно создать для функции nalichie
Delphi
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
  Function nalichie (a,b: array of real; n: integer): Boolean;
  var
     i: Longint;
 
  begin
     Result:= True;
     i:= 0;
 
 
   repeat
   if a[i] = b[i] then Result:= False
   else i:=i+1;
   Until (i>n) or (Result= False);
 
    if Result then
    ShowMessage ('Â ìàññèâàõ íåò ðàâíûõ ýëåìåíòîâ')
    else
    ShowMessage ('Â ìàññèâàõ åñòü ðàâíûå ýëåìåíòû');
  end;
 
  procedure TForm1.Button3Click(Sender: TObject);
  var
     i: Longint;
 
  begin
   n:=10;
     SetLength(a,n);
     SetLength(b,n);
   for i:=0 to n-1 do
      a[i]:= StrToFloat (StringGrid1.cells[i,0]);
   for i:=0 to n-1 do
      b[i]:= StrToFloat (StringGrid2.cells[i,0]);
    nalichie (a,b,n)
end;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2014, 21:08
Ответы с готовыми решениями:

Создание библиотеки динамической компоновки (DLL)
Ребята с задачой разобратся помогите Условия и варианты внутри папки файла лабаоопр.дос

Создание и использование динамически подключаемой библиотеки (dll)
Разработать библиотеку подпрограмм!! Подпрограммы обработки двухмерного массива: формирование...

Библиотеки dll
Всем привет, как зделать вывод процедуры из длл на нажатие кнопки код длл library cal; uses...

Инжектирование DLL-Библиотеки в процесс
В прошлый раз создал тему "Как в Delphi перехватывать обращения к реестру?", там мне один умный...

8
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.02.2014, 21:15 2
Цитата Сообщение от Slavan71rus Посмотреть сообщение
проблема с выводом результата на экран
Убери вывод на экран - и вот уже не по кр.мере пол-проблемы.
1
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 18
04.02.2014, 21:17  [ТС] 3
сделал примерно так
Поместил в библиотеку
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  Function nalichie (a,b: array of real; n: integer): Boolean;
  var
     i: Longint;
 
  begin
     Result:= True;
     i:= 0;
 
 
   repeat
   if a[i] = b[i] then Result:= False
   else i:=i+1;
   Until (i>n) or (Result= False);
   end;
exports nalichie;
 
begin
end.
после чего импортировал её в программу
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  Function nalichie (a,b: array of real; n: integer): Boolean;
external 'Project2.dll';
 
  procedure TForm1.Button3Click(Sender: TObject);
  var
     i: Longint;
 
  begin
   n:=10;
     SetLength(a,n);
     SetLength(b,n);
   for i:=0 to n-1 do
      a[i]:= StrToFloat (StringGrid1.cells[i,0]);
   for i:=0 to n-1 do
      b[i]:= StrToFloat (StringGrid2.cells[i,0]);
    nalichie (a,b,n)
end;
    if Result then
    ShowMessage ('Â ìàññèâàõ íåò ðàâíûõ ýëåìåíòîâ')
    else
    ShowMessage ('Â ìàññèâàõ åñòü ðàâíûå ýëåìåíòû');
end.
Добавлено через 51 секунду
Вопрос лиш в том как тогда вывести результат на экран ....
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
04.02.2014, 21:19 4
Delphi
1
   if nalichie (a,b,n) then
0
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 18
04.02.2014, 21:24  [ТС] 5
Спасибо за ответ но при компиляции программы она выдаёт ошику
[Error] Unit1.pas(51): Declaration expected but 'IF' found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
выделяя красным 18 строчку
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
04.02.2014, 21:27 6
Лучший ответ Сообщение было отмечено Slavan71rus как решение

Решение

и правильно выделяет, писать надо в обработчике
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button3Click(Sender: TObject);
  var
     i: Longint;
 
  begin
   n:=10;
     SetLength(a,n);
     SetLength(b,n);
   for i:=0 to n-1 do
      a[i]:= StrToFloat (StringGrid1.cells[i,0]);
   for i:=0 to n-1 do
      b[i]:= StrToFloat (StringGrid2.cells[i,0]);
   if nalichie (a,b,n) then......//<---------HERE
end;
1
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.02.2014, 21:27 7
Цитата Сообщение от Slavan71rus Посмотреть сообщение
она выдаёт ошику
Значит не в то место вставил.
Выняй оттуда и суняй в другое место.
0
cotseec
04.02.2014, 21:30
  #8

Не по теме:

mss, куда пропадали? как скучен мир без ваших реплик :good:

1
0 / 0 / 1
Регистрация: 26.01.2014
Сообщений: 18
04.02.2014, 21:32  [ТС] 9
Ура заработала !!!
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  Function nalichie (a,b: array of real; n: integer): Boolean;
external 'Project2.dll';
 
  procedure TForm1.Button3Click(Sender: TObject);
  var
     i: Longint;
 
  begin
   n:=10;
     SetLength(a,n);
     SetLength(b,n);
   for i:=0 to n-1 do
      a[i]:= StrToFloat (StringGrid1.cells[i,0]);
   for i:=0 to n-1 do
      b[i]:= StrToFloat (StringGrid2.cells[i,0]);
    if nalichie (a,b,n) then
      ShowMessage ('Â ìàññèâàõ íåò ðàâíûõ ýëåìåíòîâ')
    else
    ShowMessage ('Â ìàññèâàõ åñòü ðàâíûå ýëåìåíòû');
end;
end.
Спасибо вам за помощь многократно!!!!!!

Добавлено через 48 секунд
Чтоб бы я без вас делал.....
0
04.02.2014, 21:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2014, 21:32
Помогаю со студенческими работами здесь

DLL библиотеки и тип String
Подскажите кто-нибудь как из DLL библиотеки передавать в программу данные типа String

Создание библиотеки dll
Есть исходные коды некоторого windows приложения и exe файл. Как мне на основе этих файлов создать...

Dll библиотеки
Необходимо реализовать стек через Статическую и Динамическую загрузку Dll

Посмотреть библиотеки dll
Как посмотреть что там внутри libeay32.dll ssleay32.dll, вернее даже где найти от этих файлов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru