Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Макросы

Нужно в программе реализовать макросы, посоветуйте компонент.

Номер выпуска : 4881
Возраст листа : 710 (дней)
Количество подписчиков : 529
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/427766
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Wed, 31 Aug 2005 11:47:36 +0300 (#427766)

 

Ответы:

Хаю ду ю ду -=BETA TESTER=-?

Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,
тоже что-нибудь напечатаю:

Например:
1) Компонент TScript Язык скрипта - подмножество Дельфи-паскаля.
2) Innerfuse Pascal Script 2.78
3) MSScriptControl.ScriptControl

Да много всякого - спроси у яндекса

Пример использования MSScriptControl.ScriptControl

unit UnitFormula;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls,ComObj;

type
TFormFormula = class(TForm)
Image1: TImage;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
EditFrom: TEdit;
Label2: TLabel;
EditTo: TEdit;
Panel2: TPanel;
EditPhrase: TEdit;
Label3: TLabel;
EditStep: TEdit;
Label4: TLabel;
GroupBox2: TGroupBox;
EditScaleX: TEdit;
Label5: TLabel;
Label7: TLabel;
EditScaleY: TEdit;
GroupBox3: TGroupBox;
Label6: TLabel;
Label8: TLabel;
EditUpY: TEdit;
EditUpX: TEdit;
procedure FormCreate(Sender: TObject);
procedure EditPhraseKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
SC: Variant;
{ Public declarations }
end;

var
FormFormula: TFormFormula;

implementation

{$R *.DFM}

procedure TFormFormula.FormCreate(Sender: TObject);
begin
SC := CreateOleObject('MSScriptControl.ScriptControl');
SC.Language := 'VBScript';
end;

procedure TFormFormula.EditPhraseKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var low, high: integer;
x: extended;
Formula_amper: string;
Formula: string;
y: extended;
step: Extended;
i: integer;
scalex: extended;
scaley: extended;
UpY: integer;
UpX: integer;
begin
if key = VK_RETURN then
begin
low := StrToInt(EditFrom.Text);
high := StrToInt(EditTo.Text);
step := StrToFloat(EditStep.Text);
scalex := StrToFloat(EditScaleX.Text);
scaley := StrToFloat(EditScaleY.Text);

UpY := StrToInt(EditUpY.Text);
UpX := StrToInt(EditUpX.Text);

Formula := EditPhrase.Text;
Formula_amper := '';
for i := 1 to Length(Formula) do
if Formula[i] = 'x'
then Formula_amper := Formula_amper + '(%g)'
else Formula_amper := Formula_amper + Formula[i];
x := low;

Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.FillRect(Image1.ClientRect);
Image1.Canvas.MoveTo( - 1024, Image1.Height - round(UpY {* scaley}));
// ось x
Image1.Canvas.LineTo( 1024, Image1.Height - round(UpY {* scaley}));

Image1.Canvas.MoveTo(round( UpX {* scalex}), - 1024); // ось y
Image1.Canvas.LineTo(round( UpX {* scalex}), 1024);

Image1.Canvas.Pen.Color := clBlack;

Formula := Format(Formula_amper, [x, x, x, x, x, x, x, x, x, x, x, x,
x, x, x, x, x]);
try
y := StrToFloat(SC.Eval(Formula)); // разделитель - точка!!!
except
raise Exception.Create('Ашипка какая-то, наверное в формуле');
end;
Sleep(0);
Image1.Canvas.MoveTo(round(x * scalex + UpX),
Image1.Height - round(y * scaley + UpY)
);
x := x + step;

while (x <= high) and (not Application.Terminated) do
begin
Application.ProcessMessages;
Formula := Format(Formula_amper, [x, x, x, x, x, x, x, x, x, x, x]);
y := StrToFloat(SC.Eval(Formula));
Image1.Canvas.LineTo(round(x * scalex + UpX),
Image1.Height - round(y * scaley + UpY)
);
FormFormula.Caption := FloatToStr(x) + ':' + FloatToStr(y) + ' ' +
IntToStr(round(x * scalex + UpX)) + ':' +
IntToStr(Image1.Height - round(y * scaley
+ UpY));
x := x + step;
end;
end;
end;

end.

Ответить   Thu, 1 Sep 2005 18:15:10 +0500 (#428660)

 

.....

Спасибо.

Номер выпуска : 4887
Возраст листа : 718 (дней)
Количество подписчиков : 533
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/433097
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Thu, 8 Sep 2005 00:33:39 +0300 (#433097)

 

А есть что не будь по проще?
Спасибо.

Номер выпуска : 4893
Возраст листа : 718 (дней)
Количество подписчиков : 533
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/433620
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Thu, 8 Sep 2005 13:21:06 +0300 (#433620)

 

Хаю ду ю ду -=BETA TESTER=-?

Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,
тоже что-нибудь напечатаю:

Попроще в смысле примера? Или попроще скрипт-компонент?
Если первое - уж какой есть.
А если второе - чем не устраивают пункты 1 и 2? Вроде как pascal-like
скрипты.

Ответить   Fri, 9 Sep 2005 17:44:08 +0500 (#434208)