Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Код программы. Исходный код библиотеки DLL:
Исходный код библиотеки DLL:
library Project1;
uses SysUtils, Classes, UnitType in 'UnitType.pas';
function MidArray (Masr: TExt): extended; // среднее арифметическое положительных элементов массива var mid, sym: extended; col, n: integer; begin n: =0; sym: =0; for col: =0 to length(masr)-1 do if masr[col]> 0 then begin sym: = sym + masr[col]; n: =n+1; end; if sym=0 then mid: =0 else mid: = sym/n; midarray: = mid; end; Function DiagSum (A: TMas): extended; //вход: 2мерный массив extended'ов выход: extended var Sum: extended; i, j: integer; begin Result: =0; if Length (A[0])> Length (A) then for j: = 0 to Length (A)-1 do result: =result+A[j, j] else for i: = 0 to Length(A[0])-1 do result: =result+A[i, i]; DiagSum: =result; End; procedure GenMas(Ncol, Nrow: word; var Zap: TMas); var col, row: integer; begin SetLength(Zap, Nrow, Ncol); for col: =0 to Ncol-1 do for row: = 0 to Nrow - 1 do Zap[row, col]: =(random(100)-random(50)); end; procedure GenMasO(Nocol: integer; var Zapo: TExt); var col: integer; begin randomize; SetLength(Zapo, Nocol); for col: =0 to Nocol-1 do Zapo[col]: =(random(100)-random(50)); end; {$R *.res} exports MidArray name 'Mid', DiagSum name 'D1', GenMasO name 'Gen1', GenMas name 'Gen2'; begin end.
Исходный код программы:
procedure TForm2.Button1Click(Sender: TObject); begin H: =LoadLibrary('Project1.dll'); if H=0 then showmessage('ошибка dll'); @Mid: =GetProcAddress(H, 'Mid'); if @Mid< > nil then begin ShowMessage('Ср. арифметическое положит элементов: '+FloatToStr(Mid(Mas2))); end else showmessage('ошибка адреса'); exit; end; procedure TForm2.Button2Click(Sender: TObject); begin H: =LoadLibrary('Project1.dll'); if H=0 then showmessage('ошибка dll'); @D1: =GetProcAddress(H, 'D1'); if @D1< > nil then begin ShowMessage('Сумма элементов главной диагонали: '+FloatToStr(D1(Mas1))); end else showmessage('ошибка адреса'); exit; end; procedure TForm2.Button3Click(Sender: TObject); var col: integer; begin H: =LoadLibrary('Project1.dll'); if H=0 then showmessage('ошибка dll'); @Gen1: =GetProcAddress(H, 'Gen1'); if @Gen1< > nil then begin SG2.ColCount: =SE3.Value; Gen1(SE3.Value, Mas2); for col: = 0 to SE3.Value - 1 do SG2.Cells[col, 0]: =FloatToSTR(Mas2[col]); Button1.Enabled: = true; end else showmessage('ошибка адреса'); exit; end; procedure TForm2.Button4Click(Sender: TObject); var col, row: integer; begin H: =LoadLibrary('Project1.dll'); if H=0 then showmessage('ошибка dll'); @Gen2: =GetProcAddress(H, 'Gen2'); if @Gen2< > nil then begin SG1.ColCount: =SE1.Value; SG1.RowCount: =SE2.Value; Gen2(SE1.Value, SE2.Value, Mas1); for col: = 0 to SE1.Value - 1 do for row: = 0 to SE2.Value - 1 do SG1.Cells[col, row]: =FloatToSTR(Mas1[row, col]); Button2.Enabled: = true; end else showmessage('ошибка адреса'); Exit; end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin FreeLibrary(H); end;
|