HTML Reports

Moderator: Moderatoren

Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: HTML Reports

Beitrag von azzo »

Hallo Klaus,

Irre, was wir vor 20 Jahren schon gemacht haben.
Angeregt von deinem Posting habe ich meine alten Produktprospekte durchgeschaut.
Der erste Reportgenerator, den ich für meine WINHOTEL-Version 1.0 (1995) eingesetzt habe, war CA-Ret, der bei VO dabei war.

Bild

Nachdem CA-Ret eingestellt wurde, habe ich unter anderem auch mit dem RTF-Format getestet. Ist ja sehr ähnlich wie HTML.
Doch MS hat dann angefangen, die Bilder direkt im RTF zu speichern. Das Suchen&Ersetzen hat dann sehr lange gedauert ( 286er, 386er PCs).
Nun starte ich einen nächsten Versuch.


Lustig ist auch, was wir damals noch für einen "Spielwitz" hatten.
War eine Frau als User angemeldet, zeigten wir die Wilma sonst den Fred als Icon an.

Bild

LG
Otto
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: HTML Reports

Beitrag von azzo »

Die Werbung ist aus 1995!

Ich habe mir gerade nochmals die Highlights durchgelesen. :)
Combobox, Checkbox, Listboxen, Radiobuttons, Multitasking, Clipboard, MDI-Fenster, WYSIWIG, etc.
Wenn ich das jetzt lese, frage ich mich, wer das damals verstanden hat.
LG
Otto
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: HTML Reports

Beitrag von ramses »

azzo hat geschrieben: Fr, 04. Jun 2021 12:15 Die Werbung ist aus 1995!
Anno Domini 1995 warst du ja SuperModern!
Jetzt .....
Valar Morghulis

Gruss Carlo
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: HTML Reports

Beitrag von azzo »

Hallo Freunde,
Ich habe nun die erste Rückmeldung.

/*
Hallo Otto,
super danke!
Wäre es möglich, dass die erste Spalte kleiner ist?
Also im Prinzip würden wir sie gar nicht benötigen.
Ich weiß nicht was das CH überhaupt heißt. ?
Und wenn es geht die Schrift größer von Zimmernummer, An- und Abreise, HP & Bemerkung.
Die letzten 5 Spalten benötigen wir auch nicht ( D + T + Aktion + Ki + EW) steht darüber.
*/

Die Änderungen sind sehr einfach.
In der Funktion, die entscheidet, welche Spalten gedruckt werden,
werden die Schalter einfach auf "N" für Nein gesetzt.

Code: Alles auswählen

function check4prn( nCol, cCol )
//               1234567890123456 
local cPrint := "NJJJJJJJJJJNNNNN"
	
	if substr(cPrint, nCol, 1 ) <> "J"
		cCol := ""
	endif
  
return( cCol )
//----------------------------------------------------------------------------//
Das Styling wird im CSS gemacht.

Code: Alles auswählen



<style>
		.mytd {
		  border: 1px solid #dddddd;
		  text-align: center;
		  padding: 4px;
		  background:  #A4C400;
		  font-size: 18px;
		}		
		.tdname  {
		  font-size: 18px;
		  border: 1px solid #dddddd;
		  text-align: left;
		  padding: 4px;
		}		
		
		.tdmedium  {
		  font-size: 22px;
		  border: 1px solid #dddddd;
		  text-align: left;
		  padding: 4px;
		}		
		
		.tdlarge {
		  font-size: 26px;
		  border: 1px solid #dddddd;
		  text-align: left;
		  padding: 4px;
		}		
		
</style>	

	
cText += check4prn(  1, "<td>" + cMarker+ "</td>" + CRLF )
cText += check4prn(  2, "<td class='tdlarge'>" + VRDZiNr + "</td>" + CRLF )
cText += check4prn(  3, "<td class='tdname'>" + convertUmlaute( VRDName ) + "</td>" + CRLF )
cText += check4prn(  4, "<td class='tdmedium'>" + VRDAnAbreise + "</td>" + CRLF )
cText += check4prn(  5, "<td>" +VRDZF + "</td>" + CRLF )
cText += check4prn(  6, "<td>" +VRDZFKi + "</td>" + CRLF )
cText += check4prn(  7, "<td class='mytd'>" + VRDHP + "</td>" + CRLF )
cText += check4prn(  8, "<td>" +VRDHPKi + "</td>" + CRLF )
cText += check4prn(  9, "<td>" +VRDVP + "</td>" + CRLF )
cText += check4prn( 10, "<td>" +VRDVPKi + "</td>" + CRLF )
cText += check4prn( 11, "<td  class='tdname'>" +convertUmlaute(VRDBErmerkung) + "</td>" + CRLF )
cText += check4prn( 12, "<td>" +VRDEW + "</td>" + CRLF )
cText += check4prn( 13, "<td>" +VRDKi + "</td>" + CRLF )
cText += check4prn( 14, "<td>" +VRDAktion + "</td>" + CRLF )
cText += check4prn( 15, "<td>" +VRDD + "</td>" + CRLF )
cText += check4prn( 16, "<td>" +VRDT + "</td>" + CRLF )
                        

Bild
LG
Otto
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: HTML Reports

Beitrag von azzo »

Hallo Freunde,
heute habe ich an einem Header-Template-Design für den HTML Report gearbeitet
und auch ich einige Tests mit dem Quittungsdrucker gemacht.
Es funktioniert gut.
Mit freundlichem Gruß
Otto
Bild

Bild



Bild

Bild
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: HTML Reports

Beitrag von azzo »

Hallo Freunde,
mein HTML Report Tool wächst.

Bild

Hier ein Beispiel mit einem übertriebenen Font.

Bild

Und noch ein Beispiel, wie ich nun mit WORD die Reports designe.

Dokumentation
https://winhotel.space/htmlreport/htmlreport.html

Bild

Mit freundlichem Gruß

Otto
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: HTML Reports

Beitrag von azzo »

Hallo Freunde,
Ich konnte nun das Problem mit der Druckerumstellung von Portrait auf Landscape und zurück lösen.
Zwar nicht direkt mit einer HARBOUR/CLIPPER Funktion aber über den Aufruf RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry.
Ich poste hier die Aufrufe, vielleicht interessiert es jemand.
LG
Otto

Code: Alles auswählen


function hochformat()
	winexec('RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /Sr /n "Seminar" /a "c:\setprnter\Seminarhoch.dat"')
return nil

function landscape()
	winexec('RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /Sr /n "Seminar" /a "c:\setprnter\Seminar.dat"')
return nil

function Setdefault()
	winexec('RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /y /n "Seminar"')
return nil
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: HTML Reports

Beitrag von azzo »

Hallo Freunde,
nochmals ein Test.

Code: Alles auswählen

   AADD(aReportData, {"[Tormann]", "Otto" } )
	AADD(aReportData, {"[OutsideLeft]", "Marc" } ) 
	AADD(aReportData, {"[OutsideRight]", "Antonio" } ) 
	AADD(aReportData, {"[CenterLeft]", "Cristobal" } ) 
	AADD(aReportData, {"[CenterRight]", "Silvio" } )
	
		
	cHtml := memoread( cReportTemplate )
        FOR I := 1 to len( aReportData )
   	    cHtml := STRTRAN( cHtml, aReportData[I,1], aReportData[I,2] )
	next   

        memowrit( cHtmlOrUrl, cHtml)

       PrintHtml( cHtmlOrUrl,1,.t.)

LG
Otto
Bild
Benutzeravatar
azzo
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 483
Registriert: So, 28. Mär 2010 19:21
Danksagung erhalten: 11 Mal

Re: HTML Reports

Beitrag von azzo »

Hallo Freunde,
das Edge based web control eröffnet ganz neu Möglichkeiten.
LG
Otto

Bild
Antworten