Forum | | | | Mindanao | j'ai maintenant jahrelang avec Blitz 3D programmiert. dans meinem letzten projet volonté viele Zahleneingaben gemacht. Blitzbasic kennt malheureusement keinen Zehnerblock. là Blitzbasic déjà jahrelang pas plus supportet wird, suis je maintenant chez XProfan 10 gelandet. j'ai ici mais pour Grafik malheureusement encore rien trouvé. qui Eingabebox utilise mir rien. je voudrais zwar dans einem la fenêtre travailler, voudrais mais grafikmäßig alles selber faire. |
| | | | |
| | H.Brill | peux on doch joli avec Localiser et Contribution faire.
avec einem Modifier le champ de (Créer("Edit",...) ist es arrêt leichter, quoi qui Beschränkung sur n marque betrifft :
$00C5 : em_LimitText Bestimmt qui maximale Anzahl de marque, qui un Editierfeld aufnehmen darf. N3: Nombre de marque (0 = illimité) Rückgabewert: 0 = faute aufgetreten
là braucht on arrêt seulement une Message à l' Modifier le champ de senden :
Beschränkt cela Modifier le champ de sur 10 marque. |
| | | 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. | 01.06.2017 ▲ |
| |
| | Mindanao | Ersmal vielen Dank pour répondre. si je richtig gelesen habe peux on avec Localiser seulement Reihe et la ligne eingeben. je voudrais un la fenêtre avec Titel 500 x 400 Pixel grand. y volonté plusieurs Datengruppen eingegeben et rester sichtbar jusqu'à alle données eingegeben sommes. cet Eingaben voudrais pixelgenau positionieren peut. je cherche eigentlich une Befehl comment Contribution x,y, eingabe$,max_zeichen. j'ai mir quelque chose comme déjà la fois dans Blitz 3D programmiert, allez aussi. je denke la fois si je ici pas quoi fertiges finde, versuche je cela arrêt dans XProfan umzusetzen. |
| | | | |
| | Jörg Sellmeyer | Wäre pas quelque chose comme besser comme une grafische Solution?
Cls
Déclarer Liste&,Eingabe&,Button&
Liste& = Créer(ListBox,%hwnd,0,10,10,100,160)
Eingabe& = Créer("Edit", %HWnd, », 210, 10, 80, 25)
SendMessage(Eingabe&, $00C5, 10, 0)
Button& = Créer("Button",%hwnd,"einfügen",210,40,80,25)
Tandis que 1
WaitInput
Si Clicked(Button&)
Si GetText $(Eingabe&) > »
AddStrings(Liste&,GetText $(Eingabe&))
SetText Eingabe&,»
EndIf
EndIf
Wend
|
| | | | |
| | H.Brill | entier pixelgenau wird on cela pas hinbekommen. il faut oui aussi encore à qui Schriftart bzw. Schrifthöhe penser. Entweder, comment dessus Jörg déjà geschrieben hat, ou bien arrêt im Textmodus avec Localiser usw.
avec TBox x1, y1 - x2, y2; N peux on oui aussi belle cadre zur démarcation faire. peut-être quelque chose comme :
Déclarer nom$, prénom$, lieu$, Strasse$, téléphone$, nochmal$
Déclarer ende%
Titre de la fenêtre "Mein Fenster"
Fenêtre 500, 400
Cls RGB(0, 0, 0)' schwarzes la fenêtre
Color 14, 0
Fensteraufbau()
ende% = 0
WhileNot ende%
Localiser 2,13 : Contribution nom$
Localiser 3,13 : Contribution prénom$
Localiser 4,13 : Contribution lieu$
Localiser 5,13 : Contribution Strasse$
Localiser 6,13 : Contribution téléphone$
Localiser 7,20 : Contribution nochmal$
Si Upper$(nochmal$) = "N"
ende% = 1
D'autre
Localiser 12, 10 : Imprimer Space$(70)
Localiser 12, 10 : Imprimer nom$, prénom$, lieu$
LoescheEingabefelder()
EndIf
Endwhile
Proc Fensteraufbau
TBox 1, 1 - 9, 35; 2
Localiser 2,2 : Imprimer "Name : "
Localiser 3,2 : Imprimer "Vorname : "
Localiser 4,2 : Imprimer "Ort : "
Localiser 5,2 : Imprimer "Straße : "
Localiser 6,2 : Imprimer "Telefon : "
Localiser 7,2 : Imprimer "Nochmal (J/N) ?"
Localiser 1,5 : Imprimer "Eingaben"
ENDPROC
Proc LoescheEingabeFelder
Localiser 2,13 : Imprimer Space$(22)
Localiser 3,13 : Imprimer Space$(22)
Localiser 4,13 : Imprimer Space$(22)
Localiser 5,13 : Imprimer Space$(22)
Localiser 6,13 : Imprimer Space$(22)
ENDPROC
Fin
quoi qui Längenbegrenzung betrifft : là hat la fois irgendwer quoi gebastelt :
DECLARE testtext0$,testtext1$,testtext2$
Proc Dput
Paramètres x%, y%, r$, size%, mode%
declare DIend%,blink%,mod0$,mod1$,mod2$,curs$,a$
'Vorgaben pour qui Eingabe Modis definieren"
mod0$="0123456789"'modus 0 = seulement payons
mod1$="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"'modus 1 = seulement Buchstaben
mod1$=mod1$+"-_.: !?"'modus 1 = plus ggf. sonderzeichen
mod2$=mod0$+mod1$'modus 2 = Zeuichen de modus 1 et modus 2
locate x%,y%
imprimer r$;»;
whilenot DIend%
si blink%=1'si blinkender Cursor gewünscht ist
curs$="_ "'Cursor Montrer
d'autre
curs$=" "'ne...aucune Cursor
endif
blink%=abs(blink%-1)' avec cela wird Blink% toujours 0 ou bien -1
settimer 500'wartezeit 500 ms si aucun bouton gedrückt wird
waitinput'attendre sur Eingabe ereigniss (clavier, souris..)
killtimer
'ici qui Auswertung qui eingabe
si (%scankey<>0)' wurde une bouton gedrückt????
si %scankey = 8' Del bouton gedrückt
cas @len(a$)>=1: let a$=@mid$(a$,1,@len(a$)-1)'ensuite qui Stringvariable um 1 lieu couper si Longueur Größer juste 1 marque ist
elseif %scankey = 13'Enter bouton
DIend%=1
d'autre'weder ENTER encore DEL
si (@len(a$)<>size%)'ist qui MaxLänge encore pas erreicht???
si mode% = 0
cas @instr(chr$(%scankey),mod0$)<>0: a$=a$+mid$(mod0$,@instr(chr$(%scankey),mod0$),1)'qui marque qui dans mod0$ angegeben sommes zulassen (ici seulement payons)
elseif mode% = 1
cas @instr(chr$(%scankey),mod1$)<>0: a$=a$+mid$(mod1$,@instr(chr$(%scankey),mod1$),1)'qui marque qui dans mod1$ angegeben sommes zulassen (ici seulement Buchstaben)
elseif mode% = 2
cas @instr(chr$(%scankey),mod2$)<>0: a$=a$+mid$(mod2$,@instr(chr$(%scankey),mod2$),1)'qui marque aus dans mod2$ (ici seulement payons et Buchstaben)
endif
endif
endif
endif
locate x%,y%
cas DIend%=0:imprimer r$;»;a$;curs$
Wend
PRINT r$;»;a$;" "
return a$
endproc
'Aufruf qui Procedure
Dput 3,10,"Geben vous ses PLZ ein",5,0
testtext0$= $(0)'Rückgabewert (eingabe) dans Variable holen
Dput 4,5,"Geben vous ses Ihren Namen ein",15,1
testtext1$= $(0)'Rückgabewert (eingabe) dans Variable holen
Dput 5,5,"Geben vous ses ses Strasse + Nr ein",15,2
testtext2$= $(0)'Rückgabewert (eingabe) dans Variable holen
imprimer "Deine Eingaben étions "
imprimer testtext0$
imprimer testtext1$
imprimer testtext2$
waitinput
Möglicherweise peux du aussi cela verwenden. |
| | | 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. | 02.06.2017 ▲ |
| |
| | Jörg Sellmeyer | Na locate et co sommes là mais Elefantenbüchsen pour Flöhe. si ensuite doch lieber DrawText X, Y, S[, N] avec cela peux on pixelgenau positionieren. si on sich qui travail absolument faire voudrais... |
| | | | |
| | H.Brill | Stimmt déjà, quoi tu écris. sais mais pas, quoi cela apporter soll. il doit ensuite sowieso avec Contribution travailler, si wir la fois im Grafikmodus rester.
cela Contribution im Grafikmodus gibt es oui pas.
et une bestimmte Schrifthöhe doit on oui aussi avons, um vernünftig cela avec DrawText Geschriebene lesen trop peut bzw. quoi eingeben peux. Pour meiner Erfahrung ist là pas viel Unterschied, quoi den Platzbedarf angeht.
là devrait Mindanao la fois oui c'est ca dire, quoi il avons veux. si je Blitz 3 D vois, ist es sur jeden le cas la fois aucun GUI. cela konnte on seulement avec dem normalen Blitzbasic faire. |
| | | 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. | 02.06.2017 ▲ |
| |
| | Mindanao | allô gens dans Blitz 3D gibt es un Contribution cela on, égal si la fenêtre ou bien NichtFenster, überal dans Pixelschritten hinpinnen peux. cela Problem ist, cela sur qui Eingabe arrêt toujours gewartet wird. dans XProfan peux on chez Contribution scheinbar pas avec anderen et grösseren Schriften travailler. pourquoi je cela Pixelgenau avons voudrais liegt à qui Art Bedienoberfläche comment je elle aime. chez allen Programmen qui je jusqu'à maintenant programmiert habe, fais je mir qui Programmoberfläche avec allen Grafiken, Knöpfen u.s.w. alles selber. qui Eigaberoutine dans Blitzbasic habe mir aussi selber geschrieben. qui arbeitet avec Tastenabfrage, il peut toujours le individuel Eingaben per clavier hin et herspringen,beliebige Schriftenn u.s.w. qui Function habe je mir aujourd'hui ausgedruckt, et werde versuchen cet 1 trop 1 dans XProfan umzusetzen. Sollte hinzukriegen son. |
| | | | |
| | Mindanao | allô ! j'ai mir nochmal qui beigefügten Source angeschaut. cela zweite Beispiel de H.Brill ist eigentlich oui c'est ca cela quoi je cherche, allerdings avec deux wichtigen änderungen. cela Pixelgenaue, indem on statt Imprimer den Befehl Text nimmt wahrschein ne...aucune Problem. cela zweite, qui Zehnerblock, qui allez avec diesem Voir le texte source nämlich malheureusement aussi pas et chez qui Art de Abfrage wird es wahrscheinlich aussi pas aller. |
| | | | |
| | H.Brill | tu as droite. qui Zehnerblock allez pas. qui Scancode ist aussi un anderer, comment dans qui Tabelle qui Tastencodes (96 - 105) angegeben ist. Richtig ca va seulement dans einem Modifier le champ de. cela serait je à deiner Stelle prendre, là on cet aussi pixelgenau dimensionieren peux et obendrein peux on aussi le nombre qui einzugebenden marque einstellen.
PS: si du avons veux, qui dans einem Modifier le champ de seulement payons, Komma ou bien Punkt zugelassen wird, siehe Anhang. |
| | | 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. | 10.06.2017 ▲ |
| |
| | Mindanao | allô Ersmal merci cela sich toujours jenand Gedanken trop diesem Thema pouvoir. Den Code de Dir, avec den guten ansätzen, suis je déjà tour à mon bedürfnisse anzupassen. Generell suis dabei qui Befehle de de Blitz 3D dans XProfan pour trouver. Nochmal zum Zehnerblock. j'ai mir pour qui travail quelques Helferlei dans Blitz 3D programmiert, qui aussi alle marcher, jusqu'à sur cela dernier, wohin arrêt qui Zehnerblock pas allez. Diesen Tool dient en supplément, pour une Druckauftrag qui presque täglich venez viele données einzugeben. Alle mon Helferlein volonté pas seulement de mir, aussi de Kollegen genutzt. Es soll alles sans souris marcher et qui données nacheinander eingegeben volonté. qui données volonté aufbereitet et ensuite comme Datensätze dans éinem Dossier abgelegt. un Dossier pour den Druckauftrag, chaque File enpricht einer trop druckenden rôle. après que cela gespeichert ist volonté sur einem Etikettendrucker pour chacun rôle entsprechende Rollenetiketten gedruckt et après encore sur einem zweiten Etikettendrucker passende grössere Kartonetiketten. à den Filebefehlen suis tour. Kleine probierschnipsel aller déjà. Beim drucken habe je encore quelques Probleme. cela drucken soll alles sans aufpopende la fenêtre aller. je muss im Programme avec 3 Druckern travailler, alors im Programme auswählen, drucken et trop schluss wieder den Standartdrucker mettons peut. Îch habe zwar den une ou bien anderen Befehl déjà trouvé, mais arrêt encore pas alle. là währe encore qui Hilfefunktion. d'abord la fois grosses Lob cela alles dans allemande ist, cela viel trop lesen voilà, mais je trouve seulement schwer cela quoi je eigentlich cherche. Zum Thema drucken findet sich zwar quoi, mais irgentwie fehlt toujours quoi. bof, je suis 62, vieleicht fehlt lente qui Überblick pour grosse ganze. |
| | | | |
| | H.Brill | allô, suis aussi seulement 3 Jahre jünger, comme du. suis pour mais déjà depuis Anfang à ici dabei.
j'ai dir la fois un kleines Beispielprogramm avec reichlich Kommentaren gemacht. peut-être hilft es dir oui plus :
Déclarer Dialog&, Btn1&, Éditer1&, Éditer2&, Éditer3&, Ende&
Ende& = 0
Titre de la fenêtre "Editfelder"
Fenêtre 600, 400
' là dans einem Dialogfenster aussi qui ENTER-bouton im Modifier le champ de
' funktioniert, prenons une Dialog statt einem normalen la fenêtre.
Dialog& = Contrôle("Dialogue",»,$54000000,10,10,200,150,%hwnd,0,%HINSTANCE)
Créer("Text", Dialog&, "Nummer :", 10, 10, 80, 20)
Créer("Text", Dialog&, "Name :", 10, 35, 80, 20)
Créer("Text", Dialog&, "Ort :", 10, 60, 80, 20)
Edit1& = Créer("Edit", Dialog&, », 100, 10, 90, 20)
Edit2& = Créer("Edit", Dialog&, », 100, 35, 90, 20)
Edit3& = Créer("Edit", Dialog&, », 100, 60, 90, 20)
Btn1& = Créer("Button", Dialog&, », 10, 130, 40, 25)
' Um qui Eingabe dans einer Boucle trop avons, si qui Cursor
' wieder ins 1. Eingabefeld springt, wird ici
' qui Trick avec einem unsichtbaren Button angewandt.
' là wird simple qui Concentrer wieder sur cela erste
' Eingabefeld gelegt.
' Editfelder sur 10 marque limitieren
SendMessage(Éditer1&, $00C5, 10, 0)
SendMessage(Éditer2&, $00C5, 10, 0)
SendMessage(Éditer3&, $00C5, 10, 0)
Usermessages $10' Schließen-Croix abfragen
SetFocus(Éditer1&)
ShowWindow(Btn1&, 0)' Button unsichtbar faire
WhileNot Ende&
WaitInput
Si GetFocus(Btn1&)
' ici könnten qui Editfelder ausgelesen volonté
' bzw. qui Eingaben ausgewertet volonté.
' Sollten qui Editfelder pour qui prochain Eingabe
' vide son, simple avec SetText Éditer1&, » usw.
' effacer.
SetFocus(Éditer1&)
EndIf
Cas %UMessage = $10 : Ende& = 1
Endwhile
Fin
avec dem Drucken voyons wir ensuite später. |
| | | 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. | 10.06.2017 ▲ |
| |
|
répondreOptions du sujet | 11.367 Views |
Themeninformationencet Thema hat 3 participant: |