Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 05:51   #1
Fatalita
Пользователь
 
Регистрация: 12.10.2011
Сообщений: 33
По умолчанию Как это запустить? Делфи7.

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Memo1: TMemo;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Memo2: TMemo;
    Button1: TButton;
    Label3: TLabel;
    Button2: TButton;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
  Procedure Shirina(st:string;razm:integer);
    { Public declarations }
  end;

  type
myrec=record
    x,y:integer;
    end;
var
  B:myrec;
  A,C:array[1..15]of myrec;Form1: TForm1;
  Spi:array[1..15] of integer;
  G:array[1..15,1..15] of integer;
  n:integer;
implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
  begin
    Shirina(Memo1.Text,strtoint(Form1.Edit1.text));
  end;


Procedure Tform1.Shirina(st:string;razm:integer);

  var
    res:string;
    sch,s,a,tek,i,k,j,id:integer;

    Och:array[1..15] of integer;

  begin
    n:=razm;
    s:=1;
    for i:=1 to n do
      for j:=1 to n do
        begin
          G[i,j]:=strtoint(st[s]);
          if j=n
          then
          s:=s+3
            else
            s:=s+1;
        end;
    s:=1;
    for i:=1 to 15 do
      begin
        Spi[i]:=0;
        Och[i]:=0;
      end;
    Spi[s]:=1;
    a:=1;
    for i:=1 to n do
      if G[spi[s],i]=1 then
        begin
          Och[a]:=i;
          a:=a+1;
        end;
    sch:=1;
    while (Och[sch]<>0) do
      begin
        tek:=Och[sch];
        i:=0;
        for k:=1 to s do
            if spi[k]=tek then i:=1;
        if i=0 then
          begin
            s:=s+1;
            Spi[s]:=tek;
              for i:=1 to n do
                if G[tek,i]=1 then
                  begin
                    id:=0;
                    for j:=1 to n do
                      if och[a]=j then id:=1;
                    if id=0 then
                    begin
                      Och[a]:=i;
                      a:=a+1;
                    end;
                  end;
          end;
      sch:=sch+1;
      end;
    for i:=1 to n do
      res:=res + inttostr(spi[i]) + (' ');
  Memo2.Lines.Add(res);
  end;

procedure TForm1.Button2Click(Sender: TObject);

var
  r,s,i,j:integer;
begin
with canvas do
  begin
    r:=40;
    s:=175;
    brush.Color:=clwhite;
    B.x:=350; B.y:=250;
    ellipse(350,250,353,253);
    moveto(B.x,B.y);
    pen.Color:=clblue;
    pen.Width:=4;
    Canvas.Brush.Color:=clWhite;
    for i:= 1 to n do
      begin
        A[i].x:=round(B.x+s*(cos((i-1)*(2*pi/n))));
        A[i].y:=round(B.y+s*(sin((i-1)*(2*pi/n))));
        C[i].x:=(A[i].x)+round(r/2);
        C[i].y:=(A[i].y)+round(r/2);
      end;
    for i:=1 to n do
      for j:=1 to n do
        if G[i,j]=1 then
          begin
            moveto(C[i].x,C[i].y);
            lineto(C[j].x,C[j].y);
          end;
    for i:= 1 to n do
      begin
        ellipse(A[i].x, A[i].y, (A[i].x)+r, (A[i].y)+r);
        textout((A[i].x)+16, (A[i].y)+13, inttostr(i));
      end;


end;


end;
procedure TForm1.Button3Click(Sender: TObject);
begin
canvas.fillrect(canvas.cliprect);
end;


procedure TForm1.Button4Click(Sender: TObject);
  var
    D:array[1..15] of integer;
    r,i,j,l,m,k:integer;
begin
  with canvas do
  begin
    r:=40;
    for i:=1 to 15 do
      D[i]:=0;
    pen.Color:=clred;
    pen.Width:=2;
    D[1]:=1;
    m:=1;
    for i:=1 to n do
      for j:=1 to n do
        if G[(Spi[i]),(Spi[j])]=1 then
          begin
            l:=0;
            for k:=1 to n do
            if D[k]=j then l:=1;
              if l=0 then
              begin
                m:=m+1;
                D[m]:=j;
                moveto(C[(Spi[i])].x,C[(Spi[i])].y);
                lineto(C[(Spi[j])].x,C[(Spi[j])].y);
              end;
          end;
  for i:= 1 to n do
    begin
      ellipse(A[i].x, A[i].y, (A[i].x)+r, (A[i].y)+r);
      textout((A[i].x)+16, (A[i].y)+13, inttostr(i));
    end;
  end;
end;

end.
Я вообще в холсте, как его запускать и проч. не разбираюсь. Напишите алгоритм, пожалуйста.
Fatalita вне форума Ответить с цитированием
Старый 07.06.2012, 07:54   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

1. Создать проект.
2. Создать форму со всем необходимым перечнем элементов.
3. Заменить Unit1 проекта на приведенный файл.
s-andriano вне форума Ответить с цитированием
Старый 07.06.2012, 09:47   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

4. восстановить назначенные события Button1Click, Button2Click и т.д.
для этого на форме (в режиме Design-time) выделить кнопку с именем Button1 и сделать двойной щелчок мышкой на кнопке (должен открыться редактор кода и текущей стать код
procedure TForm1.Button1Click(Sender: TObject);
или открыть в браузере объектов (он же Object Inspector) закладку события (Events) и так выбрать событие onClick...


а вообще, стоит любой буквать по Delphi хотя бы по диагонали просмотреть.. А то растут программисты, которые даже готовый код не знают куда вставлять!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.06.2012, 10:54   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Да чего вы на человека набросились? Видно же, что человек соображает, написал такую немаленькую программу. Просто не знает, как ее запустить, подумаешь...
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Mail.Ru Агент" что это? и как это? Nick007 Софт 9 21.11.2009 10:13
Что это такое и как это того... Alex Cones Общие вопросы Delphi 2 11.10.2009 12:04
Как в делфи7 сделать программ а не юнит? spoool Помощь студентам 9 12.02.2009 12:11
Подскажите пожалуйста как написать или какие разделы/библиотеки изучить для написания программы в делфи7 CeLaVie Помощь студентам 2 27.08.2008 23:47
помогите решить задачу по делфи7!!!! программа д.б. разработана как GUI-приложение Nikitin Помощь студентам 1 06.12.2007 22:36