Italia
Foro

Variable nicht declariert

 

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.
 
18.02.2009  
 




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
KompilierenMarkierenSeparieren
declare 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&)

    href='./../../funktionsreferenzen/xprofan/endif/'>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.
 
18.02.2009  
 




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.
 
18.02.2009  
 




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 una variabile 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.

Saluto 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
KompilierenMarkierenSeparieren
declare 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&)

    href='./../../funktionsreferenzen/xprofan/endif/'>ENDIF

EndWhile

 
Ich bin neu hier also Verurteilt mich nicht für meine fragen.^^
18.02.2009  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.063 Views

Untitledvor 0 min.
Member 554186217.05.2022

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie