AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2 Deklarationen?

Ein Thema von Frankie · begonnen am 27. Jun 2004 · letzter Beitrag vom 27. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Frankie

Registriert seit: 27. Jun 2004
25 Beiträge
 
#1

2 Deklarationen?

  Alt 27. Jun 2004, 17:08
Hallo,
ich weiß leider nicht, ob dies hier der richtige Bereich ist - sorry.
Aber nun zu meiner Frage.
Ich benuz Delphi 6 und hab grad erst angefangen.
Ich bin nun grad dabei ein Quiz zu erstellen. Oberhalb habe ich die Variable:

var

ant: String; ant steht für Antwort

Unterhalb dann die Antwort:

ant := 'Hund';

Wie ist es jetzt möglich, dass auch noch Katze gelten zu lassen? Also das Hund und Katze richtig sind. Bislang wär ja nur die richtige Antwort Hund.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 17:42
Wenn ich dich richtig verstehe, wäre das Beste ein dynamisches Array:
Delphi-Quellcode:
var
  ant: array of String;
  i: Integer;
begin
  SetLength(ant,2);
  ant[0] := 'Hund';
  ant[1] := 'Katze';
  for i := 1 to Length(ant)
  //Antwort mit ant[i-1] vergleichen
end;
Zu diesem Thema findest du auch hier genug Hilfe, brauchst einfach mal suchen.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
BKempf

Registriert seit: 1. Jun 2004
103 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 17:42
Erste Moeglichkeit: Du koenntest ein Trennzeichen einfuehren (etwa den senkrechten Strich, |, also das Pipe-Symbol) und den String entsprechend zerlegen (oder mit Pos() durchsuchen):

Delphi-Quellcode:
StringMitRichtigenAntworten:='Hund|Katze|Maus';
if Pos(GegebeneAntwort, StringMitRichtigenAntworten)>0 then
begin
  // richtige Antwort
end
 else
begin
  // falsche Antwort
end;
Zweite und vermutlich uebersichtlichere Moeglichkeit: TObjectList verwenden und die erlaubten Antworten da reinstopfen, oder alternativ ein Array verwenden.
The problem with troubleshooting is that sometimes the trouble shoots back.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#4

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 17:48
Hai Frankie,


Zitat von Frankie:
....Wie ist es jetzt möglich, dass auch noch Katze gelten zu lassen? ...
In diesem Fall würde ich die möglichen Antworten mit einem "Sonderzeichen" trennen.

Delphi-Quellcode:
var
  antwort : String;
begin
  antwott := 'hund#katze'; // Das Zeichen # wird wohl kaum in einer Antwort vorkommen.
end;
Jetzt musst Du dir nur noch eine Funktionschreiben welche die Antwort mit diesen beiden Einträgen vergleicht und, wenn einer davon richtig ist True zurückliefert.
Als Stichwörter für die Funktion: Pos und Copy.
Versuche mal wie weit Du kommst. Bei problemen -> Fragen
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Frankie

Registriert seit: 27. Jun 2004
25 Beiträge
 
#5

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 18:01
Oh ich glaub ihr habt das jetzt ein wenig falsch verstanden (oder ich ).

Also ich habe 2 Var. erstellt:

frage1: String;
ant1: String;

So nun hab ich die deklariert:

frage1: 'Wie heiße ich?';
ant1: 'Sascha';

Unten fragt er das nun einfach so ab:
Delphi-Quellcode:
eingabe:=InputBOX('Quiz',frage1,'Deine Antwort..?');
If (eingabe=ant1) Then
SHOWMESSAGE('Wow!!')
else
SHOWMESSAGE('Buh!!')
end;
Demnach müsste ich ja schon oben bei der Deklaration (ant1) eine 2. Antwortmöglichkeit einbauen. Welche allerdings nicht funktioniert - also auch nicht mit diesen Sonderzeichen (ist ja klar). Wisst ihr was ich meine?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.154 Beiträge
 
Delphi 12 Athens
 
#6

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 18:21
Also wenn du einen String mit allen Antworten nimmst, dann mach es lieber so:
Delphi-Quellcode:
StringMitRichtigenAntworten:='|Hund|Katze|Maus|';
if Pos('|' + AnsiStrLowerCase(Trim(GegebeneAntwort)) + '|', StringMitRichtigenAntworten) > 0 then ... {richtig}

{also für "|" ist wie schon erwähnt jedes andere nicht in einer Antwort vorkommende Zeichen möglich}
denn bei den anderen Vorschlägen
Delphi-Quellcode:
StringMitRichtigenAntworten:='Hund|Katze|Maus';
if Pos(GegebeneAntwort, StringMitRichtigenAntworten) > 0 then ... {richtig}
ist auch sowas wie "und" oder sogar nur "a" also Antwort richtig.


Obwohl es so bestimmt noch besser ist, denn auf die Groß und kleinschreibung kommt es doch besimmt nicht an...
Delphi-Quellcode:
StringMitRichtigenAntworten:='|Hund|Katze|Maus|';
if Pos('|' + AnsiLowerCase(Trim(GegebeneAntwort)) + '|', AnsiLowerCase(StringMitRichtigenAntworten)) > 0 then ... {richtig}

{also für "|" ist wie schon erwähnt jedes andere nicht in einer Antwort vorkommende Zeichen möglich}
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Frankie

Registriert seit: 27. Jun 2004
25 Beiträge
 
#7

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 19:26
Danke.
Aber es gibt wirklich keine andere Lösung für meinen Weg? Bei Javascript gibts doch auch 'or' und sowas - warum denn nicht bei Delphi?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 19:29
Zitat von Frankie:
Danke.
Aber es gibt wirklich keine andere Lösung für meinen Weg? Bei Javascript gibts doch auch 'or' und sowas - warum denn nicht bei Delphi?
Irgendwie verstehe ich das Problem jetzt nicht mehr

Delphi-Quellcode:
var
  ant1 : String;
  ant2 : String;
begin
  ant1 := 'blubb';
  ant2 := 'meow';
  eingabe:=InputBOX('Quiz',frage1,'Deine Antwort..?');
  If (eingabe=ant1) or (eingabe=ant2) Then
  begin
    SHOWMESSAGE('Wow!!')
  end
  else
  begin
    SHOWMESSAGE('Buh!!')
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#9

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 19:29
es gibt or ^^
Nico Müller
  Mit Zitat antworten Zitat
Frankie

Registriert seit: 27. Jun 2004
25 Beiträge
 
#10

Re: 2 Deklarationen?

  Alt 27. Jun 2004, 19:39
Funktioniert aber nich bei der Deklaration
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:20 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