Forum | | | | Roberto | Was bedeutet Variable nicht deklariert. |
| | | Ich bin neu hier also Verurteilt mich nicht für meine fragen.^^ | 18.02.2009 ▲ |
| |
| | E.T. | Na das die Variable nicht declariert ist !! Endweder mit Declare oder Var ... |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.02.2009 ▲ |
| |
| | | Variablen sind beschreibbare Speicher welche _vor der Nutzung angelegt werden müssen - diesen Vorgang nennt man Variablendeklaration. |
| | | | |
| | Roberto | HMM denn bei mir ist folgendes problem aufgetreten. Ich habe ein Programm bei dem als erster ein kleines Fenster mit einer passwortfrage ist . Dannw wenn man das richtige passwort eingegeben hat sollte eigentlich ein 2 fenster kommen auf dem verschiedene Funktionen zur verfügung stehen. Aber nachd er Passwortabfrage kommt immer die Fehleranzeige Variable doppelt declariert. Könnt mir wiedermal einer helfen? hier der Code PASSWORT:robin KompilierenMarkierenSeparierendeclare e%,x%,y%,Edit&,weiter&,exit&,passwort$,passwindow&
x% = 265
y% = 100
passwort$ = robin
passwindow&=Create(Window,%hwnd,Passwortabfrage,(%MaxX- x%) / 2,(%MaxY - y%) / 2, x%,y%)
Hier kein Hauptfenster erstellen.
Edit& = Create(Edit,passwindow&,,5,5,245,20)
weiter& = Create(Button,passwindow&,Weiter,5,30,120,25)
exit& = Create(Button,passwindow&,Abbrechen,132,30,120,25)
SetFocus(Edit&)
clear e%
whilenot e%
WaitInput
if Clicked(exit&)
end
elseif Clicked(weiter&)
ifnot GetText$(Edit&) = passwort$
Messagebox(Falsches Passwort!
Kein Zugang!,I N F O,4160)
e% = 1
end
else
e% = 999
Messagebox(PASSWORT STIMMT,I N F O,4160)
endif
endif
endwhile
var x% = 500
var y% = 400
var Titel$ = RH PROGRAMS 1.1
declare exit&,e%
Declare herunter&, abmeld&eingefügt
declare uhrzeit& eingefügt KHR
declare Text$,Titeltext$
PROC FENSTER
WindowTitle Titel$
Windowstyle 536
Window (%MaxX - x%) / 2,(%MaxY - y%) /2 - x%,y%
UseIcon GESICHT
LoadBMP RHProgramming 400x500.BMP,0,0;0
RePaint
ENDPROC
PROC BUTTONS
exit& = Create(Button,%HWnd,Beenden,Width(%HWnd) - 100 - 15,Height(%HWnd) -25- 5,100,25)
herunter& = Create(Button,%hwnd,Herunterfahren,375,10,110,25)verändert
abmeld& = Create(Button,%hwnd,Abmelden,380,40,100,25)verändert
uhrzeit& = Create(Button,%hwnd,Uhrzeit,380,70,100,25)verändert
ENDPROC
PROC MENU
Popup Hintergrund
AppendMenu 301,&RH PROGRAMMING
Separator
AppendMenu 302,&rot
Separator
AppendMenu 303,&grün
Separator
AppendMenu 304,&blau
ENDPROC
PROC HINTERGRUND
Parameters r%,g%,b%
cls rgb(r%,g%,b%,)
ENDPROC
PROC LADEBILD
Parameters _bild$
EnableWindow exit&,0exit& sperren
LoadSizedBMP _bild$,0,0 - Width(%HWnd),Height(%HWnd);0
DrawSizedPic _bild$,0,0 - Width(%HWnd),Height(%HWnd);0
EnableWindow exit&,1exit& entsperren
ENDPROC
FENSTER
MENU
BUTTONS
Whilenot e%
Waitinput
IF Clicked(exit&) or (%Key = 2)
e% = 1
ELSEIF Menuitem(302)
HINTERGRUND 255,0,0
ELSEIF Menuitem(303)
HINTERGRUND 0,255,0
ELSEIF Menuitem(304)
HINTERGRUND 0,0,255
ELSEIF Menuitem(301)
LoadBMP RHProgramming 400x500.BMP,0,0;0
RePaint
ELSEIf Clicked(herunter&)
ExitWindows 0
ElseIf Clicked(abmeld&)
ExitWindows 3
elseIf Clicked (uhrzeit&) geändert KHR
Text$ = Wir haben jetzt + Time$(2) + Uhr.
Titeltext$ = I N F O
Messagebox(Text$,Titeltext$,4160)
SETFOCUS(exit&)
ENDIF
EndWhile
|
| | | Ich bin neu hier also Verurteilt mich nicht für meine fragen.^^ | 18.02.2009 ▲ |
| |
| | E.T. | Du hast in Zeile 1die Variable X% (und auch Y%) declariert: declare e%,x%,y% In Zeile 40 schreibst du: var X% = ... var Y% = ...
Das ist eine Doppel-Declarierung von X% und Y% !! In Zeile 40 (und 41) das Var weg, und schon gehts... |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.02.2009 ▲ |
| |
| | | Vielleicht als einfache Übung, genau diese doppelte Deklaration selbst herauszusehen und zu entfernen. |
| | | | |
| | E.T. | Ach IF, ich zu langsam oder du zu schnell . Aber was solls, war sicher nicht die letzte Frage... |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.02.2009 ▲ |
| |
| | | Genau, es spielt keine Rolle. |
| | | | |
| | E.T. | Ich warte schon auf das nächste Doppelt declariert... (Nach dem Quelltext-Test)
[offtopic]Sag ich doch, zusammenkopieren bringt nix[/offtopic] |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.02.2009 ▲ |
| |
| | Thomas Zielinski | Am anfang Deklarirst du mit [declare x%,y%] und direkt nach der Schleife zur Passwortabfrage Deklarirst du x% und y% nochmal mit Var. e% deklarirst du auch doppelt und so weiter. Du darfst Variablen nur einmal deklarieren. Brauchst du eine Variable nicht mehr, oder willst sie anderweitig nutzen, dann nutz einfach, vor der neubenutzung der Variablen, Clear. Am besten, damit du zu Begin nicht durcheinanderkommst, deklarierst du ALLE Variablen am Anfang mit Declare. Es ist egal wann sie Deklariert werden. Hauptsache vor der ersten Nutzung. Und wenn du alle am Anfang deines Codes mit Declare deklarierst, dann kannst du dir auch das Var sparen und dopplungen werden schneller sichtbar.
Gruß Thomas
[offtopic]Jetzt habt ihr ein dutzend Beiträge gemacht wärend ich an dem einen gesesen hab [/offtopic] |
| | | XProfan X4; Win10 x64 Der Kuchen ist eine lüge! | 18.02.2009 ▲ |
| |
| | E.T. | @Thomas (offtopic): , aber eigentlich: |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 18.02.2009 ▲ |
| |
| | Roberto | So jetzt hab ich das gemacht und dann kommt Variable doppelt declariert exit&
hier der CODE KompilierenMarkierenSeparierendeclare e%,x%,y%,Edit&,weiter&,exit&,passwort$,passwindow&
x% = 265
y% = 100
passwort$ = robin
passwindow&=Create(Window,%hwnd,Passwortabfrage,(%MaxX- x%) / 2,(%MaxY - y%) / 2, x%,y%)
Hier kein Hauptfenster erstellen.
Edit& = Create(Edit,passwindow&,,5,5,245,20)
weiter& = Create(Button,passwindow&,Weiter,5,30,120,25)
exit& = Create(Button,passwindow&,Abbrechen,132,30,120,25)
SetFocus(Edit&)
clear e%
whilenot e%
WaitInput
if Clicked(exit&)
end
elseif Clicked(weiter&)
ifnot GetText$(Edit&) = passwort$
Messagebox(Falsches Passwort!
Kein Zugang!,I N F O,4160)
e% = 1
end
else
e% = 999
Messagebox(PASSWORT STIMMT,I N F O,4160)
endif
endif
endwhile
x% = 500
y% = 400
var Titel$ = RH PROGRAMS 1.1
declare exit&,e%
Declare herunter&, abmeld&eingefügt
declare uhrzeit& eingefügt KHR
declare Text$,Titeltext$
PROC FENSTER
WindowTitle Titel$
Windowstyle 536
Window (%MaxX - x%) / 2,(%MaxY - y%) /2 - x%,y%
UseIcon GESICHT
LoadBMP RHProgramming 400x500.BMP,0,0;0
RePaint
ENDPROC
PROC BUTTONS
exit& = Create(Button,%HWnd,Beenden,Width(%HWnd) - 100 - 15,Height(%HWnd) -25- 5,100,25)
herunter& = Create(Button,%hwnd,Herunterfahren,375,10,110,25)verändert
abmeld& = Create(Button,%hwnd,Abmelden,380,40,100,25)verändert
uhrzeit& = Create(Button,%hwnd,Uhrzeit,380,70,100,25)verändert
ENDPROC
PROC MENU
Popup Hintergrund
AppendMenu 301,&RH PROGRAMMING
Separator
AppendMenu 302,&rot
Separator
AppendMenu 303,&grün
Separator
AppendMenu 304,&blau
ENDPROC
PROC HINTERGRUND
Parameters r%,g%,b%
cls rgb(r%,g%,b%,)
ENDPROC
PROC LADEBILD
Parameters _bild$
EnableWindow exit&,0exit& sperren
LoadSizedBMP _bild$,0,0 - Width(%HWnd),Height(%HWnd);0
DrawSizedPic _bild$,0,0 - Width(%HWnd),Height(%HWnd);0
EnableWindow exit&,1exit& entsperren
ENDPROC
FENSTER
MENU
BUTTONS
Whilenot e%
Waitinput
IF Clicked(exit&) or (%Key = 2)
e% = 1
ELSEIF Menuitem(302)
HINTERGRUND 255,0,0
ELSEIF Menuitem(303)
HINTERGRUND 0,255,0
ELSEIF Menuitem(304)
HINTERGRUND 0,0,255
ELSEIF Menuitem(301)
LoadBMP RHProgramming 400x500.BMP,0,0;0
RePaint
ELSEIf Clicked(herunter&)
ExitWindows 0
ElseIf Clicked(abmeld&)
ExitWindows 3
elseIf Clicked (uhrzeit&) geändert KHR
Text$ = Wir haben jetzt + Time$(2) + Uhr.
Titeltext$ = I N F O
Messagebox(Text$,Titeltext$,4160)
SETFOCUS(exit&)
ENDIF
EndWhile
|
| | | Ich bin neu hier also Verurteilt mich nicht für meine fragen.^^ | 18.02.2009 ▲ |
| |
|
AntwortenThemenoptionen | 3.074 Betrachtungen |
ThemeninformationenDieses Thema hat 4 Teilnehmer: |