| |
|
|
| KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Schleife programmieren
Lauffähig ab Profan-Version 5.0
-----------------------------------------------
titel: Was ist eine Schleife
autor: Rolf Koch - ROKO-SOFTWARE
e-mail: webmaster/at/rokosoft.de
homepage: http://www.rokosoft.de
datum: 04.02.2001
-----------------------------------------------
Erklärung:
----------
Hier wird eine Schleife demonstriert.
Was passiert in einer Schleife und
wie auf die übermittelten Werte?
-----------------------------------------------------------------------------------------
Declare ENDE% Schalter für Hauptschleife=
WENN ENDE% = 0 PROGRAMM LÄUFT
WENN ENDE% = 1 PROGRAMMENDE
Declare Edit1%,Text1%,Edit2%,Text2%,Text3%
Declare Button1%
Declare Button2%
Declare Anzahl$,Anzahl%,Zähler%,Anzeige$
Window 50,50 - 400,280
CLS @RGB(23,23,23) Hintergrund grau setzen
UseFont MS Sans Serif,13,0,0,0,0 Bessere Schrift wählen
SetDialogFont 1
WINDOWTITLE SCHLEIFENPROGRAMM
EDITFELD,TEXTFELD und zwei BUTTONS ERZEUGEN
%HWND ist die Variable vom Hauptfenster
Let Edit1%=CreateEdit(%hwnd,,241,37,121,21)
Let Edit2%=CreateEdit(%hwnd,,241,137,121,21)
Let Text1%=CreateText(%hwnd,Wie oft soll die Schleife durchlaufen werden?,20,41,217,17)
Let Text3%=CreateText(%hwnd,Ruhig mal mehr eingeben - z.B.: 10000!,20,57,217,17)
Let Text2%=CreateText(%hwnd,Hier wird der Schleifendurchlauf angezeigt!,20,141,217,17)
Let Button1%=CreateButton(%hwnd,&Schleife starten,24,90,82,25)
Let Button2%=CreateButton(%hwnd,P&rogrammende,120,91,82,25)
Das & im Text bedeutet unterstrichener Buchstabe für Tastatur
@SETFOCUS(edit1%) Cursor in Editfeld setzen
Enablewindow Edit2%,0 Keine Eingabe im 2ten Feld möglich
Nur zum Anzeigen gedacht!
LET ENDE% = 0 ENDE% 0 Zuweisen
HIER BEGINNT DIE HAUPTSCHLEIFE
Whilenot ENDE% SOLANGE NICHT ENDE% = 1
WAITINPUT EINGABE ABFANGEN
Hier die Abfragen
IF @getfocus(button1%) Button1 angeklickt
let Anzahl$=@gettext$(Edit1%) Inhalt Eingabe abfragen
let Anzahl%=Anzahl$ Verschieben in Rechenbare Variable
Hier Abfrage ob etwas im Editfeld
If @neq$(Anzahl$,) Editfeld nicht leer
Settext edit1%, Editfeld 1 löschen
@SETFOCUS(edit1%) Cursor in Editfeld setzen
Hier nun die zweite Schleife:
UseCursor 2 Zeiger als Sanduhr
(siehe Hilfe)
Whilenot @equ(Zähler%,Anzahl%)
Solange nicht Zähler% = Anzahl%
Inc Zähler% erhöht Zähler um 1
let Anzeige$=Zähler% Zahl als String umwandeln
Settext edit2%,Anzeige$ Zeigt aktuelle Zahl in Edit2%
WEND Schleife 2 Ende
UseCursor 0 Zeiger aufjedenfall wieder normal!
ELSEIF @equ$(Anzahl$,) Editfeld ist leer
@Messagebox (HÄÄÄÄ? Bitte etwas eingeben,Du Dolles!,32)
Eine Hinweisbox anzeigen - Siehe Hilfe!
@SETFOCUS(edit1%) Cursor in Editfeld setzen
Endif
ELSEIF @getfocus(button2%) Button 2 angeklickt
let ENDE%=1 Hier ENDE% =1 PROGRAMMENDE
ENDIF Ende der Abfrage
WEND SCHLEIFE 1 HIER ENDE
|
|
|
| |
|
|