1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

"Wer wird Millionär"

Discussion in 'Programmieren' started by dave-brombacher, Dec 15, 2008.

Thread Status:
Not open for further replies.
  1. Hi

    wie gesagt ich habe Visual Basic 2008.. von dem her gib es den Befehl unload nicht..


    ich habe jedoch herausgefunden wie das geht.. ne ziemlich seltsame weise^^:

    Habe nach "Unload befehl Visual Basic 2008" gegoogelt.. und da kam da nen Post.. in dem gefragt wurde mit welchem Befehl man die Anwendung nicht schließt (also .hide) dieser jemand kannte jedoch die befehle .close und .dispose

    als ich die Grußformel ansehe.. und da "Greez Dave" steht.. als ich dann auch noch meinen Benutzernamen sah.. viel mir ein das ich das mal gefragt hatte.. aber schon ewig her^^

    Der Befehl welcher funktioniert ist:

    FormName.dispose

    Damit wird die Form "entladen", sprich sie lädt sich daraufhin erneut.
    _______________________


    Nächste Frage:

    Ich habe im Baukasten mehrere Radio-Buttons angelegt.. meistens ja/nein

    jedoch kann ich immer nur 1 Radiobutton in der Form aktivieren.. obwohl sie miteinander nichts zu tun haben sollen..

    wie kann ich die buttons gruppieren ? sprich immer nur "ja" und "nein" von einer Frage.. und nicht noch die von Frage 2, usw.

    kam das jetzt verständlich rüber ?


    Greez
    Dave
     
  2. VB-Coder

    VB-Coder Megabyte

    setz die radiobuttons auf framefelder

    pro framefeld 2 radiobuttons

    dann reagieren nur diese beiden buttons die auf einem frame sitzen miteinander, aber unabhängig von den anderen framefeldern und damit unabhängig von den anderen buttons
     
  3. oh man ich stell mich schon bescheuert an..

    stimmt.. so gings


    Ich denke ich werde hauptsächlich mit dem TreeView arbeiten..

    weißt du wie man da CheckBoxen und Radiobuttons einfügt ?


    nur falls du es gerade auf die schnelle hast.. ich bin gerade noch am googeln..


    Greez
    Dave
     
  4. VB-Coder

    VB-Coder Megabyte

    Radiobuttons in ein TreeView einbinden funktioniert nicht. Jedenfalls ist mir keine Möglichkeit bekannt.
     
  5. ja das ist mir beim googeln auch so gekommen.. habe es wohl mit der funktion verwechselt die Knoten-Punkte mit Checkboxen zu versehen..


    nun ja egal.


    Ich habe nun im Baukasten Links am Rand ein TreeView angelegt, allerdings nur Stammpunkte, sprich also ohne Untermenü. Es soll eigentlich nur zum Wechsel dienen zwischen den Einstellungen.

    Nun jetzt habe ich aber Das Problem das ich die Objekte, also die Radiobuttons, sie befinden sich Rechts vom Tree, übereinander legen müsste.. gibt es da eine andere Möglichkeit ?

    zb. die Objekte aus einer anderen Form holen ?


    oder muss ich sie zuerst verstecken und dann mit Befehlen die Location zuweisen ?


    Greez
    Dave
     
  6. VB-Coder

    VB-Coder Megabyte

    Ich kann dir gerade nicht wirklich folgen im Bezug auf das was du vor hast. Warum musst du Radiobuttons übereinander legen ? Der Sinn entzieht sich mir. Wenn ich verschiedene Radiobuttons an der gleichen Stelle brauche, dann reicht es wenn ich dort einen Button habe, wo ich die Caption entsprechend ändere. Falls ich unterschiedliche Auswertungsmethoden benötige für diesen Button realisiere ich das im Code z.b. mit einer simplen if Schleife

    Nehmen wir an du hast einen Radiobutton mit dem Namen rbtn1
    Dieser hat im Fall 1. die Caption Eigenschaft "ja" und im Fall 2. die Caption Eigenschaft "test", dann würde ich das im Code einfach wie folgt abfangen

    Code:
    [COLOR=RoyalBlue]Private Sub[/COLOR] rbtn1_Click()
    
    IF rbtn1.caption = "ja" THEN
    - Hier die Anweißungen was passiert wenn der Radiobutton die Beschriftung ja hat -
    END IF
    
    IF rbtn1.caption = "test" THEN
    - Hier die Anweißungen was passiert wenn der Radiobutton die Beschriftung test hat -
    END IF
    
    [COLOR=RoyalBlue]End Sub[/COLOR]
    
    Ich hoffe du verstehst worauf ich hinaus will. Aber du würdest mir ungemein helfen, wenn du näher erklären könntest wie du dir das ganze gedacht hast. Dann kann ich auch versuchen dir gezielt zu helfen.
     
  7. Hi

    danke ich verstehe was du meinst.. klingt auch einleuchtend

    Allerdings habe ich da ein paar Probleme:

    1. Das was der Radio-Button bewirkt, sprich ob er geckeckt ist oder nicht, ermittle ich erst wenn man auf den Save-Button in meiner Anwendung klicke.. Das ganze hab ich so gemacht, weil ich das besser fand wenn nur einmal in die INI-Datei geschrieben wird..
    ->Das müsste ich also ändern..

    2. Bei 2 Menü-Punkten klappt das so, da ich in beiden die gleichen Steuerelemente brauche, in dem Fall Radio-buttons...
    Es gibt aber auch welche, wo ich andere brauche, etwa dort wo man Frage&Antwort eingibt, dort brauche ich Checkboxe und Eingabe-Felder. Menü-Punkte mit Radiobuttons wären überwiegend nur Allgemein und Fehler-Statistik..


    Nun nochmal um meine Vorstellung zu erläutern:

    [​IMG]


    Am einfachsten aus meiner Sichtweise wäre wenn sich der Inhalt des Weißen Feldes (Haupt-Feld) komplett ändert, d.h. er wird ausgewechselt, je nach dem welcher Menüpunkt im linken Feld ausgewählt ist. das Ereignis für das wechseln wäre AfterSelected..

    Daher auch mein Gedanke alles übereinander zu legen, und dann immer das zu verstecken was nicht dazugehört...

    Allerdings geht das eben nicht, weil ich sonst ja nichts mehr sehe..

    Mein Lösungsvorschlag wäre:

    1. Die Objekte aus einer anderen Form zu holen. Die Form diene dann nur als Ablage.. zugesicht soll sie keiner bekommen..

    Allerdings weiß ich nicht wie man eine GroupBox (Habe alles so gruppiert) aus der Ablage-Form holt.. und ob das überhaupt geht.
    Ich denke man müsste dann nur die Location beim "importieren" angeben? den genauen befehl kenne ich aber auch nicht..


    2. Ich ordne alle Boxen so an, das ich während dem programmieren immernoch den Durchblick habe.. und wenn ein Objekt nacher gezeigt wird, definiere ich die Location..

    Allerdings nicht gerade das Gelbe vom Ei.. beides nicht wirklich.. allerdings wäre die erste Variante schon ok wenn es nicht allzugroßen Aufwand ist..



    Mit einem Menu-String habe ich noch nie gearbeitet.. wenn es soetwas für die Seite gibt könnte ich mich damit auch Anfreunden..


    Aber vieleicht hast du ja noch ein paar Vorschläge ?


    Greez
    Dave
     
    Last edited: Jan 4, 2009
  8. VB-Coder

    VB-Coder Megabyte

    Ich würde das ganze mit Tab's lösen und nicht so umständlich.
    Also ein TabStrip einfügen und auf diesem dann die verschiedenen Tabs einrichten. Jedes Tab bekommt dann die Steuerelemente die es braucht. Dann kann man bequem zwischen den Tabs hin und her switchen.

    Beispiel:

    [​IMG]
     
  9. Hi

    ja ist wahrscheinlich am einfachsten...Danke :-)


    Melde mich wieder wenn es das nächste Problem gibt^^


    Greez
    Dave
     
  10. Hi

    das mit dem Tabs klappt ganz gut :-) danke nochmal..


    Gibts es einen Befehl mit dem ich das zeigen von einem Button (in meinem Falle einen der Joker-Button) verbiete, obwohl im weiteren verlauf des Programmes der Befehl Button.Show angeführt wird ?

    Sinn und zweck des ganzen soll sein, das man im Baukasten einstellen soll welche Joker Aktiv sind und welche nicht..

    Den Button zu Beginn des Programmes (also Hauptform.Load) einfach auf .hide zu stellen bringt eben nichts, da später viele stellen kommen wo wieder .show steht.


    Ich habe es jetzt so gelöst, das ich sie hinter einer Blende versteckt habe..

    Wollte eben nur wissen ob ich irgendwo Global das zeigen eben verbieten kann, und dass dieser Befehl eine höhere Priorität hat, als die anderen.


    Die anderen mit If-Bedingungen zu versehen ist mir ehrlich gesagt zu viel aufwand^^.. ist wohl aber auch verständlich bei den mindestens 50 Stellen..



    Noch eine Frage:

    Geht das, dass man mit vb08 mehere Dateien in eine Zip-File packt ?

    Würe ganz gern im Baukasten bei der Speichern-Funktion einbauen, das die INIDatei, das Programm selber und einige Bilder zusammengepakct werden..


    Greez
    Dave
     
  11. VB-Coder

    VB-Coder Megabyte

    Wegen dem Button:

    Du wirst um die IF Schleifen nicht drumherum kommen. Denn es ist ganz einfach so, das ein Code Zeilenweiße abgearbeitet wird. Und dabei hat die aktuelle Zeile die höchste Priorität. Somit kannst du das ausblenden nur in der aktuellen Zeile die gerade abgearbeite wird veranlassen. Soll heißen, wenn in Zeile 50 steht hide und in Zeile 52 dann show, dann wird ab Zeile 52 der Button auch zu sehen sein.

    Zum Thema ZIP Dateien mit VB packen: Das ist sicherlich möglich. Jedoch dir das hier zu erklären, würde den Rahmen des Threads sprengen. Zumal es dafür mehrere Lösungen gibt. 1. verwenden eines externen Programmes - 2. benutzen der Windows internen Packfunktion oder 3. Entwicklung einer eigenen OCX

    Ich weiß nicht wie gut dein Englisch ist, dennoch empfehle ich dir folgenden engl. Link: http://www.xtremevbtalk.com/showthread.php?t=284538 Hier wird das ganze nach Methode 2 erklärt. Das sollte das beste, wenn auch nicht das einfachste Mittel dafür sein, da es auf eine Funktion aufbaut, die Windows von Haus aus mit sich bringt.
     
  12. Hi

    ja das mit dem Button hab ich mir gedacht.. aber es geht so auch, habe sie hinter einer picture box versteckt..


    Das mit der Pack-Funktion habe ich noch nicht versucht, doch ich denke ich bekomme das nach der Anleitung hin.. danke :-)



    Bei der Einteilung der Gewinnstufen, habe ich jeder Stufe eine CheckBox beigefügt, mit der man die Sicherheitsstufen festlegen kann.

    Allerdings möchte ich das maximal 5 vergeben werden. Ich hab also 14 Boxen will aber nur, das 5 gecheckt sein sollen.

    Wie kann ich die Checks zählen ?
    Wenn es mehr als 5 sind würde ich dann eine Message ausgeben..


    Danke für deine Hilfe :-)

    Greez
    Dave
     
  13. VB-Coder

    VB-Coder Megabyte

    du legst eine variable fest "gewinnstufen" diese bekommt den wert null dann im onClick event der jeweiligen checkbox zählst du die variable um 1 hoch. dann prüfst du nach dem hochzählen ob der inhalt der variablen > 5 ist und wenn ja dann eine warnung raus und die aktuelle checkbox demarkieren
     
  14. Hi

    ja soweit war ich auch schon.. doch das bringt ja eben nicht wirklich viel, weil man ja auch die Möglichkeit hat es wieder abzuwählen.. und dann bleibt der Wert ja..

    Ich probiers mal so, das ich am Schluss bei nem Button einfüge, das er wenn eine Box gecheckt ist, er den wert um 1 steigert.. so sollte es gehen


    Danke

    Greez
    Dave
     
  15. VB-Coder

    VB-Coder Megabyte

    Warum mit Button ? Bei Click einfach prüfen welchen Wert Value zurück liefert. Sprich du prüfst im onClick einfach ob die Box aktiviert (1) oder deaktiviert (0) wurde und reagierst darauf, indem du die Variable (+1) hochzählst, oder (-1) runterzählst

    Code:
    if Checkbox.Value = "1" THEN ZÄHLWERT = ZÄHLWERT + 1
    if Checkbox.Value = "0" THEN ZÄHLWERT = ZÄHLWERT - 1
    
     
  16. Hallo zusammen

    ersteinmal entschuldigung, dass ich mich jetzt erst wieder melde.. hatte in letzter Zeit keine gelegenheit und teilweise auch keine Lust ;-) weiter am projekt zu arbeiten.. habe in der zwichenzeit mir einen neuen pc zugelegt mit windows x64 und das nach meinen wünschen zu konfigurieren gestaltete sich etwas komplizierter als bei einem 32bit..

    Nun heute hatte ich gerade nichts besseres zu tun.. und da hab ich wieder angefangen mich einzuarbeiten :-)


    Nun hier mal die aktuelle Baukasten-Version (im Anhang)

    Es fehlen noch einige Dinge.. aber das wird^^


    Wie ihr sicherlich bemerkt habt, gibt es im Tab "Fragen" eine 2. Form die sich öffnet wenn man auf Gewinn-Stufen klickt.

    Nun in dieser Form sind mehrere Variablen als Integer definiert. Wenn ich nun versuche mit der "Haupt"-Form auf diesen Wert folgendermaßen versuche zuzugreifen:

    blabla GewinnStufenForm.Variable

    sagt er mir:

    Variable ist in diesem Kontex nicht zugreifbar, da es "Private" ist



    Gibt es eine Möglichkeit den Wert trotzdem abzurufen ?


    Bedanke mich nochmal für die Super Hilfe von VB-Coder für meine vorherige Fragen :-)


    Greez
    Dave
     

    Attached Files:

  17. VB-Coder

    VB-Coder Megabyte

    Ja leg die Variable so an das sie Global zur Verfügung steht.

    Sprich also du schreibst in den Mainteil (Außerhalb der Prozeduren / bis oben) folgendes hin:

    OPTION EXPLICIT
    PUBLIC NameVonVariable1 AS STRING
    PUBLIC NameVonVariable2 AS STRING
    PUBLIC NameVonVariable3 AS STRING
    usw.

    Damit machst du die Variablen öffentlich verfügbar.
    Nehmen wir an die Variablen sind in Form1 festgelegt...
    Wenn du jetzt aus sagen wir Form 2 darauf zugreifen willst kannst du das wie folgt machen:

    Form1.NameVonVariable1 .... würde dir jetzt den Inhalt der Variablen zurückgeben. Egal von welcher Form aus du sie aufrufst.
     
  18. Hi

    danke hat geklappt.. allerdings musste ich es so machen:


    Option Explicit on
    Public Class

    'Declaration
    Public Variable As Integer


    Habe heute die Eingabefelder für die Fragen erstellt, werde diese in den folgenden Tagen bearbeiten.. kann dauern bei meinen vielen parametern^^


    Greez
    Dave
     
  19. Hallo


    ich habe heute ein paar Befehle in eine Function geschrieben, damit ich die Texte der Meldungen leichter mit Variablen versehen kann.. ist aber auch egal..


    Auf jedenfall, sagt er mir bei meiner Funktion, dass sie nicht für alle Code-Pfade einen Rückgabe wert gibt.

    Ist das schlimm ? sollte ich was ändern ? oder verkraftet mein Programm die Fehlermeldung ?


    Hier die Befehle:
    Code:
        Public Function KOBefehle() As String
            If KO = 1 Then
                MsgBox(("Das war leider Falsch! Antwort " & INI.WertLesen("Frage" & Stufe, "RA") & " wäre richtig gewesen."), MsgBoxStyle.Exclamation + vbOKOnly, "Falsche Antwort")
                If Locked = 0 Then
                    MsgBox(" Sie haben leider nichts gewonnen.", MsgBoxStyle.Information + vbOKOnly)
                ElseIf Locked = 1 Then
                    MsgBox((" Sie haben " & INI.WertLesen("Gewinnstufen", GewinnLock1) & " gewonnen. Herzlichen Glückwunsch!"), MsgBoxStyle.Information + vbOKOnly, "Gewinn")
                ElseIf Locked = 2 Then
                    MsgBox((" Sie haben " & INI.WertLesen("Gewinnstufen", GewinnLock2) & " gewonnen. Herzlichen Glückwunsch!"), MsgBoxStyle.Information + vbOKOnly, "Gewinn")
                ElseIf Locked = 3 Then
                    MsgBox((" Sie haben " & INI.WertLesen("Gewinnstufen", GewinnLock3) & " gewonnen. Herzlichen Glückwunsch!"), MsgBoxStyle.Information + vbOKOnly, "Gewinn")
                ElseIf Locked = 4 Then
                    MsgBox((" Sie haben " & INI.WertLesen("Gewinnstufen", GewinnLock4) & " gewonnen. Herzlichen Glückwunsch!"), MsgBoxStyle.Information + vbOKOnly, "Gewinn")
                ElseIf Locked = 5 Then
                    MsgBox((" Sie haben " & INI.WertLesen("Gewinnstufen", GewinnLock5) & " gewonnen. Herzlichen Glückwunsch!"), MsgBoxStyle.Information + vbOKOnly, "Gewinn")
                ElseIf Locked = 2 Then
                End If
    
                If TryAgain = 1 Then
                    If MsgBox("Wollen sie es nocheinmal versuchen ?", MsgBoxStyle.Question + vbYesNo, "Nocheinmal ?") = vbYes Then
                        Me.Dispose()
                        StartScreen.Show()
                    Else
                        StartScreen.Close()
                    End If
                Else
                    StartScreen.Close()
                End If
            End If
        End Function
    Greez
    Dave
     
  20. VB-Coder

    VB-Coder Megabyte

    Gib mal bitte die genaue Fehlermeldung
     
Thread Status:
Not open for further replies.

Share This Page