Forum | | | | Lars Gallasch | allô
je veux cela qui Eingaben im Dialog ensuite im Hauptfensterangezeigt volonté, je cet chercher et seichern peux. si je mais qui Zweige eingebe bekomm je seulement Fehlermeldungen.quoi fais je là faux. Gruss Lars KompilierenMarqueSéparation
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
d'abord qui s'il te plaît Source avec [_code][_/code] sans _ ici auflisten. Hab ca pour toi geändert, sodass qui Code besser angezeigt wird.
date%,décharger%,Bemerkung% sommes pas deklariert. Nachtrag: Hab grad gesehen, dass Du cet garnicht im Programme zuordnest seulement arrêt dans la ligne$ cet nécessaire la hâte. tu as qui declariert comme Bermerkung% et utilise pour mais BEM% et oui c'est ca même chose avec décharger% lautet unten VOB% ???? ou bien Dat% ist unten zum auslesen aufeinmal date% ????? cela peux cela Programme oui pas savons *lol* _dlg ist cela une Proc? peux je pas trouver. qui fehlt encore. je mon ca ici: KompilierenMarqueSéparation ou bien peux es son, dass Du seulement dessus chez dem Dialog quelque chose verwechselt la hâte? qui lautet nämlich PROC EINGABE.
Desweiteren unten pas declariert: DLG%,nom% mais je vois, là fais Du aussi une faute, car SAVEFILE nécessaire une STRINGVARIABLE alors nom$=@savefile..... weil cela Ergebnis aucun numéro mais une Dossier son soll! je hoffe, après gehts aussi plus? Weil un SAVEFILE reicht pas, car avec cela la hâte Du seulement den String comment CFADNOCHNPFADNAMEDERDATEI.XXX erreicht. Pour cela Sauver musst Du ensuite selbst encore sorgen.
c'est dur: @gettext$(nom%, Strasse%,PLZ%,lieu%,date%,décharger%,Bemerkung%) tu peux pro Variable seulement einmal gettext prendre: KompilierenMarqueSéparation ou bien mach es so: KompilierenMarqueSéparation Nachtrag: Uuiuiuiui - c'est aussi krass: KompilierenMarqueSéparationnom% = create(text, _dlg%, nom, 32, 16, 128, 32)
create(edit, _dlg%, , 32, 48, 376, 40)
Du musst den Editfeldern qui Variablen donner, car cet vouloir Du doch auslesen! ici bekommst Du toujours seulement den Text im Textfeld zurück ici wäre es zum Beispiel toujours nom, quel im Ergebnis stehen serait, car comment dit wird avec gettext$(nom%) ici cela Textfeld toujours ausgelesen et ca ist oui logischerweise NAME et bleibt toujours NAME ^ ^ So richtig: KompilierenMarqueSéparationcreate(text, _dlg%, nom, 32, 16, 128, 32)
Name%=create(edit, _dlg%, , 32, 48, 376, 40)
Nochwas: dessus im _dlg% benennst Du den Beendenbutton ende% et unten qui Programmendevariable aussi ende% Nenn lieber ensuite qui Programmendevariable: progende% aussi serait je chez elseif getfocus(bok%) un ende% = 1 mettons, avec cela cela Dialogfenster wieder geschlossen wird. |
| | | | |
| | Lars Gallasch | je remercie dir pour deine schnelle Aider . suis oui encore im Anfängerstress. Werde qui ganze l'affaire nochmal Überarbeiten. |
| | | | |
| | | @Lars Im Codetext est un Eingabedialog den Du naturellement pour Deinem Geschmack verändern peux. mais so funktioniert qui l'affaire - plus tard Opportunités sommes naturellement encore offen. mais d'abord einmal qui Grundzüge beherrschen ;) KompilierenMarqueSéparationDECLARE 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 |
| | | | |
|
répondreOptions du sujet | 4.593 Views |
Themeninformationencet Thema hat 3 participant: |