Entwickler-Ecke
Sonstiges (Delphi) - Fragen Programm.
Finaldragon - So 05.11.06 12:24
Titel: Fragen Programm.
Hi,
Ich will ein Programm machen wo verschiedene Fragen kommen also:
Es gibt 10 Fragen wenn man auf ja oder nein drückt kommt man jedoch trotzdem zur gleichen nächsten Frage aber am Ende soll für alles ne Andere Antwort rauskomen das heisst ich habe so geklickt: ja,nein,ja,ja,nein,nein,ja,nein,nein,ja
dann kommt raus sie sind dumm
und zum beispiel bei ja,ja,ja,nein,nein,ja,nein,ja,ja,nein
kommt raus sie sind schlau
dies dient nur zum beispiel
nun mein problem mit ein totaler anfänger der null plan hat also ich weiss zwar wie cih in delphi nen fenster mach und zwei buttons und frage aber was ich bein onclick auf den einen btuton tun muss und bei dem anderen und so weiter hab cih kein plan oder wie dann die andere frage erscheinen soll etc.
GTA-Place - So 05.11.06 12:36
Da würde ich mit einem
record arbeiten:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| type TQuestion = record Quest: String; Answer: Boolean; end;
var Questions: Array[1..10] of TQuestion; |
Kurze Erklärung: In einem record kann man während der Laufzeit des Programmes verschiedene Dinge speichern und sie später wieder auslesen. Ich habe nun ein Array genommen, um 10 verschiedene Fragen und deren Antwort zu speichern. Die Antwort ist vom Typ Boolean, d.h. wenn der Spieler
ja auswählt, setzt du
Answer auf
True, ansonsten auf
False.
Nun brauchst du noch eine Variable vom Typ
Integer (global, also ganz oben bei
var), die nennst du
ActQuest und setzt sie in
OnCreate des
Forms auf 1.
Im OnCreate definierst du nun noch deine Fragen und setzt alle Antworten auf
False:
Delphi-Quelltext
1: 2:
| Questions[1].Quest := 'Kannst du Programmieren?'; Questions[1].Answer := False; |
Anschließend zeigst du die 1. Frage z.B. in einem Label an (
Label1.Caption := Questions[1].Quest).
Wenn nun der Spieler auf einen Button klickt, müsste das hier ausgelöst werden (OnClick):
Delphi-Quelltext
1: 2:
| inc(ActQuest); Label1.Caption := Question[ActQuest].Quest; |
Davor aber noch das Ergebnis speichern, also
Answer auf
True setzen, wenn
ja angegklickt wurde. Bei
nein musst du nichts machen, da
Answer ja schon auf
False gesetzt wurde.
Soweit mal der Anfang. Vllt. kriegste die Auswertung selbst hin.
Finaldragon - So 05.11.06 12:52
Sorry aber ich hab echt garkeine ahnung ^^ zum beispiel dieses:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| type TQuestion = record Quest: String; Answer: Boolean; end;
var Questions: Array[1..10] of TQuestion; |
wo soll das hin? und wo sollen die anderen hin? jetzt denkste echt warscheinlich was bin ich für ein n00b^^ ich gebs zu!
Moderiert von
Tino: Delphi-Tags hinzugefügt
GTA-Place - So 05.11.06 12:56
Du kannst ja die Suche benutzen:
RECORD
Finaldragon - So 05.11.06 13:07
Erstmal : Die Suche hat 1742 Ergebnisse ergeben. öÖ
und Zweitens wenn ich des noch nichtmal kapiere wenn mir jemand auf meine eigene frage antwortet dann kapiere ich es sicher nicht wenn es bei anderen geantwortet wurde die meistens sogar ne andere frage hatten
GTA-Place - So 05.11.06 13:11
Geh doch einfach mal zum 2. Suchergebnis. Weiter unten in dem Thread habe ich ein Beispiel mit einem record. Da siehste genau, wo der record hin muss.
Finaldragon - So 05.11.06 13:35
ok ich glaub du kannst es nich verstehen da du dich mit delphi zu gut auskennst :(
GTA-Place - So 05.11.06 13:41
Jetzt guck doch mal meinen Beitrag in dem anderen Thread an:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| type TUserInfo0 = record usri0_name: LPWSTR; end; PUserInfo0 = ^TUserInfo0;
function NetUserGetInfo(servername: LPCWSTR; username: LPCWSTR; level: DWORD; bufptr: Pointer): NET_API_STATUS; stdcall;
var Form1: TForm1;
implementation
function NetUserGetInfo; external 'netapi32.dll' name 'NetUserGetInfo';
{$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); ... |
Und da oben siehst du einen
record. Wenn du jetzt F12 in Delphi drückst, dann siehst du z.B.
Vergleich das mal mit meinem Beispiel und du siehst, wo der
record hin muss.
Logikmensch - Mo 06.11.06 11:04
Finaldragon:
Also, zunächst einmal: Es ist keine Schande, wenn Du etwas nicht weißt. Wir haben alle mal klein angefangen. Aber es macht echt keinen Sinn, wenn Du Deine Pläne höher steckst als Dein Wissen es momentan zulässt.
Resignation bringt Dich nicht weiter, sondern nur fleißiges, ruhiges Auseinandersetzen mit den Grundlagen. Ohne das wird es schwierig, irgendwie zu helfen. Wenn ich eine Buch-Empfehlung aussprechen darf: Es gibt genügend gute Bücher über Delphi-Grundlagen.
Viel Erfolg!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!