Deutsch
Forum

Anzeige im Hauptfenster

 

Lars
Gallasch
Hallo

Ich will das Die Eingaben im Dialog dann im Hauptfensterangezeigt werden, ich diese suchen und seichern kann. Wenn ich aber die Zweige eingebe bekomm ich nur Fehlermeldungen.Was mache ich da falsch.
Gruss Lars
KompilierenMarkierenSeparieren
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

ENDWHILE

END
 
XProfan free, Vista
26.07.2008  
 




Rolf
Koch
Hi Lars

Zuerst die Bitte Quelltexte mit [_code][_/code] ohne _ hier auflisten.
Hab dies für Dich geändert, sodass der Code besser angezeigt wird.

Datum%,Abladen%,Bemerkung% sind nicht deklariert.
Nachtrag: Hab grad gesehen, dass Du diese garnicht im Programm
zuordnest nur halt in Zeile$ diese benötigt hast.
Du hast die declariert als Bermerkung% und nutzt dafür aber BEM%
und genau dasselbe mit abladen% lautet unten VOB% ????
Oder Dat% ist unten zum auslesen aufeinmal datum% ?????
Das kann das Programm ja nicht wissen *lol*
_dlg ist das eine Proc? Kann ich nicht finden. Die fehlt noch.
Ich meine dies hier:
KompilierenMarkierenSeparieren
Oder kann es sein, dass Du nur oben bei dem Dialog etwas verwechselt hast?
Die lautet nämlich PROC EINGABE.

Desweiteren unten nicht declariert: DLG%,Name%
Aber ich sehe, da machst Du auch einen Fehler, denn SAVEFILE benötigt eine STRINGVARIABLE
also
Name$=@savefile..... weil das Ergebnis keine Zahl sondern eine Datei sein soll!
Ich hoffe, danach gehts auch weiter? Weil ein SAVEFILE reicht nicht, denn damit hast Du nur den String wie
CFADNOCHNPFADNAMEDERDATEI.XXX erreicht. Für das Speichern musst Du dann selbst noch sorgen.

Das ist hart: @gettext$(Name%, Strasse%,PLZ%,Ort%,Datum%,Abladen%,Bemerkung%)
Du kannst pro Variable nur einmal gettext nehmen:
KompilierenMarkierenSeparieren
a$=gettext$(name%)
b$=gettext$(strasse%) und so weiter

Oder mach es so:
KompilierenMarkierenSeparieren
let Zeile$ = @gettext$(Name%,)+gettext$( Strasse%)+gettext$(,PLZ%) ...... u.s.w.

Nachtrag: Uuiuiuiui - das ist auch krass:
KompilierenMarkierenSeparieren
Name% = create(text, _dlg%, Name, 32, 16, 128, 32)
create(edit, _dlg%, , 32, 48, 376, 40)

Du musst den Editfeldern die Variablen geben, denn diese möchtest Du doch auslesen!
Hier bekommst Du immer nur den Text im Textfeld zurück
Hier wäre es zum Beispiel immer Name, welcher im Ergebnis stehen würde, denn wie
gesagt wird mit gettext$(name%) hier das Textfeld immer ausgelesen und dies ist ja logischerweise
NAME und bleibt immer NAME ^^
So richtig:
KompilierenMarkierenSeparieren
create(text, _dlg%, Name, 32, 16, 128, 32)
Name%=create(edit, _dlg%, , 32, 48, 376, 40)

Nochwas:
Oben im _dlg% benennst Du den Beendenbutton ende% und unten die Programmendevariable auch ende%
Nenn lieber dann die Programmendevariable: progende%
Auch würde ich bei
elseif getfocus(bok%)
ein
ende% = 1
setzen, damit das Dialogfenster wieder geschlossen wird.
 
26.07.2008  
 




Lars
Gallasch
Ich danke dir für deine schnelle Hilfe . Bin ja noch im Anfängerstress. Werde die ganze Sache nochmal Überarbeiten.
 
XProfan free, Vista
27.07.2008  
 



@Lars
Im Codetext ist ein Eingabedialog den Du natürlich nach Deinem Geschmack verändern kannst. Aber so funktioniert die Sache - spätere Möglichkeiten sind natürlich noch offen. Aber zuerst einmal die Grundzüge beherrschen ;)
KompilierenMarkierenSeparieren
DECLARE 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
    WAITINPUT
    END

Viel Erfolg
 
27.07.2008  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.189 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller13.11.2017
Joerg11.06.2016
JR27.11.2014
Torben Nissen04.02.2013
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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