Тебе нужно создать три файла:
1) Модуль с функцией вывода, ты там чего-то сильно нагородил, и код пропал. Немного подправил:
// file: myproc.pas
unit myproc;
interface
procedure ShowLowAlphas(txt: string);
implementation
procedure ShowLowAlphas(txt: string);
var
i: integer;
c: char;
ca: array ['a'..'z'] of integer;
begin
for c := 'a' to 'z' do
ca[c] := 0;
for i := 1 to length(txt) do
if txt[ i] in ['a'..'z'] then
inc(ca[txt[ i]);
for c := 'a' to 'z' do
while ca[c] > 0 do begin
write(c);
dec(ca[c]);
end;
end;
end.
2) Файл для DLL, там будет функция, ищущая решение
// file: myfunc.pas
library myfunc;
type
TSolFunc = function(x: double): double;
function Sign(x: double): integer;
begin
if x < 0 then
Sign := -1
else if x > 0 then
Sign := 1
else
Sign := 0;
end;
function FindSolution(xl, xr, e: double; f: TSolFunc): double;
var
dx, xm, fxm: double;
begin
dx := xr - xl;
xm := dx / 2;
fxm := f(xm);
while abs(fxm) > e do begin
dx := dx / 2;
xm := xl + dx;
fxm := f(xm);
if sign(f(xl)) <> sign(fxm) then
xr := xm
else
xl := xm;
end;
FindSolution := xm;
end;
exports
FindSolution;
begin
end.
3) Собственно, третий файл в котором будет программа использующая эти модули:
uses
myproc;
type
TSolFunc = function(x: double): double;
function FindSolution(xl, xr, e: double; f: TSolFunc): double; external 'myfunc.dll';
function f(x: double): double;
begin
f := exp(x) - 10 * x;
end;
var
t: string;
begin
write('text? ');
readln(t);
ShowLowAlphas(t);
writeln;
writeln('solution: ', FindSolution(2, 6, 0.0001, @f):0:3);
readln;
end.
Все! Отправляю в Гугл. Запросы:
1) delphi создание и использование модулей
2) delphi создание и использование dll
Другие языки программирования и технологии
Пожалуйста, помогите доделать лабу!
Код не читабельный (некоторые символы не отображаются, т. к. являются служебными для сайта) .
Воспользуйтесь программой для форматирования текста, например, TagSymReplacer.narod.ru
Воспользуйтесь программой для форматирования текста, например, TagSymReplacer.narod.ru
Похожие вопросы
- помогите доделать программу по паскалю пожалуйста
- помогите доделать код на паскале
- Помогите доделать программу пожалуйста ) На языке Си
- помогите дописать лабу в C (Си)
- помогите доделать прогу на с++ пожалуйста
- помогите сделать лабу в VBA, по темам, "Матрицы" и "одномерные массывы"
- Помогите доделать программу
- Помогите доделать программу перевод из морзе на Паскале.
- помогите доделать задачу в вижуал студио 2005
- Задача на массивы двумерные помогите доделать на C#,код прикрепляю и задачу