Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ] > Код на шару!
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.08.2014, 16:44
mobac mobac вне форума
Прохожий
 
Регистрация: 23.09.2012
Сообщения: 14
Репутация: 10
Восклицание Перевод проекта в DLL

Здравствуйте! В Дельфи не особо разбираюсь, и мне надо перевести программу Delphi (с исходным кодом, естественно) в DLL.
Сам код:

Код:
program converter;
  
{$APPTYPE CONSOLE}
  
uses
  SysUtils;
  
const
  a: string[8] = 'ABCDEFGO'; {задаём строку для поиска
 в ней символов}
  
Var
   I : byte;
   f1:file of byte;
   f2:textfile;
  
  
{функция для перевода целой части числа из 10-й в любую сс}
function Cel(d: real; c: integer): string;
var
  s: string;
  n2: integer;
begin
  n2 := round(int(d)); {берём целую часть от числа}
  s := '';
  repeat
    s := ((a[n2 mod c + 1]) + s); {повторяем пока число не будет равно нулю берём целую часть при
    делении числа на основание и берём остаток + 1 от деления целой части на 16, записываем
    результат посимвольно в строку s}
    n2 := n2 div c;
  until (n2 = 0);
  if length(s)<3 then
    for i:=length(s)+1 to 3 do
      s:='A'+s;
  Cel := s;
end;
  
begin
  if ParamCount < 2 then
    begin
      writeln('Not enough parameters!');
      exit;
    end
  else
    begin
      if fileexists(paramstr(1)) then
        begin
          assignfile(f1,paramstr(1));
          assignfile(f2,paramstr(2));
          reset(f1);
          rewrite(f2);
          while not eof(f1) do
            begin
              read(f1,i);
              write(f2,cel(i,8));
            end;
          closefile(f1);
          closefile(f2);
        end
      else
        begin
          writeln('File not exist!');
          exit;
        end;
    end;
  { TODO -oUser -cConsole Main : Insert code here }
end.
Что надо доделать: сделать, чтоб при использовании DLL была функция (wctrun), с двумя аргументами: wctrun(0,INPUTfile.wct (P.S. вместо файла может быть код, если код, то в первом аргументе стоит 1), exe). Например: wctrun(0, Test.wct, exe) - создаёт скрытую папку с названием "temp" в текущей директории и в этой папке создаёт файл temp.(тут третий аргумент, т.е. EXE или COM) , после выполнения "подпрограммы" удаляет файл и директорию.
Ещё пример: wctrun(1, "AAABBBCCCDDDEEEFFFGGGOOO", com). Спасибо, очень срочно надо! За лучший ответ поставлю "Спасибо"!
Ответить с цитированием
  #2  
Старый 11.08.2014, 19:36
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

из файла справки:
Цитата:
Writing dynamically loadable libraries

The following example shows a library with two exported functions, Min and Max.

Код:
library MinMax;
function Min(X, Y: Integer): Integer; stdcall;
begin
  if X < Y then Min := X else Min := Y;
end;
function Max(X, Y: Integer): Integer; stdcall;
begin
  if X > Y then Max := X else Max := Y;
end;
exports
  Min,
  Max;
begin
end.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 29.08.2014, 13:49
Аватар для min@y™
min@y™ min@y™ вне форума
Заблокирован
 
Регистрация: 29.08.2014
Адрес: Рязань
Сообщения: 26
Версия Delphi: D7, CB6, etc
Репутация: 10
По умолчанию

А зачем нужна такая DLL?
Зачем удалять созданный файл (текстовый, набитый восьмеричным отображением байтов исходного файла)?

Чот подозрительно...
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter