Einsteigerfragen zur PROFAN Programmierung
  Suchen
 Zurück zur Übersicht
 AutorThema: CreateEdit
Frank Sappert
Datum:29.09.02 17:28 Antwortenals Email verschicken (frank.sappert@t-online.de) 


Was habe ich hier falsch gemacht?

Let Fenster2%=CreateWindow(Fenster1%,"Mengeneingabe",115,100,190,195)
@CreateGroupBox(Fenster2%,"Menge in Gramm",20,30,120,115)
Let Mengeingramm%=@CreateEdit(Fenster2%,"",30,60,100,20)
Let Hinzu2%=CreateButton(Fenster2%,"Hinzufügen",30,110,100,20)
WhileNot Mengenende%
If @Equ(%Key,2)
Let Mengenende%=1
ElseIf @GetFocus(Hinzu2%)
Let Mengeeingegeben$=@GetText$(Mengeingramm%)
Let Menge%=@Val(Mengeeingegeben$)
Let Mengenende%=1
EndIf
EndWhile

Ich möchte Mengeeingegeben$ in einem Textfeld im Hauptfenster ausgeben. Es bleibt aber leer und es kommt keine Fehlermeldung.
Menge% soll zur Berechnung sein.
Grüße, Frank.


Rolf Koch
Datum:29.09.02 17:41 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Hi,
zwei Fragen:
Wieso wird Fenster2% nicht auf %Hwnd erstellt?
Haste daran gedacht nach schließen von Fenster2% per
settext Mengeeingegeben$ zuzuweisen?
Also Beispiel:
wobei ich Mengetext% erfunden habe, da ich nicht weis, wie Dein Anzeigefeld im Hauptfenster lautet.
Let Mengeeingegeben$=@GetText$(Mengeingramm%)
Let Menge%=@Val(Mengeeingegeben$)
Let Mengenende%=1
case @neq$(Mengeeingegeben$,""):settext Mengetext%,Mengeeingegeben$
EndIf

Rolf


Jörg Sellmeyer
Datum: 29.09.02 18:08 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo Frank,
Du mußt natürlich auch für eine Ausgabe Deines Ergebnisses sorgen.
So funktioniert's:
Proc Eingabe
	Declare Fenster1%,Mengeeingegeben$'überflüssig
	Declare Menge%,Fenster2%,Mengeingramm%,Hinzu2%,Mengenende%,Mengeeingegeben$
	Let Fenster2%=CreateDialog(%hwnd,"Mengeneingabe",115,100,190,195)
	@CreateGroupBox(Fenster2%,"Menge in Gramm",20,30,120,115)
	Let Mengeingramm%=@CreateEdit(Fenster2%,"",30,60,100,20)
	Let Hinzu2%=CreateButton(Fenster2%,"Hinzufügen",30,110,100,20)
	WhileNot Mengenende%
		If @Equ(%Key,2)
			Let Mengenende%=1
		ElseIf @GetFocus(Hinzu2%)
			'Let Mengeeingegeben$=@GetText$(Mengeingramm%)
			Let Menge%=Val(@Val(@GetText$(Mengeingramm%))
			Let Mengenende%=1
		EndIf
	EndWhile
	DestroyWindow(Fenster2%)
	Return Mengeeingegeben$
EndProc


Cls
Eingabe
print @$(0)
While 1
WaitInput
Wend

Eine Bitte noch - bitte Variablendeklarationen mitposten.
1. kann dort ein möglicher Fehler versteckt sein
2. sollte man es Testern ersparen, sich alle Variablen aus dem Code zu suchen
und zu deklarieren.

Viele Grüße
Jörg


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
doteu.info: Don´t miss your .eu-Domain