Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Extra Unit für Variablen erstellen!!!


MacT - Do 15.02.07 21:37
Titel: Extra Unit für Variablen erstellen!!!
Ich würde gerne bei der Programmierung eines Quiz, eine extra Unit für die Fragen und Antworten verwenden.
Die variablen kann ich deklarieren, ich weiß aber leider nicht wo ich die Werte der Variablen eintrage.
Kann mir jemand helfen?


Delete - Do 15.02.07 21:41

hallo,

was hast du genau vor, was hast du bereits? zeigt doch mal deinen bisherigen code, dann können wir dir sicher helfen.

mfg.


MacT - Do 15.02.07 22:08

ich dachte mir das ich einen Record erstelle und nun wollte ich den Variablen Werte zuweisen. Aber wie, das ist dir Frage!!!

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
unit Fragen_Unit;

interface
type
        Fragen = record
        frage    : array[1..100of string[100];
        antwort1 : array[1..100of string[25];
        antwort2 : array[1..100of string[25];
        antwort3 : array[1..100of string[25];
        antwort4 : array[1..100of string[25];
        loesung  : array[1..100of byte;
end;
implementation

end.


Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt


HelgeLange - Do 15.02.07 22:31

Zuweisen geht mit :

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var MeineFragen : Fragen; // Instanz vom Record bilden
begin
  MeineFragen.Frage[1] := 'Meine erste Frage';
  MeineFragen.Antwort1[1] := 'Meine erste Antwort';
  ...
  ...
  MeineFragen.Frage[100] := 'Meine hundertste Frage';
  MeineFragen.Antwort1[100] := 'Meine hundertste Antwort';
end;


Du solltest Dir aber in dem Zug überlegen, ob das so Sinn macht. Vielelciht ist es besser, die Daten in einer Datei zu halten oder in einer Datenbank.


MacT - Do 15.02.07 22:45

Das sieht schon ganz gut aus, aber is das jetzt eine procedure oder was ist das.
Eine Datei zu erstellen, die die Fragen enthält geht auch, aber ich wollte es mal so probieren.


HelgeLange - Do 15.02.07 23:47

ich wollte nur Variablen-Deklaration von Code trennen, wie es in Delphi üblich ist


Narses - Do 15.02.07 23:58

Moin!

Suchst du vielleicht sowas? ;)

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:
25:
26:
27:
unit Fragen_Unit;  
 
interface  

type
  TFrage = record
    Frage: String;
    Antwort: array[0..2of String;
    Loesung: Integer;
  end;

const
  Fragen: array[0..2of TFrage = (
    (Frage:    'Was ist meine Lieblingsfarbe?';
     Antwort: ('Rot','Grün','Blau');
     Loesung:  1),
    (Frage:    'Wie schwer ist eine Taube?';
     Antwort: ('100g','150g','200g');
     Loesung:  2),
    (Frage:    'Was für eine Taube?';
     Antwort: ('europäisch','asiatisch','amerikanisch');
     Loesung:  0)
  );

implementation  
 
end.

Z.B. so zu benutzen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  var
    i,j: Integer;
begin
  for i := 0 to High(Fragen) do begin
    ShowMessage(Fragen[i].Frage);
    for j := 0 to 2 do
      ShowMessage(Fragen[i].Antwort[j]);
    ShowMessage('Antwort:'+#13+Fragen[i].Antwort[Fragen[i].Loesung]);
  end;

cu
Narses


MacT - Sa 17.02.07 12:12

Sowas habe ich gesucht!!!
Danke für die Hilfe!!


Narses - Sa 17.02.07 16:01

Moin!

Markierst du den Thread noch entsprechend, wenn dein Problem gelöst ist? Danke. ;)

cu
Narses