Einsteigerfragen zur PROFAN Programmierung

| Suchen
| Zurück zur Übersicht

Autor | Thema: Menü
Frank Thomas
| Datum:01.09.02 11:42 |
Hallo Leute, ist es möglich in Profan ein Menü zu erstellen, das aus einer Externen Datei erstellet wird ? z.B. Eine (ini) oder (txt) Datei, kleines Beispiel. -------------------- test.txt : Inhalt -------------------- HauptMenü1 Eintrag1.1 HauptMenü2 Eintrag2.1 HauptMenü3 Eintrag3.1 -------------------- Das im Programm so ausehen sollte. HauptMenü1 --> Eintrag1.1 HauptMenü2 --> Eintrag2.1 HauptMenü3 --> Eintrag3.1 Ich hoffe das es verstädlich rüber gekommen ist ;) Gruß Frank Thomas
Martin Pohl
| Datum:31.08.02 15:16 (martin_pohl@msn.com) |
Das machst du so: Declare Eintrag1$ Let Eintrag1$=@ReadIni$(".\options.ini","Menue1","Eintrag1") PopUp "Hauptmenü 1" AppendMenu 10,Eintrag1$ Das machst du einfach mit allen Menü-Einträgen.
Frank Thomas
| Datum:05.09.02 16:28 |
Hallo Martin, so habe ich es mir schon gedacht. Aber wie kann ich dann die Menüs abfragen, wen ich nicht weis welcher Eintrag nun welche nummer bekommen hat ? Ich bau in der Schleife ein Zähler ein, der immer um +1 zählt. Somit hat jeder Eintrag eine eigene nummer, aber ich kann nicht auswerten wer nun welche nummer hat. Hast Du da auch eine lösung ? MfG Frank
Martin Pohl
| Datum:05.09.02 16:01 (martin_pohl@msn.com) |
Indem du den Namen, die du aus der INI-Datei liest bestimmte Nummern zuweist: ' Deklarieren nicht vergessen! Declare Eintrag1$,Eintrag1$,Eintrag3$ ' Namen aus der INI lesen Let Eintrag1$=@ReadIni$(".\options.ini","Menue1","Eintrag1") Let Eintrag2$=@ReadIni$(".\options.ini","Menue2","Eintrag2") Let Eintrag3$=@ReadIni$(".\options.ini","Menue3","Eintrag3") ' Menü erstellen ' Eintrag1$ wird nur angezeigt, wenn in der INI bei Eintrag1 der Text "Ich bin Eintrag1" steht PopUp "Hauptmenü 1" Case @Equ$(Eintrag1$,"Ich bin Eintrag1") : AppendMenu 1,Eintrag1$ PopUp "Hauptmenü 2" Case @Equ$(Eintrag2$,"Ich bin Eintrag2") : AppendMenu 2,Eintrag2$ PopUp "Hauptmenü 3" Case @Equ$(Eintrag3$,"Ich bin Eintrag3") : AppendMenu 3,Eintrag3$ ' Schleife, die nur mit "End" verlassen werden kann While 1 WaitInput If @Equ(%Key,2) End ElseIf @MenuItem(1) MessageBox "Eintrag1 wurde ausgewählt" ElseIf @MenuItem(2) MessageBox "Eintrag2 wurde ausgewählt" ElseIf @MenuItem(3) MessageBox "Eintrag3 wurde ausgewählt" EndIf EndWhile End
Frank Thomas
| Datum:05.09.02 18:27 |
Hallo Martin, ich benutze jetzt *.txt Files. Zeile für Zeile einlesen haut super hin und eine eigene nummer bekommen sie auch schon :) Nun habe ich gedacht das ich mir ein Array anlege und sie da nach und nach reinschreibe. Das geht auch super, allerdings kommt ein Fehler in meiner Abfrage welcher eintrag gewäht wurde. Ich bekomme immer ein wert von Plus (1) und bekomme es auch nicht wech. Hier mal ein Auszug der Abfrage : -------------------------------------- ElseIf @GT(%menuitem,9) Let Array% = %menuitem Let X% = 1 @SUB(Array%,X%) Let Array$ = @LIST$(Array%) Print Array$ -------------------------------------- Wie man sieht, versuche ich Array% um -1 zu setzen, geht aber trotzdem nicht :( Gruß Frank
Martin Pohl
| Datum:05.09.02 18:27 (martin_pohl@msn.com) |
Arrays machst du in Profan² anders. Ein String-Array wird folgendermaßen DIMensioniert: Dim$ 499 Dadurch erhältst du 500 String-Arrays. Mit List$ X,Y teilst du den einzelnen Arrays Werte zu. Mit @List(X) liest du die Werte wieder aus. Diese Form der Arrays gibt es in PRF 5.0. Wenn du eine neuere Version hast, dann ist das vieleicht anders.
Frank Thomas
| Datum:05.09.02 18:31 |
Hallo Martin, das weis ich doch, das war doch nur ein kurzer auszug :) Habe es mit (DIM$ 499) gemacht und wie gesagt hauts auch hin. Nur in der Abfrage kommt immer Plus 1 :((( Wen ich Menüeintrag 1 klick, kommt das Ergebnis Menüeintrag 2 geklickt. MfG Frank
Jörg Sellmeyer
| Datum:05.09.02 22:27 (joerse@gmx.de) |
Hallo Frank, Du hast bei Deinem Rechenweg einen kleinen aber entscheidenden Fehler gemacht: Nicht: @SUB(Array%,X%) Sondern: Let Array%=@SUB(Array%,X%) ODER: Sub Array%,X% Gruß Jörg
Frank Thomas
| Datum: 06.09.02 07:18 |
Hallo Jörg, Vorschlag 1 geht nicht, aber 2 haut hin. Danke Dir. Gruß Frank

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |