AGB  ·  Datenschutz  ·  Impressum  







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

Hilfe beim Fragespiel

Ein Thema von Samel · begonnen am 15. Mär 2011 · letzter Beitrag vom 15. Mär 2011
Antwort Antwort
Samel

Registriert seit: 21. Jan 2011
3 Beiträge
 
#1

Hilfe beim Fragespiel

  Alt 15. Mär 2011, 08:39
Hallo meine freundin und ich müssen für die schule ein kleines fragespiel programmieren...leider haben wir ein kleines problem...wir wollen die fragen nicht direkt ins programm schreiben sondern in eine .txt datei und diese dann in delphi abrufen...kann uns einer sagen wie man das macht? lg
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#2

AW: Hilfe beim Fragespiel

  Alt 15. Mär 2011, 08:49
Eine einfache Möglichkeit dürfte TIniFile sein. Diese Datei könnte so z.B. aussehen:
Code:
[1]
Frage=Was ist die Antwort auf die Frage nach dem Leben, dem Universum und einfach allem?
Antwort=42

[2]
Frage=Wo wurde der Friedensvertrag von 1918 unterzeichnet?
Antwort=Unten rechts

usw. usf.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#3

AW: Hilfe beim Fragespiel

  Alt 15. Mär 2011, 09:06
Eine weitere einfache Möglichkeit wäre die Fragen+Antworten in Einer .txt File zu speichern und via TStringList zu behandeln.

Die Textdatei könnte wie folgt aussehen:

Code:
Q: Hier steht deine Frage
A: Hier steht deine Antwort
Q: Hier steht die nächste Frage
A: Und hier die Antwort
Oder aber so:

Code:
Hier steht deine Frage|Hier steht deine Antwort
Hier steht die nächste Frage|Und hier die Antwort
Viel Erfolg
  Mit Zitat antworten Zitat
Samel

Registriert seit: 21. Jan 2011
3 Beiträge
 
#4

AW: Hilfe beim Fragespiel

  Alt 15. Mär 2011, 09:09
danke aber wie genau muss ich das jetzt anstellen? weil schreib ich es dann nicht doch in mein programm direkt mit rein wenn ich es so mache?
  Mit Zitat antworten Zitat
-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#5

AW: Hilfe beim Fragespiel

  Alt 15. Mär 2011, 09:12
Variante 1:
Eine Ini Datei sollte nicht manuell angelegt werden wenn man sich da nicht auskennt
Hierzu könnte man sich ein "Fragen Erstell Hilfsprogramm" schreiben.

Über Delphi werden die Fragen dann zur Laufzeit via IniFiles einlesen.

Variante 2:
Die Textdatei kannst du Manuell anlegen. Du musst dir aber hier auch sicher sein was du machst

Die Textdatei lädst du dann zur Laufzeit in einer Stringliste. Mit einer Schleife durchläufst du diese und ließt die Fragen + Antworten aus.
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#6

AW: Hilfe beim Fragespiel

  Alt 15. Mär 2011, 09:13
sieh dir mal TIniFile an, das ist gaaanz einfach:

Delphi-Quellcode:
ini:=TIniFile.create('C:\Qa.ini');
ini.ReadString(IntTostr(1), 'Frage', '');
ini.ReadString(IntTostr(1), 'Antwort', '');
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#7

AW: Hilfe beim Fragespiel

  Alt 15. Mär 2011, 09:26
Und die Abschnitte, die die Fragen enthalten, bekommt man mit TIniFile.ReadSections. In meinem Beispiel von oben würde die übergebene Stringliste dann 1 und 2 enthalten.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Hilfe beim Fragespiel

  Alt 15. Mär 2011, 09:58
Hier vllt. mal der Link auf ein Tutorial zum Thema Ini, bevor du ganz verwirrt bist
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.840 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Hilfe beim Fragespiel

  Alt 15. Mär 2011, 11:33
...kann uns einer sagen wie man das macht? lg
In Delphi eine neue Anwendung erzeugen.
2 x Label Komponente auf das Form1 legen (Caption auf Frage: und Antwort: setzen)
2 x TEdit Komponente auf das Form1 legen
1 x Button auf das Form 1 legen.
-> Button doppelklicken -> Editor geht auf.

Quelltext wie folgt vervollständigen:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses
  IniFiles;

{$R *.dfm}

const
  cNoQuestion = 'keine Frage angegeben';
  cNoAnswer = 'keine Antwort angegeben';

procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringList;
  s: string;
begin
  sl := TStringList.Create;
  try
    // IniDatei hat Dateinamen der Exe nur mit '.ini' statt '.exe'
    with TIniFile.Create(ChangeFileExt(Application.ExeName, '.ini')) do
    try
      ReadSections(sl); // Sektionen auslesen -> [Sektionname]
      s := sl[random(sl.Count)]; // per "Zufall" eine Sektion auswählen
      Edit1.Text := ReadString(s, 'Frage', cNoQuestion); // Frage der Sektion in Edit Feld schreiben
      Edit2.Text := ReadString(s, 'Antwort', cNoAnswer); // Antwort - dito
    finally
      Free; // IniDatei wieder freigeben
    end;
  finally
    sl.Free; // StringListe wieder freigeben
  end;
end;

initialization
  Randomize; // Zufall initialisieren ;-)
end.
IniDatei anlegen.
Ini Datei ist eine Text-Datei mit dem Namen der Exe-Datei aber mit der Dateiendung ini statt exe

z.B. Project1.ini

Folgender Inhalt sollte funktionieren:
Code:
[1]
Frage=Warum?
Antwort=Darum!
[2]
Frage=Weshalb?
Antwort=Deshalb!

[Allgemeinwissen 1]
Frage=Was ist die Antwort auf die Frage nach dem Leben, dem Universum und einfach allem?
Antwort=42

[Fangfrage 1]
Frage=Wo wurde der Friedensvertrag von 1918 unterzeichnet?
Antwort=Unten rechts
Ich hoffe das hilft Dir.
Viel Spaß
MaBuSE
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:36 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