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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2009, 17:23   #1
zefir1594
 
Регистрация: 31.10.2009
Сообщений: 4
Восклицание Программа "Построение графиков" Delphi

Есть исходник программы "Построение графиков"(программа не моя), препод задал по ней курсач! И в задании сказал что нужно добавит в прогу:
1. Печать Графика
2. Сохранение в картинку

Проблема в чем, в том что это все есть в программе, но является не активным!
Помогите пожалуйста решить проблемку!!!!

исходник и компоненты программы ниже!!!

Буду очень благодарен!!!
Вложения
Тип файла: zip mgraph.zip (60.1 Кб, 205 просмотров)
zefir1594 вне форума Ответить с цитированием
Старый 31.10.2009, 17:35   #2
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
2. Сохранение в картинку
Код:
imgGraphic.Picture.SaveToFile('rf.bmp');
для выбора имени файла юзайте SaveDialog!
Цитата:
1 Печать Графика
Код:
uses  
  printers;  

procedure DrawImage(Canvas: TCanvas; DestRect: TRect; ABitmap: TBitmap);  
var  
  Header, Bits: Pointer;  
  HeaderSize: DWORD;  
  BitsSize: DWORD;  
begin  
  GetDIBSizes(ABitmap.Handle, HeaderSize, BitsSize);  
  Header := AllocMem(HeaderSize);  
  Bits := AllocMem(BitsSize);  
  try  
    GetDIB(ABitmap.Handle, ABitmap.Palette, Header^, Bits^);  
    StretchDIBits(Canvas.Handle, DestRect.Left, DestRect.Top,  
      DestRect.Right, DestRect.Bottom,  
      0, 0, ABitmap.Width, ABitmap.Height, Bits, TBitmapInfo(Header^),  
      DIB_RGB_COLORS, SRCCOPY);  
  finally  
    FreeMem(Header, HeaderSize);  
    FreeMem(Bits, BitsSize);  
  end;  
end;  

procedure PrintImage(Image: TImage; ZoomPercent: Integer);  
  // if ZoomPercent=100, Image will be printed across the whole page  
var   
  relHeight, relWidth: integer;  
begin  
  Screen.Cursor := crHourglass;  
  Printer.BeginDoc;  
  with Image.Picture.Bitmap do   
  begin  
    if ((Width / Height) > (Printer.PageWidth / Printer.PageHeight)) then  
    begin  
      // Stretch Bitmap to width of PrinterPage  
      relWidth := Printer.PageWidth;  
      relHeight := MulDiv(Height, Printer.PageWidth, Width);  
    end   
    else  
    begin  
      // Stretch Bitmap to height of PrinterPage  
      relWidth  := MulDiv(Width, Printer.PageHeight, Height);  
      relHeight := Printer.PageHeight;  
    end;  
    relWidth := Round(relWidth * ZoomPercent / 100);  
    relHeight := Round(relHeight * ZoomPercent / 100);  
    DrawImage(Printer.Canvas, Rect(0, 0, relWidth, relHeight), Image.Picture.Bitmap);  
  end;  
  Printer.EndDoc;  
  Screen.cursor := crDefault;  
end;  

// Example Call:  

procedure TForm1.Button1Click(Sender: TObject);  
begin  
  // Print image at 40% zoom:  
  PrintImage(Image1, 40);  
end;
осталось прикрутить к проге!
Цитата:
Что значит "не активным" ?
кнопки есть а ButtonClick - отсутствует!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.

Последний раз редактировалось ОДИНОЧЕСТВО В СЕТИ; 31.10.2009 в 17:40.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 31.10.2009, 17:39   #3
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Заумная программка.... Что значит "не активным" ?
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 31.10.2009, 18:02   #4
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
Помогите пожалуйста решить проблемку!!!!
стучи помогу контакты ниже!
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 31.10.2009, 18:03   #5
zefir1594
 
Регистрация: 31.10.2009
Сообщений: 4
По умолчанию

код для Печати можно прям туда вбухать???

И на счет ButtonClick что делать???
zefir1594 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль.Программа "Верификация", "Кака бригадиру разделить заработанные деньги?".Сложные Valik102 Помощь студентам 11 23.06.2009 15:30
Паскаль.Программа "Верификация", "Кака бригадиру разделить заработанные деньги?".Сложные Valik102 Паскаль, Turbo Pascal, PascalABC.NET 3 23.06.2009 09:11
Паскаль. 2 задачи (Программа "Верификация","КАК БРИГАДИРУ РАЗДЕЛИТЬ ЗАРОБОТАННЫЕ ДЕНЬГИ") Valik102 Помощь студентам 3 20.05.2009 20:42
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51