| Autor |
Beitrag |
jaykey
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 26.02.04 10:51
Hi,
ich habe versucht ein Quiz zu programmieren! Dazu brauche ich jedoch eine Datenbank für die fragen und die antworten! Die Datenbank muss folgendes erfüllen: sechs Kategorien beinhalten
Fragen
und jeweils drei Antworten!
Welchen Datenbanktyp muss ich benutzen? Achso das ganze sollte als Editor funktionieren!
Gruß Jaykey
PS: Helft mir bitte ist dringend 
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: Do 26.02.04 12:12
Titel: hmmm
Wieso Datenbank? Sowas kannste auch mit Textdateien realisieren, nimm doch eine INI Datei oder eine XML Datei. Der Aufwand mit der DB ist meienr Meinung nach zu groß für so eine "kleine" Aufgabe. ich gehe mal davo naus das Du noch keine "große" Delphi Version besitzt, die Datenbankunterstützung mitbringt. Oder hast du mal kurz 400 Euro ausgegeben um mit Delphi nen Quiz zu machen? Mein Favorit für sowas ist immer Flashfiler von TurboPower, kannst die Serverengine direkt in deine exe miteinkompilieren, dann würde es gehen.
Gruß Martin
|
|
jaykey 
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 26.02.04 12:55
nee wir machen das in der schule! daher haben wir delhpi3!!! Also danke, aso wie geif ich auf die *.íni datei zu!!! Wir haben da noch net so viel mit gemacht!
gruß jaykey
|
|
Pascal
      
Beiträge: 155
Win 98, Win XP
Delphi 2005, Delphi 5
|
Verfasst: Do 26.02.04 13:19
Ich würde das ganze mit einer Stringgrid realisieren. Als Editor kannst du ja dann einfach die Stringgrid nehmen, und das Apspeichern, Laden und den Zugriff auf die Zellen kannste unter home.arcor.de/hardco...nload/stringgrid.pdf ganz schnell lernen.
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: Do 26.02.04 13:27
Hier ein kleiner Auszug aus nem Tool das ich kürzlich brauchte:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.LadeKontakte; var i: Integer; KontaktDatei: TIniFile; NamensListe: TStringList; Kontakt: TFKontakt; begin
if FileExists(ExtractFilePath(Application.ExeName)+'Kontakte.ini') then begin KontaktDatei:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'Kontakte.ini'); NamensListe:= TStringList.Create; KontaktDatei.ReadSections(NamensListe); for i:= 0 to NamensListe.Count - 1 do begin Kontakt:= TFKontakt.Create; Kontakt.KontaktName:= NamensListe.Strings[i]; Kontakt.KontaktNummer:= KontaktDatei.ReadString(NamensListe.Strings[i],'Nummer','KEINE NUMMER'); ComboBox1.AddItem(Kontakt.KontaktName,Kontakt); end; kontaktdatei.Free; Namensliste.free; end; end; |
Delphi-Quelltext 1:
| KontaktDatei:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'Kontakte.ini'); |
Damit öffnest du die Ini Datei zum lesen und schreiben
mit
Delphi-Quelltext 1: 2:
| NamensListe:= TStringList.Create; KontaktDatei.ReadSections(NamensListe); |
Kannst du alle Sktionen aus der Ini Datei auslesen
Delphi-Quelltext 1:
| Kontakt.KontaktNummer:= KontaktDatei.ReadString(NamensListe.Strings[i],'Nummer','KEINE NUMMER'); |
Damit liest du aus der Datei aus der Sktion x den Wert Nummer aus.
Also für dich wäre sowas ja ok:
Quelltext 1: 2: 3: 4: 5: 6:
| [Frage1] Frage=Von wann bis wann war Kohl Bundeskanzler Antwort1=xxxx Antwort2=xxxx Antwort3=xxxx RichtigeAntwort=2 |
Musst dann nur mein Beispiel oben anpassen. Du kannst natürlich auch noch kategorien anlegen.
Hoffe du kommst damit weiter, wenn nicht ,frag nochmal nach ist aber ganz leicht
Gruß Martin
p:s: Das Stringgrid zum eintragen würde ich auch nehmen 
|
|
jaykey 
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 04.03.04 11:00
Also ich hab jetzt noch folgendes Problem, ich habe ein button, wenn ich auf denn klicke soll er zufällig aus der datenbank oder tabelle eine frage mit den antworten heraussuchen und auf verschieden labels ausgeben! Wie macht man sowas?
mfg
jaykey
|
|
Martin77
      
Beiträge: 282
XP Prof
D6 Prof, D7 Personal, D7 Enterprise, D8 personal
|
Verfasst: Do 04.03.04 20:22
such mal nach RANDOMIZE
|
|
Horschdware
      
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: Do 11.03.04 18:49
Da du das Thema nochmal in nem anderen Forum angefangen hast hier ne Lösung...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure TForm1.bu_frageClick(Sender: TObject); var Datenbank : TInifile; AlleFragen : TStringlist; Frage : string; begin AlleFragen := TStringlist.create; Datenbank:=TInifile.create('C:\Windows\Desktop\Datenbank.ini'); Datenbank.ReadSections(AlleFragen); Randomize; Frage:=AlleFragen[random(AlleFragen.Count)];
label_frage.caption:=Datenbank.ReadString(Frage,'Frage',''); label_a1.caption:=Datenbank.ReadString(Frage,'Antwort1',''); label_a2.caption:=Datenbank.ReadString(Frage,'Antwort2',''); label_a3.caption:=Datenbank.ReadString(Frage,'Antwort3',''); label_a4.caption:=Datenbank.ReadString(Frage,'Antwort4','');
Datenbank.Free; AlleFragen.free; end; |
Dazu die Datenbank als ini:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| [Frage1] Frage=Wie heisse ich? Antwort1=Ich Antwort2=Du Antwort3=Er Antwort4=Kallar Hari
[Frage2] Frage=Was war das? Antwort1=Was war was? Antwort2=Das? Das war nix Antwort3=Kalle wars! Antwort4=Nein
[Sinnlose Frage] Frage=Gehts noch? Antwort1=Ja Antwort2=Nein Antwort3=42 Antwort4=wwaaahh |
_________________ Delphi: XE - OS: Windows 7 Professional x64
|
|
MartinPb
      
Beiträge: 698
|
Verfasst: Fr 12.03.04 18:37
Hallo Jaykey,
wenn du nicht reagierst, dann kann dir keiner helfen.
_________________ Gruß
Martin
|
|
jaykey 
Hält's aus hier
Beiträge: 8
|
Verfasst: So 14.03.04 14:49
Dankeschön! Das ist was ich gebraucht habe! Nun kann ich den Pascaleditor, den ich programmiert habe zwar nicht verwenden, aber das ist nicht so schlimm! Oder kennt sich dabei jemand aus, mein editor hat alles in eine zeile geschreiben und deswegn konnten die Fragen nicht abgerufen werden! DANKESCHÖN!
Hat eventuell jemand eine Idee wie labels sich verschiebn lassen? Es wäre ja blöd wenn die richtige antwort ganz oben stehen würde! Weil mit dem beispiel müsste man ja für jede Frage das ganze individuell programmieren!
Danke nochmals
Jaykey
|
|
Horschdware
      
Beiträge: 744
Erhaltene Danke: 54
Win XP Pro, Win 7 Pro x64
Delphi 7, Delphi XE, C++ Builder 5, SAP R/3
|
Verfasst: So 14.03.04 15:12
geht auch einfach:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.bu_frageClick(Sender: TObject); var Datenbank : TInifile; AlleFragen : TStringlist; Frage : string; begin AlleFragen := TStringlist.create; Datenbank:=TInifile.create('C:\Windows\Desktop\Datenbank.ini'); Datenbank.ReadSections(AlleFragen); Randomize; Frage:=AlleFragen[random(AlleFragen.Count)];
label_frage.caption:=Datenbank.ReadString(Frage,'Frage',''); label_a1.caption:=Datenbank.ReadString(Frage,'Antwort1',''); label_a2.caption:=Datenbank.ReadString(Frage,'Antwort2',''); label_a3.caption:=Datenbank.ReadString(Frage,'Antwort3',''); label_a4.caption:=Datenbank.ReadString(Frage,'Antwort4','');
Loesung:=Datenbandk.ReadInteger(Frage,'Lösung',0);
Datenbank.Free; AlleFragen.free; end; |
Quelltext 1: 2: 3: 4: 5: 6: 7:
| [Geschichtliche Frage] Frage=Wann wurde Bonn Russische Hauptstadt? Antwort1=Heute Antwort2=Morgen Antwort3=Gestern Antwort4=42 Lösung=4 |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure tform1.label1click(sender : TObject); begin checken(1); end;
procedure tform1.label2click(sender : TObject); begin checken(2); end;
...
procedure tform1.checken(i : integer); begin if loesung=i then richtig else falsch; nextefrage; end; |
_________________ Delphi: XE - OS: Windows 7 Professional x64
|
|
jaykey 
Hält's aus hier
Beiträge: 8
|
Verfasst: Mo 15.03.04 18:52
danke, ich werd es mal ausprobieren! Werde am Donnerstag bescheid sagen ob es funktioniert!
danke nochmal
Jaykey
|
|
Alexander F
      
Beiträge: 149
Win XP, Win 2000
D6 PE, D7 Prof, D8 Prof
|
Verfasst: Di 16.03.04 14:30
So da habe ich auch noch mal eine kleine Frage:
Welche Datenbank würdet ihr für einen kleines Vokabelverzeichnis mit ein paar anderen Formen empfehlen?
|
|
neojones
      
Beiträge: 1206
Erhaltene Danke: 1
|
Verfasst: Di 16.03.04 15:21
TurboDB von DataWeb. Ist allerdings ziemlich teuer.
_________________ Ha! Es compiliert! Wir können ausliefern!
|
|
Alexander F
      
Beiträge: 149
Win XP, Win 2000
D6 PE, D7 Prof, D8 Prof
|
Verfasst: Di 16.03.04 16:31
Kannst du mir auch eine kostenlose Empfehlen?
|
|
JoelH
      
Beiträge: 806
Erhaltene Danke: 17
Win10
Delphi Alexandria 11.2 Patch 1
|
Verfasst: Di 16.03.04 16:50
_________________ mfg. Joel
|
|
CenBells
      
Beiträge: 1547
Win 7
Delphi XE5 Pro
|
Verfasst: Di 16.03.04 17:22
embedded server von firebird. Unterstützt mehr sql als mysql und musst nur 2 dlls mitliefern.
www.ibphoenix.com
gruß
Ken
_________________ Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
|
|
Alexander F
      
Beiträge: 149
Win XP, Win 2000
D6 PE, D7 Prof, D8 Prof
|
Verfasst: Di 16.03.04 19:59
MySQL wäre vielleicht gar ncith so schlecht, die andere muss ich mir aber auch noch mal anschauen..
|
|
jaykey 
Hält's aus hier
Beiträge: 8
|
Verfasst: Do 18.03.04 18:12
HI
Wollte nur danke sagen funktioniert einwandfrei!
Danke!
Hab noch ein Problem, wie mache ich einen Button farbig?
Gruß jaykey
|
|
Alexander F
      
Beiträge: 149
Win XP, Win 2000
D6 PE, D7 Prof, D8 Prof
|
Verfasst: Do 18.03.04 19:51
Am besten du eröffnst einen neuen Thread, sonst geht das hier noch alles durcheinander 
|
|