From ea5e80161c025981f4ab00318b5b06464c84c083 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 17 May 2023 17:11:25 +0200 Subject: mehrere Rätsel mit einem Mal druckbar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- raetsel.lps | 76 ++++++++++++++++++++++++++++----------------------------- raetselunit.pas | 50 ++++++++++++++++++++++++++++--------- 2 files changed, 76 insertions(+), 50 deletions(-) diff --git a/raetsel.lps b/raetsel.lps index b1ae6c0..70cd541 100644 --- a/raetsel.lps +++ b/raetsel.lps @@ -9,7 +9,7 @@ - + @@ -18,8 +18,8 @@ - - + + @@ -32,16 +32,16 @@ - + - - - + + + @@ -50,7 +50,7 @@ - + @@ -162,121 +162,121 @@ - + - + - + - + - + - + - - + - + - + - - + + - + - + - + - + - + - + + - - - + + - + - + - + - + - + - + - + - + - + + diff --git a/raetselunit.pas b/raetselunit.pas index b78b37b..6271188 100644 --- a/raetselunit.pas +++ b/raetselunit.pas @@ -41,7 +41,8 @@ type speichernBtn, ladenBtn, druckenBtn: tButtonWithArrowKeys; - zufallSE: tSpinEdit; + zufallSE, + druckenSE: tSpinEdit; progressBar1: tProgressBar; aktuelleFarbe: tColor; function besitzerHoehe: longint; dynamic; @@ -241,9 +242,19 @@ begin ladenBtn.caption:='Laden!'; ladenBtn.onClick:=@ladenOnClick; ladenBtn.onKeyDown:=@onKeyDown; + druckenSE:=tSpinEdit.create(besitzer); + druckenSE.parent:=besitzer; + druckenSE.left:=ladenBtn.left+ladenBtn.width+spacing; + druckenSE.top:=spacing; + druckenSE.value:=1; + druckenSE.minValue:=0; + druckenSE.maxValue:=65536; + druckenSE.showHint:=true; + druckenSE.hint:='Anzahl zu druckender Rätsel'; + druckenSE.onKeyDown:=@onKeyDown; druckenBtn:=tButtonWithArrowKeys.create(besitzer); druckenBtn.parent:=besitzer; - druckenBtn.left:=ladenBtn.left+ladenBtn.width+spacing; + druckenBtn.left:=druckenSE.left+druckenSE.width+spacing; druckenBtn.top:=spacing; druckenBtn.caption:='Drucken!'; druckenBtn.onClick:=@druckenOnClick; @@ -390,19 +401,34 @@ procedure tRaetsel.druckenOnClick(sender: tObject); var safePictureDialog1: tSavePictureDialog; img: tImage; + stamm,suffix,name: string; + i: longint; begin safePictureDialog1:=TSavePictureDialog.create(besitzer); if safePictureDialog1.execute then begin - img:=zeichenFlaeche; - zeichenFlaeche:=tImage.create(img.parent); - zeichenFlaeche.width:=img.width; - zeichenFlaeche.height:=img.height; - zeichenFlaeche.canvas.font.size:=img.canvas.font.size; - zeichnen(false); - zeichenFlaeche.picture.saveToFile(safePictureDialog1.fileName); - zeichenFlaeche.free; - zeichenFlaeche:=img; - img:=nil; + suffix:=safePictureDialog1.fileName; + while pos('.',suffix)>0 do + delete(suffix,1,pos('.',suffix)); + suffix:='.' + suffix; + stamm:=copy(safePictureDialog1.fileName,1,length(safePictureDialog1.fileName)-length(suffix)); + for i:=1 to druckenSE.value do begin + if i>1 then + erzeugeOnClick(sender); + img:=zeichenFlaeche; + zeichenFlaeche:=tImage.create(img.parent); + zeichenFlaeche.width:=img.width; + zeichenFlaeche.height:=img.height; + zeichenFlaeche.canvas.font.size:=img.canvas.font.size; + zeichnen(false); + if druckenSE.value>1 then + name:=stamm + '_' + intToStr(i) + suffix + else + name:=stamm + suffix; + zeichenFlaeche.picture.saveToFile(name); + zeichenFlaeche.free; + zeichenFlaeche:=img; + img:=nil; + end; end; safePictureDialog1.free; end; -- cgit v1.2.3-54-g00ecf