StringGrid Yazdırma
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
StringGrid Yazdırma
Arkadaşlar herkese merhaba. Bu forma yeni üye olabildim. Olabildim diyorum çünkü bazı aylarda üye kabul ediyormuşsunuz. Neyse sonunda hep takip ettiğim bu forma artık bende üyeyim.
Benim şöyle bir sorum olacaktı. Stringgrid içeriğini nasıl yazıcıya gönderebilirim.
Şimdiden herkese teşekürler.
Benim şöyle bir sorum olacaktı. Stringgrid içeriğini nasıl yazıcıya gönderebilirim.
Şimdiden herkese teşekürler.
Re: StringGrid Yazdırma
Biraz araştırıp sorsaydın bunu cevabı, bu siteyi geç google da print stringgrid delphi yazınca en başta çıkıyor.Yani bu kadar basit.Aramadan sormayalım...Neyse ben yinede bulduğum kodu yazayım veya yazmayayım sen dediğim işlemi yap cevabı bulmanın keyfini çıkar... 

Re: StringGrid Yazdırma
Önerilerin için teşekkürler. Arkadaşım ben araştırmadan ve forumda arattırmadan buraya yazmadım meraketme. Bilmeden insanı neden suçluyorsunki. Cevabı biliyorsan yaz bilmiyorsan sus. Ben sadece daha basit yöntem veya kod arıyorum hepsi bu. Google da çıkan sonuçların hepsi karmaşık geldi. Bu stringgrid olayınıda kendim için değil delphiyi yeni öğrenmiş bir arkadaşım için araştırıyorum. Onun için sade ve karışık olmayan bi kod yöntem bulmam lazım.
Re: StringGrid Yazdırma
Zaten bilmeyen kişi kodun kolaylığını ne yapacak...Şimdi aşağıdaki kod mesela çok mu zor veya niye zor? Sonuçta kopyala yapıştır yapacaksınız...şuna bulduk ama ne bulduk onu bilmiyoz desene...
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;
procedure TForm1.Button1Click(Sender: TObject);
begin
PrintGrid(StringGrid1, 'Print Stringgrid');
end;
Re: StringGrid Yazdırma
Merhaba ;
Battosai bu kodu dbgrid icin uygulayinca hata veriyor. biraz degisiklik yapmaya calistim fakat kar etmedi?dbgrid icin nasil kuıllanabiliriz bunu
tskler.
Battosai bu kodu dbgrid icin uygulayinca hata veriyor. biraz degisiklik yapmaya calistim fakat kar etmedi?dbgrid icin nasil kuıllanabiliriz bunu
tskler.
Garibanus
Re: StringGrid Yazdırma
ne @Battosai nede forumdaki diğer arkadaşlar müneccim olmadıklarına göre ne hatası verdiğini sen söylemeden bilemeyiz.Vital yazdı:Merhaba ;
Battosai bu kodu dbgrid icin uygulayinca hata veriyor.
tskler.
yanlış anlama sözüm sadece sana değil,tüm forum kullanıcılarına... bir hatayla karşılaşıyor ve bununla ilgii soru soruyorsak hatanın ne olduğunu da belirtelimki cevaplar daha net olsun ve en az 1 arkadaşımız dahi "keşke hatayı da yazsaydın" demek zorunda kalmasın...
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Re: StringGrid Yazdırma
DBGrid için çalışmaz tabi çünkü StringGrid için yazılmış bir kod...ama bir kaç düzenlemeyle DBGrid içinde çalışır...direk düzeltmeleri yapmayacam ama bir fikir vereyim...döngüleri Datasete göre yapıp sGrid.Cells[F, 0] yazan yerlerede x.Fields.text şeklinde...yerleştirmeler yaparaktan sonuca ulaşabilirsin....biraz zorlamak lazım kafayı zorlamadan ilerlenmez bu yolda....
Re: StringGrid Yazdırma
tskler arkadasim kafayi zorladiktan sonra sana yazdim zaten.
verdigin ipucuyla cozdum.tavsiyen icin sagol beraber zorlayalim kafalari daha hizli ilerlesin.ve unicorn64 hata var demek yanlis olur o yuzden yazmadim hata var diye tip uyusmazligi veriyordu yani dbgrid icin nasil kullancagimi bilmiyordum.yani Battosai ye bahsettigim sey yukarida .
tekrar tskler.
verdigin ipucuyla cozdum.tavsiyen icin sagol beraber zorlayalim kafalari daha hizli ilerlesin.ve unicorn64 hata var demek yanlis olur o yuzden yazmadim hata var diye tip uyusmazligi veriyordu yani dbgrid icin nasil kullancagimi bilmiyordum.yani Battosai ye bahsettigim sey yukarida .
tekrar tskler.
Garibanus
Re: StringGrid Yazdırma


Re: StringGrid Yazdırma
hehe evet keyifli oluyor Battosai kardesim sagolasin galiba sende bu keyfi tatmissin ee hersey tecrube degil mi 

Garibanus