Einsteigerfragen zur PROFAN Programmierung

| Suchen
| Zurück zur Übersicht

Autor | Thema: Menue-Einbindung, Probleme
Frank
| Datum:22.09.02 21:44 (frank.sappert@t-online.de) |
Hallo erstmal, ich bin Neueinsteiger in PROFAN und hoffe, Ihr könnt mir weiterhelfen, da ich in der Hilfe nicht weiterkomme. Ich habe ein Menue gebastelt, das ich mit WaitKey abfrage. Dabei springe ich durch If-Abfragen in PROC. Wenn ich in der Procedur bin, kann ich das Menue nicht mehr ansteuern. Welche Möglichkeit gibt es, das Menue IMMER verfügbar zu haben, d.h. "aus allen Lagen" auch ich Unterprogrammen zu gebrauchen? Grüße, Frank.
Jörg Sellmeyer
| Datum:22.09.02 22:47 (joerse@gmx.de) |
Hallo Frank, Es kommt darauf an, was Deine Prozedur macht. Normalerweise wird eine Prozedur aufgerufen und nach Erledigung der Aufgabe wieder verlassen. Wenn aber lange Rechenoperationen anstehen, oder eine Schleife mit viele Durchläufen abgeabeitet wird, dauert es halt. Profan kann keine zusätzlichen Threads erzeugen. Eine Möglichkeit wäre, in Deiner Prozedur eine Menüabfrage einzubauen, aber das bremst natürlich. Vieleicht postest Du mal ein Stück von Deinem Code. Gruß Jörg
Frank
| Datum:23.09.02 19:41 (frank.sappert@t-online.de) |
Hallo. Danke erstmal! Ich werde zur gegebenen Zeit mal ein Stück Code posten. Wie gesagt, ich bin noch ganz am Anfang und probiere die Funktionen aus. Ein neues Problem: Ich habe über den Bildschirm-Helfer Textboxes, Radioboxes u.a. gebastelt. Es baut sich auch ein Bildschirm auf. Nun möchte ich den Bildschirm wieder löschen, aber es klappt nicht mit CLS. Ich habe schon die ganze Hilfe durchforstet und DESTROYWINDOW gefunden. Für Hilfe wäre ich dankbar, Frank-
Martin Pohl
| Datum:23.09.02 20:01 (martin_pohl@msn.com) |
Hallo, Frank! 1. Verwende statt WaitKey lieber WaitInput 2. Wenn in deiner Proc ein neues Fenster oder ein Dialog erstellt wird, dann musst das Hauptfenster mit folgender Zeile erst wieder in den Vordergrund holen: @SetActiveWindow(%HWnd)
Frank
| Datum:23.09.02 20:06 (frank.sappert@t-online.de) |
Danke, ich werd's ausprobieren. Frank Sappert
Frank
| Datum:23.09.02 20:23 (frank.sappert@t-online.de) |
Funktioniert leider nicht, hier der Code: proc anzeige declare _ende% declare GGruppe1% declare RadioSalbe% declare RadioCreme% declare ListeTest% windowstyle $1C window 112,88-696,464 let GGruppe1%=@creategroupbox(%HWnd,"Gruppe 1",72,48,208,168) let RadioSalbe%=@createradiobutton(%HWnd,"Salbe",88,80,16,16)8 let RadioCreme%=@createradiobutton(%HWnd,"Creme",88,112,16,16)0 let ListeTest%=@createlistbox(%HWnd,"Test",416,56,152,56)64 let _ende% = 0 whilenot _ende% waitinput if @equ(%key,4) ' Größe verändert elseif @getfocus(GGruppe1%) ' Aktion noch nicht definiert! elseif @getfocus(RadioSalbe%) @SetActiveWindow(%HWnd) return elseif @getfocus(RadioCreme%) ' Aktion noch nicht definiert! elseif @getfocus(ListeTest%) ' Aktion noch nicht definiert! endif wend endproc windowtitle "Fenster-Test" window 112,48-696,464 anzeige waitinput WaitInput WaitInput end
Frank
| Datum:23.09.02 20:28 (frank.sappert@t-online.de) |
Bei Return wird PROC testmäßig abgebrochen, um ins Hauptprogramm zu gelangen. Außerdem werden die Radiobeschriftungen und Testfeldeintrag nicht angezeigt. Grüße, Frank
Martin Pohl
| Datum: 23.09.02 20:50 (martin_pohl@msn.com) |
Ohje, ohje! Was hast du denn da gemacht? 1. Du verwendest 2mal den Befehl Window! Das darf nicht sein! 2. Du verwendest mehrfach hintereinander WaitInput Hier ist der hoffentlich funktionierende Code: proc anzeige declare _ende%,GGruppe1%,RadioSalbe%,RadioCreme%,ListeTest% windowstyle $1C window 112,88-696,464 let GGruppe1%=@creategroupbox(%HWnd,"Gruppe 1",72,48,208,168) let RadioSalbe%=@createradiobutton(%HWnd,"Salbe",88,80,16,16) let RadioCreme%=@createradiobutton(%HWnd,"Creme",88,112,16,16) let ListeTest%=@createlistbox(%HWnd,"Test",416,56,152,56) let _ende% = 0 whilenot _ende% waitinput If @Equ(%Key,2) End elseif @getfocus(RadioSalbe%) return elseif @getfocus(RadioCreme%) ' Aktion noch nicht definiert! elseif @getfocus(ListeTest%) ' Aktion noch nicht definiert! endif wend endproc anzeige end

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |