Foro | | | | Mindanao | Yo habe ahora jahrelang con Blitz 3D programmiert. In mi letzten Projekt voluntad viele Zahleneingaben gemacht. Blitzbasic sabe desafortunadamente no Zehnerblock. Como Blitzbasic ya jahrelang no mehr supportet se, bin Yo ahora en XProfan 10 gelandet. Yo habe hier aber para Grafik desafortunadamente todavía nichts gefunden. El Eingabebox nutzt me nichts. Yo möchte zwar en un Ventana trabajo, möchte aber grafikmäßig alles selber hacer. |
| | | | |
| | H.Brill | Kann uno doch schön con Localizar y Entrada hacer.
Mit una Editar campo (Crear("Edit",...) es sólo leichter, lo que el Beschränkung en n Signo betrifft :
$00C5 : em_LimitText Bestimmt el maximale Anzahl de Signo, el una Editierfeld aufnehmen darf. N3: Anzahl el Signo (0 = unbegrenzt) Rückgabewert: 0 = Fehler aufgetreten
Como braucht uno sólo sólo una Message ans Editar campo senden :
Beschränkt el Editar campo en 10 Signo. |
| | | 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 fürs antworten. Wenn Yo correcto gelesen habe puede ser con Localizar sólo Reihe y Línea eingeben. Yo möchte una Ventana con Titel 500 x 400 Pixel groß. Darin voluntad mehrere Datengruppen eingegeben y bleiben sichtbar a todos Daten eingegeben son. Diese Eingaben möchte pixelgenau positionieren puede. Yo búsqueda eigentlich una Befehl como Entrada x,y, eingabe$,max_zeichen. Yo habe me algo como ya veces en Blitz 3D programmiert, va auch. Yo denke veces si yo hier no qué fertiges finde, versuche Yo el sólo en XProfan umzusetzen. |
| | | | |
| | Jörg Sellmeyer | Wäre no algo como mejor como una grafische Solución?
Cls
Declarar Liste&,Eingabe&,Button&
Liste& = Crear("ListBox",%hwnd,0,10,10,100,160)
Eingabe& = Crear("Edit", %HWnd, "", 210, 10, 80, 25)
SendMessage(Eingabe&, $00C5, 10, 0)
Button& = Crear("Button",%hwnd,"einfügen",210,40,80,25)
Mientras que 1
WaitInput
If Clicked(Button&)
If GetText $(Eingabe&) > ""
AddStrings(Liste&,GetText $(Eingabe&))
SetText Eingabe&,""
EndIf
EndIf
Wend
|
| | | | |
| | H.Brill | Ganz pixelgenau se al no hinbekommen. Man muß en efecto todavía a el Schriftart o. Schrifthöhe denken. Entweder, como oben Jörg ya geschrieben ha, oder sólo en el Textmodus con Localizar usw.
Mit TBox x1, y1 - x2, y2; N puede ser en efecto schöne Rahmen a Abgrenzung hacer. Tal vez algo como :
Declarar Name$, Vorname$, Ort$, Strasse$, Telefon$, otra vez$
Declarar ende%
Título de la ventana "Mein Fenster"
Ventana 500, 400
Cls RGB(0, 0, 0)' schwarzes Ventana
Color 14, 0
Fensteraufbau()
ende% = 0
Sinestar encargado ende%
Localizar 2,13 : Entrada Name$
Localizar 3,13 : Entrada Vorname$
Localizar 4,13 : Entrada Ort$
Localizar 5,13 : Entrada Strasse$
Localizar 6,13 : Entrada Telefon$
Localizar 7,20 : Entrada otra vez$
If Upper$(otra vez$) = "N"
ende% = 1
Más
Localizar 12, 10 : Imprimir Espacio$(70)
Localizar 12, 10 : Imprimir Name$, Vorname$, Ort$
LoescheEingabefelder()
EndIf
EndWhile
Proc Fensteraufbau
TBox 1, 1 - 9, 35; 2
Localizar 2,2 : Imprimir "Name : "
Localizar 3,2 : Imprimir "Vorname : "
Localizar 4,2 : Imprimir "Ort : "
Localizar 5,2 : Imprimir "Straße : "
Localizar 6,2 : Imprimir "Telefon : "
Localizar 7,2 : Imprimir "Nochmal (J/N) ?"
Localizar 1,5 : Imprimir "Eingaben"
ENDPROC
Proc LoescheEingabeFelder
Localizar 2,13 : Imprimir Espacio$(22)
Localizar 3,13 : Imprimir Espacio$(22)
Localizar 4,13 : Imprimir Espacio$(22)
Localizar 5,13 : Imprimir Espacio$(22)
Localizar 6,13 : Imprimir Espacio$(22)
ENDPROC
End
Was el Längenbegrenzung betrifft : Como ha veces irgendwer qué gebastelt :
DECLARE testtext0$,testtext1$,testtext2$
Proc Dput
Parámetros x%, y%, r$, size%, mode%
declarar DIend%,blink%,mod0$,mod1$,mod2$,curs$,a$
'Vorgaben para el Eingabe Modis definieren"
mod0$="0123456789"'modus 0 = sólo Pagar
mod1$="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"'modus 1 = Nur Buchstaben
mod1$=mod1$+"-_.: !?"'modus 1 = plus ggf. sonderzeichen
mod2$=mod0$+mod1$'modus 2 = Zeuichen de modus 1 y modus 2
locate x%,y%
imprimir r$;":";
whilenot DIend%
if blink%=1'si blinkender Cursor gewünscht es
curs$="_ "'Cursor Mostrar
más
curs$=" "'Kein Cursor
endif
blink%=abs(blink%-1)' así se Blink% siempre 0 oder -1
settimer 500'wartezeit 500 ms si no taste gedrückt se
waitinput'warten en Eingabe ereigniss (Tastatur, Ratón..)
killtimer
'Hier el Auswertung el eingabe
if (%scankey<>0)' wurde una taste gedrückt????
if %scankey = 8' Del Taste gedrückt
caso @len(a$)>=1: let a$=@mid$(a$,1,@len(a$)-1)'entonces el Stringvariable en 1 lugar abschneiden si Longitud Größer igual 1 zeichen es
elseif %scankey = 13'Enter Taste
DIend%=1
más'weder ENTER todavía DEL
if (@len(a$)<>size%)'Es el MaxLänge todavía no erreicht???
if mode% = 0
caso @instr(chr$(%scankey),mod0$)<>0: a$=a$+mid$(mod0$,@instr(chr$(%scankey),mod0$),1)'El Signo el en mod0$ angegeben son zulassen (hier sólo Pagar)
elseif mode% = 1
caso @instr(chr$(%scankey),mod1$)<>0: a$=a$+mid$(mod1$,@instr(chr$(%scankey),mod1$),1)'El Signo el en mod1$ angegeben son zulassen (hier sólo Buchstaben)
elseif mode% = 2
caso @instr(chr$(%scankey),mod2$)<>0: a$=a$+mid$(mod2$,@instr(chr$(%scankey),mod2$),1)'El Signo de en mod2$ (hier sólo Pagar y Buchstaben)
endif
endif
endif
endif
locate x%,y%
caso DIend%=0:imprimir r$;":";a$;curs$
wend
PRINT r$;":";a$;" "
volver a$
ENDPROC
'Aufruf el Procedure
Dput 3,10,"Geben Sie Ihre PLZ ein",5,0
testtext0$= $(0)'Rückgabewert (eingabe) en Variable holen
Dput 4,5,"Geben Sie Ihre Ihren Namen ein",15,1
testtext1$= $(0)'Rückgabewert (eingabe) en Variable holen
Dput 5,5,"Geben Sie Ihre Ihre Strasse + Nr ein",15,2
testtext2$= $(0)'Rückgabewert (eingabe) en Variable holen
imprimir "Deine Eingaben waren "
imprimir testtext0$
imprimir testtext1$
imprimir testtext2$
waitinput
Möglicherweise kannst du auch el uso. |
| | | 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 y co son como aber Elefantenbüchsen para Flöhe. Wenn entonces doch más bien DrawText X, Y, S[, N] Damit puede ser pixelgenau positionieren. Wenn uno el Arbeit necesariamente hacer möchte... |
| | | | |
| | H.Brill | Stimmt ya, qué du schreibst. Weiß pero no, qué el bringen se. Er muß entonces sowieso con Entrada trabajo, si wir veces en el Grafikmodus bleiben.
Das Entrada en el Grafikmodus hay sí no.
Und una cierto Schrifthöhe muß uno sí auch haben, en vernünftig el con DrawText Geschriebene lesen a puede o. qué eingeben kann. Nach meiner Erfahrung es como no viel Diferencia, qué el Platzbedarf angeht.
Como müßte Mindanao veces genau sagen, qué él haben voluntad. Wenn Yo Blitz 3 D sehe, es en cada Fall veces no GUI. Das podría uno sólo el normalen Blitzbasic hacer. |
| | | 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 | ¡Hola Personas In Blitz 3D hay una Entrada el uno, egal si Ventana oder NichtFenster, überal en Pixelschritten hinpinnen kann. Das Problema es, el en el Eingabe sólo siempre gewartet se. In XProfan puede ser en Entrada scheinbar no con otro y grösseren Schriften trabajo. ¿Por qué Yo el Pixelgenau haben möchte liegt a el Art Bedienoberfläche Yo ellos mag. En allen Programmen el Yo a ahora programmiert habe, mache Yo el Programmoberfläche con allen Gráficos, Knöpfen u.s.w. alles selber. El Eigaberoutine en Blitzbasic habe me auch selber geschrieben. El arbeitet con Tastenabfrage, uno kann siempre a individual Eingaben por Tastatur hin y herspringen,beliebige Schriftenn u.s.w. El Function Yo me heute ausgedruckt, y voluntad versuchen esta 1 a 1 en XProfan umzusetzen. Sollte hinzukriegen ser. |
| | | | |
| | Mindanao | ¡Hola ! Yo habe me otra vez el beigefügten Fuente angeschaut. Das zweite Ejemplo de H.Brill es eigentlich genau el Yo búsqueda, allerdings con zwei wichtigen änderungen. Das Pixelgenaue, indem uno en lugar de Imprimir el Befehl Texto nimmt wahrschein kein Problema. Das zweite, el Zehnerblock, el va con diesem Ver código fuente nämlich desafortunadamente auch no y en Art de Abfrage se lo wahrscheinlich auch no ir. |
| | | | |
| | H.Brill | Usted hast bastante. Der Zehnerblock va no. Der Scancode es auch una otro, como en el Tabla el Tastencodes (96 - 105) angegeben es. Richtig es sólo en un Editar campo. Das sería Yo a deiner Punto nehmen, como uno dieses auch pixelgenau dimensionieren kann y obendrein puede ser auch el número el einzugebenden Signo einstellen.
PS: Wenn du haben willst, daß en un Editar campo sólo Pagar, Komma oder Punkt zugelassen se, 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 | ¡Hola Ersmal Gracias el se siempre todavía jenand Gedanken a diesem Thema macht. Den Code de Usted, con el guten ansätzen, bin Yo ya dran a mi bedürfnisse anzupassen. Generell bin esta el Befehle de de Blitz 3D en XProfan para encontrar. Nochmal para Zehnerblock. Yo habe me para el Arbeit algunos Helferlei en Blitz 3D programmiert, el auch todos trabajo, salvo el letzte, wo sólo el Zehnerblock no va. Diesen Tool dient dazu, para una Druckauftrag el fast täglich kommt viele Daten einzugeben. Alle mi Helferlein voluntad no sólo de me, auch de Kollegen genutzt. Lo se alles sin Ratón trabajo y el Daten nacheinander eingegeben voluntad. El Daten voluntad aufbereitet y luego como Datensätze en éinem Ordner abgelegt. Ein Ordner para el Druckauftrag, cada File enpricht uno a druckenden Papel. Nachdem el gespeichert es voluntad en una Etikettendrucker para jede Papel entsprechende Rollenetiketten gedruckt y danach todavía en una zweiten Etikettendrucker passende grössere Kartonetiketten. An el Filebefehlen bin dran. Kleine probierschnipsel ir ya. Beim drucken Todavía algunos Problemas. Das drucken se alles sin aufpopende Ventana ir. Yo muss en el Programa con 3 Druckern trabajo, also en el Programa auswählen, drucken y a schluss otra vez el Standartdrucker conjunto puede. Îch habe zwar el una oder otro Befehl ya gefunden, aber sólo todavía no todos. Como währe todavía el Hilfefunktion. Zuerst veces grosses Lob el alles en Alemán es, el viel a lesen como es, pero yo finde sólo schwer el Yo eigentlich búsqueda. Zum Thema drucken findet se zwar qué, aber irgentwie fehlt siempre qué. Naja, Yo bin 62, vieleicht fehlt langsam el Überblick fürs grosse todo. |
| | | | |
| | H.Brill | ¡Hola, bin auch sólo 3 Jahre jünger, como du. Bin dafür aber ya seit Anfang a hier esta.
Yo habe dir veces una kleines Beispielprogramm con reichlich Kommentaren gemacht. Tal vez hilft lo dir sí más :
Declarar Dialog&, Btn1&, Editar1&, Editar2&, Editar3&, Ende&
Ende& = 0
Título de la ventana "Editfelder"
Ventana 600, 400
' Como en un Dialogfenster auch el ENTER-Taste en el Editar campo
' funktioniert, nehmen wir una Diálogo en lugar de una normalen Ventana.
Dialog& = Control("DIÁLOGO","",$54000000,10,10,200,150,%hwnd,0,%hInstance)
Crear("Text", Dialog&, "Nummer :", 10, 10, 80, 20)
Crear("Text", Dialog&, "Name :", 10, 35, 80, 20)
Crear("Text", Dialog&, "Ort :", 10, 60, 80, 20)
Edit1& = Crear("Edit", Dialog&, "", 100, 10, 90, 20)
Edit2& = Crear("Edit", Dialog&, "", 100, 35, 90, 20)
Edit3& = Crear("Edit", Dialog&, "", 100, 60, 90, 20)
Btn1& = Crear("Button", Dialog&, "", 10, 130, 40, 25)
' Um el Eingabe en uno Bucle a haben, sodaß el Cursor
' otra vez en el 1. Eingabefeld springt, se hier
' el Trick con un unsichtbaren Button angewandt.
' Dort se simplemente el Foco otra vez el erste
' Eingabefeld gelegt.
' Editfelder en 10 Signo limitieren
SendMessage(Editar1&, $00C5, 10, 0)
SendMessage(Editar2&, $00C5, 10, 0)
SendMessage(Editar3&, $00C5, 10, 0)
Usermessages $10' Schließen-Cruz abfragen
SetFocus(Editar1&)
ShowWindow(Btn1&, 0)' Button unsichtbar hacer
Sinestar encargado Ende&
WaitInput
If GetFocus(Btn1&)
' Hier könnten el Editfelder ausgelesen voluntad
' o. el Eingaben ausgewertet voluntad.
' Sollten el Editfelder para el nächste Eingabe
' leer ser, simplemente con SetText Editar1&, "" usw.
' löschen.
SetFocus(Editar1&)
EndIf
Case %UMessage = $10 : Ende& = 1
EndWhile
End
Mit el Drucken sehen wir entonces 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 ▲ |
| |
|
RespuestaTema opciones | 11.445 Views |
ThemeninformationenDieses Thema ha 3 subscriber: |