Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 249505 (10941)

| Suchen
| Zurück zur Übersicht

Autor | Thema: @createedit
Hans-Peter
| Datum:19.08.01 19:59 (Hans-Peter_Cremers@t-online.de) |
'Ich grüße Euch, 'ist jemand in der Lage, mir die fehlenden Zeilen einzusetzen, die 'mein Programm das tun lassen, was ich möchte? 'Und zwar soll ..... '1.) die Escape-Taste als übergeordnete Abbruch-Taste die Eingaberoutine ' sofort abbrechen, egal in welcher Eingabezeile sie steht, also auch ' mittendrin, mit anderen Worten soll die Tasteneingabe ´Escape´ wie ' das Anklicken des "abbrechen"-Buttons die Routine sofort abbrechen. '2.) die ENTER-Taste genau wie die TAB-Taste von Eingabezeile zu Eingabe- ' zeile weitergeben ( - was jetzt schon sowieso funktioniert - ), aber ' nach der vierten Eingabe soll die Entertaste genau wie die TAB-Taste ' den ersten Button "OK" lediglich aktivieren, und nicht wie jetzt das ' Programm ohne Vorwarnung abbrechen. ' ' Gibt es einen Spezialisten, der das hinkriegt?? ' Ich kanns kaum erwarten. ' MfG ' Hans-Peter '************************************************************* declare Kunde%, Name%, Vorname%, Ort%, Straße%, KNEnde%, \ OK%, korrigieren%, abbrechen%, _x1%, _y1%, _xx%, _yy% declare font1& let Font1&= @CreateFont("Arial",20,0,0,0,0) '************************************************************** proc Unterprogramm let _x1% = 25 let _y1% = 160 let _xx% = 420 let _yy% = 300 windowstyle 68 let Kunde% = @createwindow(%hwnd,"",_x1%,_y1%,_xx%,_yy%) startpaint Kunde% Usefont "Arial", 15,0,0,0,0 TextColor @RGB(0,0,0),-1 drawtext 20, 70, " Name" drawtext 20, 90, " Vorname" drawtext 20,110, " Plz/Ort" drawtext 20,130, " Straße" endpaint Let Name% = @CreateEdit(Kunde%,"",100,70,275,20) SetFont Name%, Font1& Let Vorname% = @Createedit(Kunde%,"",100,90,275,20) SetFont Vorname%, Font1& Let Ort% = @createedit(Kunde%,"",100,110,275,20) SetFont Ort%, Font1& Let Straße% = @Createedit(Kunde%,"",100,130,275,20) SetFont Straße%, Font1& let ok%=@createbutton(Kunde%,"OK",25,180,100,30) let korrigieren%=@createbutton(Kunde%,"Korrigieren",155,180,100,30) let abbrechen%=@createbutton(Kunde%,"Abbrechen",285,180,100,30) @setfocus(Name%) whilenot KNEnde% waitinput if @getfocus(ok%) let KNEnde%=1 elseif @getfocus(korrigieren%) setfocus(name%) elseif @getfocus(abbrechen%) let KNEnde%=1 endif endwhile @destroywindow(Kunde%) endproc '************************ Unterprogramm end
Sebastian Sprenger
| Datum:19.08.01 21:41 (prof.chaos@netcologne.de) |
Ich grüße dich auch, Hans-Peter. Um dein erstes Problem zu lösen, musst du folgende Zeile einsetzen:
    elseif @getfocus(abbrechen%) or (%key=2)
Sebastian
Sebastian Sprenger
| Datum: 20.08.01 17:53 (prof.chaos@netcologne.de) |
Hallo Hans-Peter, ich habe noch etwas herumexperimentiert um dein zweites Problem zu lösen:
    ' Füge direkt vor dem OK-Button einen unsichtbaren Button ein:
    declare nix%
    let nix%=@createbutton(Kunde%,"",0,0,0,0)

    ' Damit nach dem 4.Eingabefeld weiterhin der OK-Button kommt, brauchst du bei der Abfrage noch folgendes:
    if @getfocus(nix%)
      @setfocus(ok%)
    elseif @getfocus(ok%)
      ...
Ich wünsche viel Spaß... Sebastian................

| Zurück zur Übersicht