Foro | | | | Lars Gallasch | ¡Hola
Yo voluntad el El Eingaben en el Diálogo entonces en el Hauptfensterangezeigt voluntad, Yo esta suchen y seichern kann. Wenn Yo aber el Zweige eingebe bekomm Yo sólo Fehlermeldungen.Was mache Yo como falso. Gruss Lars KompilierenMarcaSeparación
proc Eingabe
declare hFont&
declare _ende%
declare _dlg%
declare Name%
declare Strasse%
declare PLZ%
declare Ort%
declare Dat%
declare PARK%
declare ABL%
declare VOB%
declare BEM%
declare ENDE%
declare BOK%
hFont& = create("Font", "ARIAL",14,0,0,0,0)
setdialogfont hFont&
_dlg% = createdialog(%hWnd, "Eingabe Kunde", 180, 100, 886, 608)
Name% = create("text", _dlg%, "Name", 32, 16, 128, 32)
create("edit", _dlg%, "", 32, 48, 376, 40)
Strasse% = create("text", _dlg%, "Strasse", 32, 112, 128, 32)
create("edit", _dlg%, "", 32, 144, 376, 40)
PLZ% = create("text", _dlg%, "Postleitzahl", 32, 208, 128, 32)
create("edit", _dlg%, "", 32, 240, 376, 40)
Ort% = create("text", _dlg%, "Ort", 32, 312, 128, 32)
create("edit", _dlg%, "", 32, 344, 376, 40)
Dat% = create("dateedit", _dlg%, "Datum", 32, 408, 128, 32)
PARK% = create("Text", _dlg%, "Parken", 472, 16, 112, 32)
create("edit", _dlg%, "", 472, 48, 264, 40)
ABL% = create("text", _dlg%, "Abladen", 32, 472, 128, 32)
VOB% = create("edit", _dlg%, "Von: Bis:", 32, 504, 376, 40)
BEM% = create("text", _dlg%, "Bemerkung", 472, 112, 128, 32)
create("edit", _dlg%, "", 472, 144, 392, 352)
BOK% = create("button", _dlg%, "OK", 528, 528, 104, 32)
ENDE% = create("button", _dlg%, "Abbruch", 656, 528, 112, 32)
_ende% = 0
whilenot _ende%
waitinput
if @equ(%key ,2)
let _ende% = 1
elseif @getfocus(ENDE%)
_ende% = 1
elseif getfocus(bok%)
let Zeile$ = @gettext$(Name%, Strasse%,PLZ%,Ort%,Datum%,Abladen%,Bemerkung%)
let ende% = 1
endif
wend
@destroywindow(_dlg%)
endproc
Proc TextDemo
Declare Winkel%,Groesse%
TextColor @RGB(0,0,0), -1
UseFont "Times New Roman",Groesse%,0,0,0,0
DrawText 250,180,Zeile$
Add Winkel%,150
Wend
EndProc
Proc Bildschirm
CLS
_dlg
ENDPROC
=============
Hauptprogramm
=============
DECLARE Ende%, Zeile$
WindowStyle $21F
Window 0,0-640,480
WindowTitle "Kunden Übersicht"
PopUp "&Datei"
Appendmenu 201,"&Neu"
Appendmenu 202,"&Suchen"
Appendmenu 203,"&Öffnen"
Appendmenu 204,"&Seichern"
Appendmenu 205,"Speichern &als"
Separator
Appendmenu 401,"&Beenden"
PopUp "Hilfe"
Appendmenu 601,"&Info"
Let Zeile$ = ""
Let Ende% = 0
WHILENOT Ende%
WAITINPUT
IF MenuItem(201)
Eingabe
ELSEIF MenuItem(202)
@createtext(Dlg%,"Geben Sie einen Suchbegriff ein und drücken Sie den Button",30,5,424,16)
ELSEIF MenuItem(203)
Bildschirm
ELSEIF MenuItem(204)
Let Name% = @SaveFile$("Speichere Datei",
"Kunden Übersicht(*.prf)|*.prf|Header-Datei (*.ph)|*.ph|Text (*.txt)|*.txt")
ELSEIF MenuItem(401)
Let Ende% = 1
ELSEIF MenuItem(601)
MessageBox( "(c) Lars Gallasch 2008","Kundenverzeichnis",48)
ENDIF
='./../../funktionsreferenzen/XProfan/endwhile/'>ENDWHILE
FIN
|
| | | | |
| | Rolf Koch | Hi Lars
Zuerst el Bitte Fuente con [_code][_/code] sin _ hier auflisten. Hab dies para Usted geändert, sodass el Code mejor adecuado se.
Datum%,Abladen%,Bemerkung% son no deklariert. Apéndice: Hab grad gesehen, dass Usted esta garnicht en el Programa zuordnest sólo sólo en Línea$ esta benötigt hast. Usted hast el declariert como Bermerkung% y nutzt dafür aber BEM% y genau dasselbe con abladen% lautet unten VOB% ???? Oder Dat% es unten para auslesen aufeinmal datum% ????? Das puede Programa sí no wissen *lol* _dlg es el una Proc? Kann Yo no encontrar. El fehlt todavía. Yo mi dies hier: KompilierenMarcaSeparación Oder kann lo ser, dass Usted sólo oben en el Diálogo algo verwechselt hast? El lautet nämlich PROC EINGABE.
Desweiteren unten no declariert: DLG%,Name% Aber Yo sehe, como machst Usted auch una Fehler, porque SAVEFILE benötigt una STRINGVARIABLE also Name$=@savefile..... porque el Ergebnis no Zahl pero una Expediente ser se! Yo hoffe, danach gehts auch más? Weil una SAVEFILE reicht no, porque así hast Usted sólo el String como CFADNOCHNPFADNAMEDERDATEI.XXX erreicht. Für el Guardar musst Usted entonces incluso todavía sorgen.
Es hart: @gettext$(Name%, Strasse%,PLZ%,Ort%,Datum%,Abladen%,Bemerkung%) Usted puede pro Variable sólo una vez gettext nehmen: KompilierenMarcaSeparación Oder mach lo así: KompilierenMarcaSeparación Apéndice: Uuiuiuiui - el es auch krass: KompilierenMarcaSeparaciónName% = create(texto, _dlg%, Name, 32, 16, 128, 32)
create(edit, _dlg%, , 32, 48, 376, 40)
Usted musst el Editfeldern el Variables geben, porque esta möchtest Usted doch auslesen! Hier bekommst Usted siempre sólo el Texto en el Textfeld zurück Hier wäre lo para Ejemplo siempre Name, welcher en el Ergebnis posición sería, porque como dijo es con gettext$(name%) hier el Textfeld siempre ausgelesen y dies es sí logischerweise NAME y restos siempre NAME ^ ^ So correcto: KompilierenMarcaSeparacióncreate(texto, _dlg%, Name, 32, 16, 128, 32)
Name%=create(edit, _dlg%, , 32, 48, 376, 40)
Nochwas: Oben en el _dlg% benennst Usted el Beendenbutton ende% y unten el Programmendevariable auch ende% Nenn más bien entonces el Programmendevariable: progende% Auch sería Yo en elseif getfocus(bok%) una ende% = 1 conjunto, así el Dialogfenster otra vez geschlossen se. |
| | | | |
| | Lars Gallasch | Yo danke dir para deine schnelle Ayuda . Bin sí aún en Anfängerstress. Werde el todo Sache otra vez Überarbeiten. |
| | | | |
| | | @Lars Im Codetext es una Eingabedialog el Usted natürlich después de Deinem Geschmack verändern kannst. Aber así funktioniert el Sache - spätere Möglichkeiten son natürlich todavía offen. Aber zuerst una vez el Grundzüge beherrschen ;) KompilierenMarcaSeparaciónDECLARE font0%
font0%=CREATE("FONT","ARIAL",16,6,0,0,0)
---------------------------------------------------------------------------------
PROC EINGABE
DECLARE EE%,eingabe&,back%,save%,zeile%,steig%,txt%
zeile%=20
steig%=30
DECLARE name%,vorname%,strasse%,plz%,ort%
DECLARE name$,vorname$,strasse$,plz$,ort$
EE%=0
eingabe&=CREATE("DIALOG",%hwnd,"Eingabe-Modul",(%MaxX/2-200),(%MaxY/2-200),400,260)
txt%=CREATE("TEXT",eingabe&,"Name:",10,zeile%,100,20)
SetFont txt%,font0%
name%=CREATE("EDIT",eingabe&,name$,110,zeile%,250,20)
zeile%=zeile%+steig%
txt%=CREATE("TEXT",eingabe&,"Vorname:",10,zeile%,100,20)
SetFont txt%,font0%
vorname%=CREATE("EDIT",eingabe&,vorname$,110,zeile%,250,20)
zeile%=zeile%+steig%
txt%=CREATE("TEXT",eingabe&,"Strasse:",10,zeile%,100,20)
SetFont txt%,font0%
strasse%=CREATE("EDIT",eingabe&,strasse$,110,zeile%,250,20)
zeile%=zeile%+steig%
txt%=CREATE("TEXT",eingabe&,"Postleitzahl:",10,zeile%,100,20)
SetFont txt%,font0%
plz%=CREATE("EDIT",eingabe&,plz$,110,zeile%,100,20)
zeile%=zeile%+steig%
txt%=CREATE("TEXT",eingabe&,"Wohnort:",10,zeile%,100,20)
SetFont txt%,font0%
ort%=CREATE("EDIT",eingabe&,ort$,110,zeile%,250,20)
zeile%=zeile%+50
back%=CREATE("BUTTON",eingabe&,"&Abbrechen",10,zeile%,100,25)
save%=CREATE("BUTTON",eingabe&,"&Speichern",280,zeile%,100,25)
SetFocus(name%)
WHILENOT EE%
IF GetFocus(back%)
IF CLICKED(back%)
EE%=1
DesTroyWindow(eingabe&)
SetActiveWindow(%Hwnd)
EndIF
If GetFocus(save%)
IF CLICKED(save%)
name$=Gettext$(name%)
vorname$=Gettext$(vorname%)
strasse$=Gettext$(strasse%)
plz$=Gettext$(plz%)
ort$=Gettext$(ort%)
EE%=1
DesTroyWindow(eingabe&)
SetActiveWindow(%Hwnd)
PRINT name$
PRINT vorname$
PRINT strasse$
PRINT plz$
PRINT ort$
ENDIF
WEND
EndWhile
ENDPROC
--------------------------------------------------------------------------------
Window 0,0-%MaxX,%MaxY
EINGABE
WAITIN >
FIN
Viel Erfolg |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 3 subscriber: |