Forum | | | | Sebald Grandjean | Salut,
folgende devoir: Erstellen einer einfachen Eingabemaske pour une Buchungsanordnung. Réservations erstellen, Travailler, effacer etc. dans Profan un Kinderspiel!
un peu anspruchsvoller ist qui Druckausgabe, car là gibt es une très compliqué gestalteten Vordruck (Linien, Kästchen, weitere Felder, qui später de main ausgefüllt volonté, etc.)
comment würdet son so quelque chose lösen? avec den Zeichenfunktionen de Profan chaque Element sur qui Leinwand 'malen' ou bien vllt. doch une BMP magasin, qui qui erforderlichen Elemente déjà beinhaltet et ensuite qui eingegebenen Werte drüberdrucken laisser? Gibt es peut-être encore une autre Possibilité?
Salut Sebald |
| | | | |
| | H.Brill | comment sieht es car avec einer Gridbox aus, alors einer Tabelle ?
Zum ausdrucken des Gitternetzes nutze je toujours que voici (Printgrid.inc) :
$H commctrl.ph
$H Structs.ph
$H Messages.ph
Proc CountGridColumns
Paramètres Handle hGrid
Déclarer Memory b
Déclarer flag&
Var TotalColumns& = 0
Struct LV_COLUMN = ~LV_COLUMN
Faible b, LV_COLUMN
b.mask& = ~LVCF_WIDTH
Repeat
Inc TotalColumns&
flag& = SendMessage(hGrid, ~LVM_GETCOLUMN, TotalColumns&, b)
Until flag& = 0
Dispose b
Retour TotalColumns&
ENDPROC
Proc LV_GETCOLUMN
Paramètres Handle Hdl,Index&
Déclarer Column#,Text$,Erfolg%
Struct LVCOLUMN = mask&, fmt&, cx&, pszText%%, cchTextMax&, iSubItem&, iImage&, iOrder&
Faible Column#, LVCOLUMN
Text$ = $ MkStr("\z",160)' ici anpassen, si le Textes länger son devrait
Column#.mask& = ~LVCF_TEXT
Column#.pszText%% = Addr(Text$)
Column#.cchTextMax& = 160' s.o.
SendMessage(Hdl,~LVM_GETCOLUMN,Index&,Column#)
Retour Text$
ENDPROC
Proc ErstelleHTM
Paramètres Handle dGrid, us$, htmdatei$
Déclarer anz&, la ligne$, cols&, column$, tmp$
cols& = CountGridColumns(dGrid)
Déclarer Memory b
Assign #1, htmdatei$
Rewrite #1
Imprimer #1,"<!DOCTYPE html PUBLIC"+chr$(34)+»-//W3C//DTD XHTML 1.0 Transitional//EN"+chr$(34)+"https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"+chr$(34)+">"
Imprimer #1, "<html xmlns="+chr$(34)+"https://www.w3.org/1999/xhtml"+chr$(34)+" xml:lang="+chr$(34)+"de"+chr$(34)+" lang="+chr$(34)+"de"+chr$(34)+">"
Imprimer #1,"<head>"
Imprimer #1, "<title>" + us$ + "</title>"
Imprimer #1, "<style type="+chr$(34)+"text/css"+chr$(34)+">"
Imprimer #1, "td {font-family:Verdana; font-size:12px; border: 1px solid rgb(0, 0, 0); padding: 3px; text-align: left}"
Imprimer #1, "th {font-family:Verdana; font-size:12px; font-weight:bold; border: 1px solid rgb(0, 0, 0); padding: 3px; text-align: left}"
Imprimer #1, ".la ligne1 {font-family:Verdana; font-size:12px; }"
Imprimer #1, ".la ligne3 {font-family:Verdana; font-size:12px;color:black; background-color:#A8D2FD;}"
Imprimer #1, "</style>"
Imprimer #1,"</head>"
Imprimer #1, "<body>"
Imprimer #1, "<table>"
Imprimer #1, "<colgroup>"
Struct LV_COLUMN = Maske&,Formate&,SpaltenBreite&,pointerText&,TextLen&,Spalte&
Déclarer Column#,x&
Faible Column#,LV_COLUMN
WhileLoop 0,(cols& - 1),1
With Column#
.Maske& = $000F
.Spalte& = &loop
EndWith
SendMessage(Grid,$1019,&loop,Column#)
x&= SendMessage(Grid,$101D,&loop,0)
Imprimer #1, "<col width="+chr$(34)+Str$(x&)+"px"+chr$(34)+">"
Endwhile
Imprimer #1, "</colgroup>"
Imprimer #1, "<tr >"
WhileLoop 0, Cols&-1
Imprimer #1, "<th class="+chr$(34)+"zeile3"+chr$(34)+">" + Trim$(LV_GETCOLUMN(dGrid, &loop)) + "</th>"
Endwhile
Imprimer #1, "</tr>"
anz& = GetCount(dGrid)
Var x%=0
Tandis que x%<anz&
Imprimer #1, "<tr>"
WhileLoop 0, Cols&-1
Imprimer #1, "<td class="+chr$(34)+"zeile1"+chr$(34)+">" + Trim$(GetText $(dGrid, x%, &loop)) + "</td>"
Endwhile
Imprimer #1, "</tr>"
inc x%
Endwhile
Imprimer #1, "</table>"
Imprimer #1, "</body>"
Imprimer #1, "</html>"
Fermer #1
'@ShellExec(htmdatei$, "open", 1)
ENDPROC
Proc ShowHtm
Paramètres Handle hwindow, Grid, String fichier, us$
Déclarer Handle htmWin, hWin, hbtn1, hbtn2, Int ende2
ende2 = 0
ErstelleHTM(Grid, us$, fichier)' Html-Dossier erzeugen
hWin = @Créer("Dialog", hwindow, "HTML - Fenster", 10, 10, 800, 400)
hbtn1 = @Créer("Button", hWin, "Drucke", 10, 10, 60, 25)
hbtn2 = @Créer("Button", hWin, "Ende", 100, 10, 60, 25)
htmWin = @Créer("HTMLWin", hWin, fichier, 1, 10, 60, 750, 300)
WhileNot ende2
WaitInput
Si @Clicked(hbtn1)
' Drucken
Messagebox("Mit rechter Bouton de la souris sur qui Tabelle klicken\nund im Kontexmenü Drucken auswählen !", "Info", 0)
'@ShellExec(fichier, "print", 0)
ElseIf @Clicked(hbtn2)
DestroyWindow(hWin)
ende2 = 1
SetActiveWindow(%HWnd)
EndIf
Endwhile
DestroyWindow(hWin)
ENDPROC
Ausdruck : ShowHtm(Fensterhandle, Gridboxhandle, Htmldatei, us$) Htmldatei ist seulement un Dateiname -> z.B. Druck.html. si on später fois le Htmldatei im Browser anschauen/nochmal drucken voudrais. us$ = Überschrift.
tu dois seulement regarder, qui chaque champ avec quelque chose pleine ist, sonst sieht es später pas so joli aus.
si es seulement une page ist, pourrait on aussi avec ScreenCopy ou bien WinCopy essayer.
Ansonsten arrêt sur une Bitmap zeichnen et StartPrint...EndPrint sur dem Drucker ausgeben.
là devrait je de dir quelque chose plus Info avons, comment cela im individuel aussieht. |
| | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 08.02.2018 ▲ |
| |
| | Sebald Grandjean | Vielen Dank! je vergaß: je benutze encore une XProfan 10 aus 2006, werde bientôt mais la fois aufrüsten sur qui X4, si vous récente rauskommt.
dedans qui Boxen müssten ensuite nochmals Rechtecke et Striche angezeigt volonté, quoi qui l'affaire encore komplexer faire serait. malheureusement trop allem Übel encore verschiedene Schriftgrößen ( |
| | | | |
| | H.Brill | bof, zeichnen peux du oui avec den Grafikbefehlen Rectangle,Line, LineTo usw.
alors, je serait là alles sur einem Static (est une Art Leinwand) faire.
ici la fois un Ansatz :
Déclarer Handle label1, label2, edit1, edit2, static
Déclarer Handle btn1, btn2
Déclarer Int ende
Fenêtre 800, 400
static = Créer("Static", %HWnd, 10, 10, 350, 200)
label1 = Créer("Text", static, "Nummer :", 10, 10, 80, 25)
label2 = Créer("Text", static, "Name :", 10, 40, 80, 25)
edit1 = Créer("Edit", static, », 90, 10, 40, 25)
edit2 = Créer("Edit", static, », 90, 40, 120, 25)
btn1 = Créer("Button", %Hwnd, "Drucken", 380, 10, 60, 25)
btn2 = Créer("Button", %HWnd, "Ende", 380, 40, 60, 25)
Début de peinture static
DrawIcon "A", 50, 80
DrawIcon "GESICHT", 100, 80
UseFont "ARIAL", 24, 16, 1, 0, 0
DrawText 10, 120, "Erster Text !"
UseFont "ARIAL", 16, 8, 1, 0, 0
DrawText 10, 170, "Zweiter Text !"
EndPaint
ende = 0
WhileNot ende
WaitInput
Si Clicked(btn1)
' Drucken
WinCopy static
ElseIf Clicked(btn2)
ende = 1
EndIf
Cas %Key = 2 : ende = 1
Endwhile
Fin
cela pourrait aussi dans Version 10 courir.
Sollte on cela formulaire am Bildschirm ou bien sur dem papier remplir peut ? |
| | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 08.02.2018 ▲ |
| |
| | Sebald Grandjean | qui Anzeige ist seulement comme une Art Endkontrolle gedacht, qui on voit, quoi là ausgedruckt wird. Ausgefüllt wird ensuite rien plus, sauf pour dem Ausdrucken per main.
ne...aucune großes Ding à sich, je werde cela wohl sur un JPG ou bien BMP faire et ensuite réellement den Eingabetext drüberzeichnen. là DINA4 qui Ausgabegröße ist, muss je wohl sur un Element zurückgreifen, quoi scrollbar ist.
p.s. qui Code dessus verursacht Variablenfehler, je muss cela später am soir la fois ausprobieren. |
| | | | |
| | H.Brill | peux son, qui qui Version encore keinen Variablentyp Handle kennt. alors simple qui Variablen avec Postfix % ou bien & déclarer.
cherche la fois ici pour Hauptfenster avec Scrollbalken. |
| | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 08.02.2018 ▲ |
| |
| | Sebald Grandjean | je suis profantechnisch malheureusement hoffnungslos vieilli (Prfellow-Generation....). qui l'affaire bekomme je pas à l' courir. c'est pas wirklich tragisch, den Ausdruck bekomme je hin.
une Druckvorschau wird sich avec einfachen Mitteln wohl pas realisieren laisser. Es reicht zunächst, qui Eingaben editierbar trop avons, quoi oui une leichte devoir ist.
seulement nebenbei: Zur Zeit fonctionne qui Geschichte dans EXCEL avec quelque chose VB. j'ai den l'ambition es 'stand alone' dans Profan trop realisieren. |
| | | | |
| | H.Brill | tu peux oui aussi cela kostenlose FreeProfan prendre. là es du wenigstens la fois sur dem Stand de Version X2.
si es dans EXCEL + quelque chose VB allez, bekommt on cela avec Profan aussi hin. quoi une editierbare Gridbox betrifft, là habe je aussi quoi en supplément, quoi aussi funktioniert. |
| | | Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 09.02.2018 ▲ |
| |
| | E.T. | Quelque chose comme J'ai eu avant long, long Zeit la fois dans X11 gebastelt, avec simpler Druckvorschau et Druckfunktion . je packe la fois 'nen Screenshot de qui Druckvorschau et une Ausdruck (sur pdf-Drucker gemacht) ran.
chez intérêt peux je oui la fois am WE den Voir le texte source raussuchen. était mais, là alle Elemente einzeln gezeichnet volonté, un droite "aufwendiges" partie. Bien sûr wurden div. données vom Programme ausgefüllt, si le données dans qui DB vorhanden étions. si je mich droite entsinne, sogar avec Drucker-Anpassung (Ränder usw.) |
| | | XProfan X3Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 09.02.2018 ▲ |
| |
| | Sebald Grandjean | E.T. (09.02.2018)
Quelque chose comme J'ai eu avant long, long Zeit la fois dans X11 gebastelt.....
parfait! So veux je cela aussi hinbekommen. qui Druckroutine ist ne...aucune so großes Problem, plan Fleißarbeit. qui Durckvorschau (avec Scrollbalken) déjà plutôt. |
| | | | |
| | Michael W. | qui Mühe avec qui Druckvorschau fais je Je ne. cela peux on avec dem Druckerdialog avant dem Ausdruck vom Druckertreiber/Windows entleihen. là peux aussi abgebrochen volonté.
chez den Bildern, si es ensuite son soll, serait je un verlustfreies Format (alors png) choisir, avec cela là alles tranchant trop voyons ist. Denke aussi daran: si Du viel avec Linien zeichnen musst, ensuite schaue Dir qui Metafiles (emf) à. |
| | | | |
|
répondreOptions du sujet | 6.873 Views |
Themeninformationencet Thema hat 4 participant: |