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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2011, 19:10   #1
JaySee
 
Регистрация: 26.02.2011
Сообщений: 9
По умолчанию Построить треугольники из файла

Вот у меня есть файл в котором каждая строка это три точки-вершины треуголька. Как мне оттуда их вытащить и нарисовать в Delphi ?

Вот пример содержимого

0 0 3 3 0 9
0 9 6 9 3 3
0 0 6 0 3 3
3 3 6 6 6 9
3 3 6 0 6 6
JaySee вне форума Ответить с цитированием
Старый 06.06.2011, 19:13   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Как мне оттуда их вытащить
Код:
Read(x1, y1, x2, y2, x3, y3);
Цитата:
нарисовать в Delphi
Canvas, MoveTo, LineTo + Google + F1.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 06.06.2011, 22:05   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

можно так попробовать:
Код:
procedure TForm1.ChangeCanvasBrushStyle();
begin
  with Canvas.Brush do
  begin
    if   Style = bsDiagCross then Style := bsSolid
   else if Style = bsSolid then Style := bsClear
   else if Style = bsClear then Style := bsHorizontal
   else if Style = bsHorizontal then Style := bsVertical
   else if Style = bsVertical then Style := bsFDiagonal
   else if Style = bsFDiagonal then Style := bsBDiagonal
   else if Style = bsBDiagonal then Style := bsCross
   else if Style = bsCross then Style := bsDiagCross;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
Const
  DeltaX = 40;
  DeltaY = 40;
var
  F : TextFile;
  i : integer;
  Treug : array[1..4]of TPoint;
begin
  AssignFile(F, 'C:\DataTreug.txt');
  Reset(F);
  i := 1;
  while Not EOF(F) do begin
    Read(F, Treug[1].X, Treug[1].Y);
    Read(F, Treug[2].X, Treug[2].Y);
    Read(F, Treug[3].X, Treug[3].Y);
    Readln(F);
    Treug[4] := Treug[1];

    // откорректируем координаты, умножив их на Delta
    for i:=1 to 4 do begin
      Treug[i].X := Treug[i].X * DeltaX;
      Treug[i].Y := Treug[i].Y * DeltaY;
    end;

    ChangeCanvasBrushStyle();
    Canvas.Polygon(treug);
  end;
  CloseFile(F);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.06.2011, 22:46   #4
JaySee
 
Регистрация: 26.02.2011
Сообщений: 9
По умолчанию

Serge_Bliznykov, большое спасибо. То что нужно!
JaySee вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Равнобедренные треугольники endiny Общие вопросы C/C++ 1 28.10.2010 18:23
Про треугольники Артём555 Паскаль, Turbo Pascal, PascalABC.NET 7 28.04.2010 13:41
Прочитать из файла и построить график(Delfi) Мирный Басист Помощь студентам 0 13.12.2009 22:27
Как построить Bitmap для jpeg файла ??? Kocapb Общие вопросы C/C++ 4 14.12.2007 19:50
Треугольники Prowler Помощь студентам 3 15.05.2007 07:06