AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Hilfe beim einem Quiz: beliebig viele variablen zur laufzeit
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe beim einem Quiz: beliebig viele variablen zur laufzeit

Ein Thema von Pseudemys Nelsoni · begonnen am 13. Dez 2003 · letzter Beitrag vom 8. Jun 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#11

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 13. Dez 2003, 17:53
danke an alle
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#12

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 13. Dez 2003, 20:17
hoi,

ich habe mich eben gefragt, wie ich nachher noch weiss, wo im array der wert für einen nick ist.
wenn ich: "myarray: array of integer;" als array definiere und für jeden Nick, der eine richtige antwort gegeben hat eine variable in das array hinzufüge muss ich doch nachher irgendwie noch wissen welcher wert für welchen nick war oder?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#13

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 13. Dez 2003, 20:20
Du kannst ja auch ein merhdimensionales Array erstellen, oder ein Record.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 13. Dez 2003, 20:22
Delphi-Quellcode:
type
  TAntworter = record
    Nick: String;
    Richtig: Integer;
    Gesamt: Integer;
  end;

var
  Antworter : array of TAntworter;
begin
  setlength(Antworter, 10); // erstmal 10 Stück
  Antworter[0].Nick := 'Luckie';
  Antworter[0].Richtig := 5;
  Antworter[0].Gesamt := 5;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#15

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 13. Dez 2003, 20:23
Wie man sieht, hatte ich mit der Idde eines Records recht
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#16

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 13. Dez 2003, 20:28
das ist perfekt, danke lueckie, dafür das du's extra geschrieben hast. danke @the_master ^^
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 13. Dez 2003, 20:29
Ich wollte nur bei dem Quiz gewinnen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#18

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 14. Dez 2003, 13:29
lol, der thread ist hier sowieso ein quiz, die antworten weiss ich natürlich *g*.

ich hab noch eine:

Delphi-Quellcode:
procedure ChkResult(nick, s: string);
var
  i: integer;
  b: boolean;
begin
  if Form1.Timer1.Enabled then
  begin
    if s = lowercase(Antwort) then
    begin
      b := false;
      Form1.IdIRC1.Say('#united-forum', '14¤03¤09¤ Richtige antwort ' + nick);
      Form1.Timer1.Enabled := false;
      for i := 0 to high(QuizAntwort) do
      begin
        if QuizAntwort[i].nick = nick then
        begin
          inc(QuizAntwort[i].rAntworten);
          b := true;
          Form1.IdIRC1.Say('#united-forum', '14¤03¤09¤ ' + nick + ' hat jetzt ' + IntToStr(QuizAntwort[i].rAntworten) + ' richtige Antworten');
          break;
        end;
      end;
      if b = false then
      begin
        SetLength(QuizAntwort, high(QuizAntwort)+1);
        QuizAntwort[high(QuizAntwort)].nick := nick;
        inc(QuizAntwort[high(QuizAntwort)].rAntworten);
        Form1.IdIRC1.Say('#united-forum', '14¤03¤09¤ ' + nick + ' hat jetzt ' + IntToStr(QuizAntwort[high(QuizAntwort)].rAntworten) + ' richtige Antworten');
      end;
      if QuizOn then
      QuizProc;
    end;
  end;
end;
wenn jemand (in diesem fall ich) die frage richtig beantwortet, geht es bis hier:

Zitat:
[14:21:08] <ism> ¤¤¤ Was bremst die Sinkgeschwindigkeit von Weltraumsonden vor der Landung auf der Erde?
[14:21:10] <moechen-lernt> *hieks
[14:21:15] <shorty> fikh
[14:21:16] <moechen-lernt> doofe fremdwörter
[14:21:17] <shorty> hmm
[14:21:17] <shorty> huhu ihrs
[14:21:20] <michael_g> hallo
[14:21:23] <shorty> quizz0rz
[14:21:29] <michael_g> ein
[14:21:30] <silent> schwerkraft
[14:21:30] <michael_g> schirm
[14:21:35] <silent> fallschirm
[14:21:35] <moechen-lernt> huhu ihr
[14:21:35] <ism> ¤¤¤ Richtige antwort silent
dann bekomme ich eine fehlermeldung:

http://www.angelfire.com/bug/delphi/fehler.jpg


eigentlich müsste nach "richtige antwort silent" noch "silent hat jetzt ... punkte" kommen, das tut es aber nicht.
also, das ist das erste mal das ich mit dynamischen arrays arbeite, also nicht so hart sein .
"QuizAntwort" ist eine global(damit ich von mehreren prozeduren aus zugreifen kann) definierte variable des typs "TQuizAntwort" und ist von dem aufbau her mit luckies beispiel identisch, bis auf "antworten gesamt"
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
deLin

Registriert seit: 8. Jun 2005
4 Beiträge
 
#19

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 8. Jun 2005, 12:29
Hi ihr,

Ich schreib das mal hier rein und zwar:

Ich mache gerade ein Quiz...es hat 3 Antwortmöglichkeiten. Ich wolte fragen, wie man 1.) einen Joker dazumacht, der eine falsche Antowrt wegstreicht und 2.) die Auswerung macht und 3.) die Fragen in geordneter Reihenfolge erscheinen lässt.
Hier ist mal mein Quellcode:

Delphi-Quellcode:
interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Buttons;

type
  TForm1 = class(TForm)
    b_frage: TButton;
    b_fertig: TButton;
    Panel1: TPanel;
    RadioGroup1: TRadioGroup;
    BitBtn1: TBitBtn;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure b_frageClick(Sender: TObject);
    procedure b_fertigClick(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

const Max = 7; // 7 Fragen
var
  Form1: TForm1;
  Frage : Array[1..Max] of String; // von 1-5
  Antwort: Array[1..Max, 1..3] of
  String;
  Richtig: Array[1..Max] of Integer;
  Nr : Integer; // Die Nummer der jeweils richtigen Antwort
  (*reihe: Array[1..7] of integer;*)

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
(*randomize;
for i:= 1 to 7 do
begin*)


Frage[1] := 'Was ist das von Borland entwickelte Delphi?';
    Antwort[1,1]:= 'Eine griechische Stadt, die von den sogenannten "Borländern" gegründet wurde';
    Antwort[1,2]:= 'Ein von der Firma Borland entwickeltes Programmier-Programm';
    Antwort[1,3]:= 'Ein Roboter, der von einem Mann namens Borland gebaut wurde und "Delphi" heißt';
    Richtig[1]:= 2;

Frage[2] := 'Mit welcher Delphi-Version konnte Borland viele Pascal-Veteranen begeistern?';
    Antwort[2,1]:= 'Delphi 25';
    Antwort[2,2]:= 'Delphi 10';
    Antwort[2,3]:= 'Delphi 1';
    Richtig[2]:= 3;

Frage[3] := 'Welches "Pascal-Dialekt" von Borland wurde besonders berühmt?';
    Antwort[3,1]:= 'TurboPascal';
    Antwort[3,2]:= 'SuperPascal';
    Antwort[3,3]:= 'HyperPascal';
    Richtig[3]:= 1;

Frage[4] := 'Welchen anderen Namen bekam Delphi für kurze Zeit?';
    Antwort[4,1]:= 'Enterprise';
    Antwort[4,2]:= 'Inprise';
    Antwort[4,3]:= 'Surprise';
    Richtig[4]:= 2;

Frage[5] := 'Wann wurde die Programmiersprache, auf der Delphi basiert, entwickelt?';
    Antwort[5,1]:= '500 vor Christus von König Alexander I. von Makedonien';
    Antwort[5,2]:= '1920 von Melina Mercouri, eine griechische Schauspielerin';
    Antwort[5,3]:= 'In den Jahren 1968 - 1972 an der ETH Zürich von Prof. Nikolaus Wirth';
    Richtig[5]:= 3;

Frage[6] := 'Was sind globale Variablen?';
    Antwort[6,1]:= 'Globale Variablen gibt es gar nicht';
    Antwort[6,2]:= 'Globale Variablen können nur durch spezielle Befehle angesprochen werden';
    Antwort[6,3]:= 'Globale Variablen gelten im ganzen Programm';
    Richtig[6]:= 3;

Frage[7] := 'Was ist das Gegenstück zur globalen Variable';
    Antwort[7,1]:= 'Die "normale Variable"';
    Antwort[7,2]:= 'Die "lokale Variable"';
    Antwort[7,3]:= 'Die "Variable"';
    Richtig[7]:= 2;


end;

procedure TForm1.b_frageClick(Sender: TObject);
begin
Nr := random(Max) + 1;
Panel1.caption := Frage[Nr];
RadioGroup1.Items[0] := Antwort[Nr,1]; // beginnt bei 0!
Radiogroup1.Items[1] := Antwort[Nr,2];
Radiogroup1.Items[2] := Antwort[Nr,3];
RadioGroup1.ItemIndex:= -1;
end;

procedure TForm1.b_fertigClick(Sender: TObject);
begin
if Radiogroup1.ItemIndex = Richtig[Nr]-1
then Panel1.Caption := 'Richtig!'
else Panel1.Caption := 'Falsch!';
if Radiogroup1.ItemIndex = -1
then Panel1.Caption :='Bitte geben Sie eine Antwort!';
end;
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#20

Re: Hilfe beim einem Quiz: beliebig viele variablen zur lauf

  Alt 8. Jun 2005, 12:34
Hallo deLin,

bitte eröffne zu jeder Frage einen neuen Thread. Das hat Gründe der Übersicht. Wenn jemand nach einer Frage sucht, findet er sonst einen Thread mit mehreren Fragen und er muss sich immer den ganzen langen Thread durchlesen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz