AMIGA-RESISTANCE https://forum.amiga-resistance.info/ |
|
Vokabeltrainer https://forum.amiga-resistance.info/viewtopic.php?f=38&t=1724 |
Seite 3 von 6 |
Autor: | HelmutH [ 06 Okt 2008, 10:15 ] |
Betreff des Beitrags: | |
Tach malsehn Hört sich nicht so gut an mit "unangenehmen Pause", hoffe nichts ernstes. Bei OS4.1 hab ich noch ein paar Sachen die ich noch einstellen muss, die mich aber im Moment nicht so stören, von daher hab ich das noch nach hinten geschoben. Mit dem Vokabeltrainer hab ich noch weiter probiert, komm aber an der beschriebenen stelle, mit dem das das Hilfefenster erst versteckt ist und bei drücken auf dem Knopf erst sichbar wird nicht weiter. Hab da deinen Tip probiert mit dem "VISIBLE" nach "HIDDEN" tauschen, was aber so nicht funktioniert hat. Da der Dateityp .hws nicht erlaubt ist häng ich das ganze hier als Code mal mit dran, ist nicht so schön, aber anders gehts im Moment wohl nicht. Sprech da Novamann nochmal drauf an, ob er das noch mit aufnehmen kann. Code: Alles auswählen DebugPrint(VktrainerFehler) @INCLUDE "ScuiLib.hws" @BGPIC 1, "flagge-BRD-GB.iff" @BRUSH 1, "Knopf_start.iff" @BRUSH 2, "Knopf_info.iff" @BRUSH 3, "Knopf_über.iff" @BRUSH 4, "Knopf_beenden.iff" @BRUSH 6, "Knopf_startGB.iff" @BRUSH 7, "Knopf_infoGB.iff" @BRUSH 8, "Knopf_about.iff" @BRUSH 9, "Knopf_quit.iff" Global VER$ = "Vokabeltrainer V1.0" /* clear variables */ Function p_ClearVars() HollywoodHomepage$ = "http://www.airsoftsoftwair.de/" HollywoodForum$ = "http://www.amiga-resistance.info/forum/viewforum.php?f=38" HollywoodUserpage$ = "http://www.Amiga-Resistance.info/homepage/hollywood/index.html" EndFunction /* Start Vokabeltrainer */ ;Function p_Start() ;EndFunction Function p_InitWave() deg = 0 w = GetAttribute(#BRUSH, 1, #ATTRWIDTH) h = GetAttribute(#BRUSH, 1, #ATTRHEIGHT) wp = w w = w + maxwave * 2 cx = 1024 - w cx = cx \ 2 cy = 768 - h cy = cy \ 2 EndFunction Function Sichtbar() Local Check = scui.Get("Vokabelsicht") If Check.Value = 0 scui.MultiSet({ "Vokbox2", "Hilfestatus" }, { Visible = #IFO_HIDDEN },1) scui.RedrawObjects(1) ;DisplayBGPIC(1) Else scui.MultiSet({ "Vokbox2", "Hilfestatus" }, { Visible = #IFO_VISIBLE },0) scui.RedrawObjects(1) EndIf EndFunction Function Vokabeleingabe_Aenderung() Local eingabe = scui.Get("Vokabeleingabe") scui.Set("Hilfestatus", { Text = { Content = { Values = { " Du hast gerade das Wort [b]" ..eingabe.Value.. "[/b] eingegeben." }, Lines = 1 }}}, 1) ;scui.NewObject( #IFOCLASS_LABEL, "Statusanz", { x = 300, y = 120 }, { x = 200, y = 20 }, ;{ Text = { Alignment = #TEXTALIGN_CENTER } }, ;{ Values = { ""}, Lines = 1 } ) If eingabe.Value <Vokchka> 358) Then deg = 0 EndSelect TextOut(1, 75, j, #LEFT, 0) EndFunction ;-----Beginn Teil 1------ dank der Benutzung der Scripts von Andreas sintable = {} pi! = 3.141592 degrad! = pi! / 180 For i = 0 To 999 Do sintable[i] = Sin(i * degrad! * 2) maxwave = 20 p_InitWave() SetFillStyle(#FILLCOLOR) SetFont("helvetica.font", 15) SetFontColor($FFFFFF) ta$ = "[b]Wer übt gerade Englischvokabeln ? [/b]" TextOut(15, 50, ta$, #LEFT, 0) SetFont("helvetica.font", 24) Locate(250,46) name$ = InKeyStr(#ALPHABETICAL, 15) SetInterval(1, p_MainLoop, 1000/25) ; 25 fps Ende = 1 InstallEventHandler({OnMouseUp = Function() Ende = ENDE + 1 EndFunction}) While Ende = 1 WaitEvent Wend ; -----------Beginn Teil 2 ClearInterval(1) Vokabel$ = {} Punkte = 0 OpenFile(1,"Vokabeln.txt") ; laden einer txt-Datei in eine Zeile besteht aus 2 Elementen getrennt durch Pipe | in eine Tabelle While Not Eof(1) ; Vokabel$[z] = ReadLine(1) z = z + 1 Wend z = z - 1 CloseFile(1) haupt2 ;Funktionen einbinden haupt2a /*%KEYDOWN(1)="A - Z" %CODE Label(ONKEYDOWN1) quit=TRUE Return */ /* displays about requester */ Function p_AboutD() SystemRequest(VER$, VER$ .. " geschrieben von Helmut Haake", "OK") EndFunction Function p_About() SystemRequest(VER$, VER$ .. " written by Helmut Haake", "OK") EndFunction /* displays info box */ Function p_Info() SystemRequest(VER$, VER$ .. " läuft zurzeit...\n\nHollywoodhomepage: " .. Hollywoodhomepage$ .. "\nHollywoodForum: " .. HollywoodForum$ .. "\nHollywoodUserpage: " .. HollywoodUserpage$, "OK") EndFunction Function p_InfoGB() SystemRequest(VER$, VER$ .. " is currently playing...\n\nHollywoodHomepage: " .. HollywoodHomepage$ .. "\nHollywoodForum: " .. HollywoodForum$ .. "\nHollywoodUserpage: " .. HollywoodUserpage$, "OK") EndFunction /* this is function that will be entered when an event occurs */ Function p_EventFunc(msg) Switch msg.action Case "OnMouseOver": DisplayBrush(msg.id, msg.x, msg.y) Case "OnMouseUp": Switch msg.id Case 1: p_Start() Case 2: p_Info() Case 3: p_AboutD() Case 4: quit = True Case 5: p_StartGB() Case 7: p_InfoGB() Case 8: p_About() Case 9: quit = True EndSwitch EndSwitch EndFunction evttable = {OnMouseOver = p_EventFunc, OnMouseUp = p_EventFunc, OnMouseOut = p_EventFunc} p_ClearVars() MakeButton(1, #SIMPLEBUTTON, 150, 80, 105, 70, evttable) /* Knopf_start */ MakeButton(2, #SIMPLEBUTTON, 150, 220, 105, 70, evttable) /* Knopf_info */ MakeButton(3, #SIMPLEBUTTON, 150, 315, 105, 70, evttable) /* Knopf_über */ MakeButton(4, #SIMPLEBUTTON, 150, 450, 105, 70, evttable) /* Knopf_beenden */ MakeButton(6, #SIMPLEBUTTON, 550, 80, 105, 70, evttable) /* Knopf_startGB */ MakeButton(7, #SIMPLEBUTTON, 550, 220, 105, 70, evttable) /* Knopf_infoGB */ MakeButton(8, #SIMPLEBUTTON, 550, 315, 105, 70, evttable) /* Knopf_about */ MakeButton(9, #SIMPLEBUTTON, 550, 450, 105, 70, evttable) /* Knopf_quit */ DisplayBrush(1, 150,80) DisplayBrush(2, 150,220) DisplayBrush(3, 150,315) DisplayBrush(4, 150,450) DisplayBrush(6, 550,80) DisplayBrush(7, 550,220) DisplayBrush(8, 550,315) DisplayBrush(9, 550,450) /* ** Main loop */ While quit = FALSE WaitEvent Wend End |
Autor: | malsehn [ 06 Okt 2008, 11:48 ] |
Betreff des Beitrags: | |
Hi Helmuth, @ 1 leider doch ... aber malsehen malsehen, ansonsten schaue ich mir das ganze mal die Tage an. Wir müssen doch da weiterkommen .... also malsehn |
Autor: | HelmutH [ 08 Okt 2008, 14:03 ] |
Betreff des Beitrags: | |
@malsehn @1 das ist nicht schön, da wünsch ich dir gute Besserung und das du schnell wieder richtig fit wirst. Wär prima, wenn du da ein wenig Zeit abzwacken und mal nach schauen könntest, weil ich da zur Zeit ein Brett vor dem Kopf hab und den Knoten nicht gelöst bekomme. Werd dann erstmal mit dem eintragen von weiteren Vokablen weiter machen. |
Autor: | HelmutH [ 17 Dez 2008, 19:34 ] |
Betreff des Beitrags: | |
Hi Leutz Hab mich mal wieder an den Vokabeltrainer gemacht, komm aber bei dem verstecken des Hilfetextes nicht weiter. Der Code sieht da wie folgt aus: Code: Alles auswählen Function Sichtbar() Local Check = scui.Get("Vokabelsicht") If Check.Value = 0 scui.MultiSet({ "Vokbox2", "Hilfestatus" }, { Visible = #IFO_HIDDEN },0) scui.RedrawObjects(1) ;DisplayBGPIC(1) Else scui.MultiSet({ "Vokbox2", "Hilfestatus" }, { Visible = #IFO_VISIBLE },1) scui.RedrawObjects(1) EndIf EndFunction #IFO_VISIBLE = 1 ; The object is Visible, warum wird bei mir der Hilfetext immer zuerst sichbar gezeigt und erst wenn ich auf den Button klicke das Feld versteckt Ich möchte es so haben, das das Hilfetextfeld erst versteckt ist und erst auf klicken des Hilfebutton die Lösung angezeigt wird. Schade, das ich aus dem Quelltext der ScuiLib.hws nicht wirklich schlau werde und somit leider nicht weiter komme. Durch vertauschen der Werte und visible in hidden wechseln ändert sich auch nix, mir fällt auch nix mehr ein, was ich da noch probieren könnte. Hät da noch wer von euch Hollywoodlern da eine |
Autor: | Clyde [ 18 Dez 2008, 13:10 ] |
Betreff des Beitrags: | |
Hi Helmut, schreib die Zeile mal so: Code: Alles auswählen scui.MultiSet({ "Vokbox2", "Hilfestatus" }, { Visible = #IFO_HIDDEN }, 1) Ach ja, und scui.RedrawObjects() ohne die 1 als Parameter aufrufen! Gruß |
Autor: | HelmutH [ 18 Dez 2008, 19:50 ] |
Betreff des Beitrags: | |
Abend Clyde Das mit dem Zahlen wechseln hab ich auch probiert, egal wie ich das kombiniere, es wird immer zuerst das Feld angezeigt, aber nicht zuerst verdeckt. Schade, aber dafür hat dein zweiter Tip ein weiteres Problemchen im Vokabeltrainer behoben und zwar wird dadurch nicht mehr der Hintergrund nach Schwarz gewechselt. Somit ist zumindest schonmal ein Fehler weniger drin, prima und Danke. |
Autor: | Clyde [ 18 Dez 2008, 21:29 ] |
Betreff des Beitrags: | |
Hm, da scheint wohl Deine "Check"-Variable nicht den richtigen Wert zu haben. Rufst Du denn auch beim Start des Programmes auch gleich erstmal die Funktion Sichtbar() auf? Also direkt nach dem Erzeugen der ganzen Scui-Elemente? Dann: schreibe mal nach "Local Check = scui.Get("Vokabelsicht")" und vor "If Check.Value = 0" ein Code: Alles auswählen NDebugPrint(Check) |
Autor: | Tipsi [ 19 Dez 2008, 08:46 ] |
Betreff des Beitrags: | |
Salli Helmut Verwendest Du als Knopf zum Drücken die Button-Klasse der ScuiLib oder die Switch-? Hast Du bei der Definition vom Knopf #IFOCLASS_BUTTON oder #IFOCLASS_SWITCH genommen? Ein Button "spickt" nach dem Anwählen wieder in die Anfangsposition zurück, liefert also nur kurz während dem Drücken den den Wert 1. (Nachher wieder den Wert 0.) Ein Switch rastet ein, bleibt also gedrückt und liefert dann den Wert 1, bis er wieder gedrückt wird. Griessli Tipsi |
Autor: | HelmutH [ 20 Dez 2008, 16:50 ] | |||
Betreff des Beitrags: | ||||
Clyde hab mal den aktuellen Quelltext drangehangen, ist denke ich einfacher, um da mal drüber zu schaun, hoffe ich. Vktrainer1.hws (8 KB) Nehm an du hast DebugPrint gemeint, oder gibt es NDebugPrint auch Dabei bringt er mir raus das es erst deklariert werden muß, bei DebugPrint kommt als Ausgabe: Table: 0x643cbb10 Das sind wieder Sachen, wo ich überhaupt nicht weiß, was diese Ausgabe mir sagen soll. Hört sich für mich an, als ob das Programm in irgendeiner Tabelle was macht, aber was könnte ich aus der Ausgabe nicht entziefern. Tipsi, ich hab #IFOCLASS_SWITCH verwendet. Code: Alles auswählen scui.NewObject( #IFOCLASS_SWITCH, "Vokabelsicht", { x = 275, y = 325 }, { x = 245, y = 50 }, nil, { Values = { "zeige oder verstecke die Lösung","...ein kleines Hilfsmittel" }, Lines = 2 }, { OnChanged = Sichtbar } ) |
Autor: | Tipsi [ 20 Dez 2008, 20:34 ] |
Betreff des Beitrags: | |
Salli Helmut Versuche doch mal den folgenden Code zu starten: Vokabel.hws (9 KB) Funktioniert nun das so, wie Du es willst? Griessli Tipsi |
Autor: | HelmutH [ 20 Dez 2008, 22:08 ] |
Betreff des Beitrags: | |
Salli Tipsi Nee, leider macht er jetzt erst alle Button unsichtbar und nach Eingabe des Namens werden wieder alle Button mit Hilfebutton angezeigt. Ich hab mal einen Screenshot gemacht und den Button eingekreist, den ich erst unsichbar haben möchte und der erst sichbar werden soll, wenn ich auf den Button "zeige oder verstecke die Loesung ...ein kleines Hilfsmittel" klicke. |
Autor: | Tipsi [ 21 Dez 2008, 21:22 ] |
Betreff des Beitrags: | |
Salli Helmut Jetzt habe ich gewürgt, gedreht, eingesetzt, rausgenommen und und und. Aber irgendwie will das Feld das Feld nicht räumen. Vielleicht ist es ein Bug in der ScuiLib , denn ich habe bei meinem KoKa-Programm nun das gleiche festgestellt. Nur bei mir ist es bis jetzt nicht aufgefallen, weil die Knöpfe eigentlich schon weg sind (aber nicht weggezeichnet) und anschliessend mit einem neuen Hintergrund "übermalt" werden. So sind sie eben schlussendlich bei mir doch verschwunden. Vielleicht hat jemand mehr Glück als ich und kommt der Lösung näher oder kann sie finden. Als Alternative könntest Du, wenn das Feld als HIDDEN gesetzt wurde, den Hintergrund sowie die anderen Knöpfe neu zu zeichnen. Andere Variante wäre, nicht das ganze Feld verschwinden zu lassen, sondern nur den Inhalt löschen (leeres Feld oder Hinweistext). Der Inhalt wird dann angezeigt, wenn der Knopf "zeige oder verstecke die Lösung" gedrückt wird. Griessli Tipsi |
Autor: | Murmel [ 21 Dez 2008, 22:31 ] |
Betreff des Beitrags: | |
Hm sorry wenn ich mich einmische aber da wäre doch grade die HW-Mailingliste gefragt oder ? Wenn der Autor da mitliest müsste er wissen wie es geht, wenn es geht |
Autor: | Clyde [ 22 Dez 2008, 12:07 ] |
Betreff des Beitrags: | |
@Murmel: Aber wir wollen hier doch auch ein bisschen rätseln und helfen. @Helmut und Tipsi: Sehr seltsam, eigentlich müsste es gehen. Habe hier ein Projekt, bei dem es genauso funktioniert, weiß nicht, warum es beim Vokabeltrainer nicht geht. Muss ich mich später nochmal mit auseinandersetzen, muss jetzt erstmal weiter. Es scheint aber irgendwie am dem scui.RenderObjects() zu liegen bzw. wo dies aufgerufen wird. Den der MultiSet-Befehl ist richtig. Ach ja, damit übrigens das Label nach dem Programmstart nicht angezeigt wird, musst Du es so anlegen: Code: Alles auswählen scui.NewObject( #IFOCLASS_LABEL, "Vokbox2", { x = 500, y = 170 }, { x = 200, y = 30 }, { Text = { Alignment = #TEXTALIGN_CENTER }, Visible = #IFO_HIDDEN }, { Values = { Vokchka$ }, Lines = 1 } ) Ach ja, muss natürlich nur "DebugPrint" heißen. Sorry, Helmut. Und ja, das ist eine Tabelle. War auch hier wieder mein Fehler. Korrekt muss der Befehl lauten: Code: Alles auswählen DebugPrint(Check.Value) Gruß |
Autor: | HelmutH [ 22 Dez 2008, 21:52 ] |
Betreff des Beitrags: | |
@Tipsi Ich hab da auch schon hin und herprobiert, aber Clyde hat es oben herraus gefunden, zumindest wie das Feld jetzt zuerst versteckt wird, Klasse Was jetzt aber noch nicht klappt ist das hin und herschalten, also versteckt nach sichbar und zurück. Mit diesem Eintrag wird jetzt einmal von versteckt nach sichbar geschaltet, das Feld läst sich dann aber nicht wieder verstecken. Da hab ich jetzt schon den ganzen Nachmittag dran rumgewurschtelt, irgendwie steig ich nicht dahinter. Auch mit vergleichen des Tutorials T04_SwitchesAndMore.hws von der ScuiLib_Work komm ich im Moment da nicht weiter. Bin dadurch nicht dazu gekommen dir die Sachen mal zum drüberschauen zuzuschicken, mach ich morgen, wenn nichts dazwischen kommt. @Murmel Liegt bei mir auch daran, das mein Englisch nicht so gut ist, deshalb versuche ich zur Zeit in der HW-Mailingliste nur mitzulesen. @Clyde Super, das mit dem verstecken des Feldes klappt so Nur mag er noch nicht das hin und herschalten. Von versteckt nach sichbar geht, aber zurück gehts dann nicht mehr. Soll ich dir das ganze auch mal zuschicken Denke, das es einfacher wäre, wenn man das ganze direkt vor sich hat und ausprobieren kann. |
Seite 3 von 6 | Alle Zeiten sind UTC |
Powered by phpBB® Forum Software © phpBB Limited Deutsche Übersetzung durch phpBB.de |