Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 'Print Stringgrid', Печать Стрингрида 
:(
    Опции темы
Elv
  Дата 22.6.2005, 07:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 9.6.2005

Репутация: нет
Всего: нет



1. Alex, все работает, все печатает, только печатает не таблицу, и то, что в ней, а эти вда слова:
'Print Stringgrid', может быть вместо этих слов другое, что нужно написать?

Код

uses  
 Printers;  

procedure PrintGrid(sGrid: TStringGrid; sTitle: string);  
var  
 X1, X2: Integer;  
 Y1, Y2: Integer;  
 TmpI: Integer;  
 F: Integer;  
 TR: TRect;  
begin  
 Printer.Title := sTitle;  
 Printer.BeginDoc;  
 Printer.Canvas.Pen.Color  := 0;  
 Printer.Canvas.Font.Name  := 'Times New Roman';  
 Printer.Canvas.Font.Size  := 12;  
 Printer.Canvas.Font.Style := [fsBold, fsUnderline];  
 Printer.Canvas.TextOut(0, 100, Printer.Title);  
 for F := 1 to sGrid.ColCount - 1 do   
 begin  
   X1 := 0;  
   for TmpI := 1 to (F - 1) do  
     X1 := X1 + 5 * (sGrid.ColWidths[TmpI]);  
   Y1 := 300;  
   X2 := 0;  
   for TmpI := 1 to F do  
     X2 := X2 + 5 * (sGrid.ColWidths[TmpI]);  
   Y2 := 450;  
   TR := Rect(X1, Y1, X2 - 30, Y2);  
   Printer.Canvas.Font.Style := [fsBold];  
   Printer.Canvas.Font.Size := 7;  
   Printer.Canvas.TextRect(TR, X1 + 50, 350, sGrid.Cells[F, 0]);  
   Printer.Canvas.Font.Style := [];  
   for TmpI := 1 to sGrid.RowCount - 1 do   
   begin  
     Y1 := 150 * TmpI + 300;  
     Y2 := 150 * (TmpI + 1) + 300;  
     TR := Rect(X1, Y1, X2 - 30, Y2);  
     Printer.Canvas.TextRect(TR, X1 + 50, Y1 + 50, sGrid.Cells[F, TmpI]);  
   end;  
 end;  
 Printer.EndDoc;  
end;  


//Examplem, Beispiel:  

procedure TForm1.Button1Click(Sender: TObject);  
begin  
 PrintGrid(StringGrid1, 'Print Stringgrid');  
end;


2. Расчет вещественных чисел в StrinGrid. Как сделать?

Это сообщение отредактировал(а) Girder - 22.6.2005, 10:14
PM MAIL   Вверх
mvdr
Дата 22.6.2005, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



Цитата(Elv @ 22.6.2005, 08:54)
Расчет вещественных чисел в StrinGrid.
как вариант:
  • считывание содержимого ячейки (типа "3,14") в Edit
  • разбивка в два Edit'a (целой и дробной части)
  • тоже самое делаем со второй ячейкой
  • складываем отдельно дробные и отдельно целые части
  • если сумма дробных перевалила за 100, то к целой прибавляем 1
Пояснение:
Код

Edit1.Text:=StringGrid1.Cells[x,y];
for i:= 1 to Lenght(Edit1.Text) do
 if Edit1.Text[i]=',' then 
  begin 
   Edit3.text:=copy(Edit1.Text,i+1,Length(Edit1.Text) - i);
   i:=Lenght(edit1.Text);
 end
else Edit2.Text:=Edit2.text+copy(Edit1.Text,i,1);


Это сообщение отредактировал(а) Girder - 22.6.2005, 10:12


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Alex
Дата 22.6.2005, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Я не знаю, что у вас там печатается, вот пример, где все нормально печатается.

Присоединённый файл ( Кол-во скачиваний: 15 )
Присоединённый файл  PrintGrid.rar 6,59 Kb


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0699 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.