-
Forum: Programmieren allgemein
by DeddyH,
4. Feb 2011
Beim Doppelklick auf ein Control wird immer der Code für ein vordefiniertes Standardereignis generiert. Für ein Formular ist das z.B. OnCreate, für einen Button OnClick. Wenn man das Standardereignis nicht kennt oder meint, muss man über die "Ereignisse"-Seite des Objektinspektors gehen, aber das hast Du ja nun bemerkt :)
-
Forum: Programmieren allgemein
by DeddyH,
4. Feb 2011
Wenn der Lehrer es nicht vermitteln kann, dann muss man halt zur Selbsthilfe greifen. Wie bereits mehrfach erwähnt, schau Dir einfach die Tutorials an, progge evtl. enthaltene Beispiele nach und erweitere diese dann um weitere Funktionalitäten. Nach meiner Erfahrung lernt man dabei am meisten. Es ist noch kein Meister vom Himmel gefallen, aber wenn hier schon Befehle genannt oder Beispielcodes...
-
Forum: Programmieren allgemein
by DeddyH,
2. Feb 2011
Natürlich, wo ist das Problem?
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Ohne Worte :roll:
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Was will er denn jetzt mit Length? In der momentanen Lösung ist es doch so: je Zahl wird ein String, der den Wert dieser Zahl darstellt, 4 Mal in der Stringliste hinterlegt. Anschließend wird ein zufällig gewähltes Element dieser Liste ermittelt. Der String wird dann als Dateiname herangezogen, die entsprechende Grafik in das aktuelle TImage geladen, die ursprüngliche Zahl in der Tag-Eigenschaft...
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Kann denn Dein Lehrer jetzt damit leben, oder sollst Du die Dateien immer noch umbenennen, damit es wieder komplizierter wird?
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Wenn Du die Bilder +1 bis +4 in 1 bis 4 umbenennst, sollte mein Code eigentlich funktionieren. Wenn Du Fragen dazu hast, frag einfach.
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Ich hab' s doch nur kopiert ;)
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Mal alles zusammengefasst (aus dem Kopf, daher ungetestet):
procedure TForm1.Button2Click(Sender: TObject);
const
AnzahlProBild = 4;
Dateipfad = 'H:\Informatik-Bilder\';
var
ListeVonDateinamen:TStringlist;
DateinameIndex:Integer;
i, j:Integer;
begin
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Solange die Dateinamen mit der Zahl übereinstimmen hast Du Recht (zumindest, solange man bei TStringlist bleibt, was ich empfehlen würde, um nicht noch mehr Verwirrung zu stiften). Dafür muss man dann halt sorgen.
Also müsste das dann so funktionieren:
const AnzahlProBild = 4; //ursprünglich waren das mal 3, aber was solls
for i := -4 to 4 do
if i <> 0 then
for j := 1 to...
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Schau doch einfach in die mitgelieferte Hilfe. Ggf. musst Du allerdings erst ein MS-Tool installieren, damit *.hlp-Dateien auch angezeigt werden.
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Gibt es unter Delphi 3 bereits TStrings.AddObject?
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Da Befüllen der Stringliste kannst Du übrigens mit 2 Schleifen eleganter und weniger fehleranfällig machen.
@haentschman: mit dem Index kommst Du so aber nicht zum Ziel.
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Eben, und dazu muss man ja nur wissen, welche Zahl sich hinter der jeweiligen Grafik verbirgt. Dazu fallen mir mehrere Möglichkeiten ein, von elegant und OOP-konform bis leicht verständlich, aber fehleranfällig.
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Benutzt Du jetzt die Stringliste, wie irgendwann einmal vorgeschlagen?
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Auch wenn die zufällig belegt werden, solltest Du doch den aktuellen Zufallswert kennen, sonst machst Du etwas falsch.
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Ich hatte es ja schon einmal angesprochen: jede Komponente verfügt über eine Eigenschaft namens "Tag". Dabei handelt es sich um eine Integer, die Du als Programmierer völlig frei belegen kannst, denn genau dafür ist sie da. Lädst Du also in Image1 das Bild mit der 4, schreibst Du in die Tag-Eigenschaft eben auch die 4.
-
Forum: Programmieren allgemein
by DeddyH,
1. Feb 2011
Was meinst Du denn damit?
-
Forum: Programmieren allgemein
by DeddyH,
28. Jan 2011
Trotzdem mag ich es immer noch nicht glauben, dass das TImage unter Delphi 3 kein OnClick-Event besitzen soll. Welcher Sinn sollte dahinterstehen?
-
Forum: Programmieren allgemein
by DeddyH,
28. Jan 2011
for i := 1 to 24 do
TImage(FindComponent('Image' + IntToStr(i))).Visible := true;
-
Forum: Programmieren allgemein
by DeddyH,
27. Jan 2011
Dann nimm Dir mal einen Zettel und einen Stift und teile das Ganze in kleine Teilprobleme auf. Wie man ein Image unsichtbar macht und wie man die Images zufällig befüllt, das weißt Du ja jetzt bereits. Das große Problem dürfte nun die "KI" werden (was sind gültige Felder, welches ist das für den Computer günstigste Feld usw.). Sobald Du das in Deutsch formulieren kannst, geht es an das...
-
Forum: Programmieren allgemein
by DeddyH,
27. Jan 2011
Ich versuche das nochmal zusammenzufassen, wie ich es verstanden habe:
Es gibt ein Quadrat aus 5x5 Feldern (nennen wir sie A1 - E5, wie bei Excel oder meinetwegen "Schiffe versenken"). Das mittlere Feld (C3) bleibt leer, in den anderen stehen Zahlen im Wertebereich von -4 bis 4 exklusive der 0. Der Spieler darf nur vertikal, der Rechner nur horizontal vom zuletzt gewählten Feld aus wählen, wobei...
-
Forum: Programmieren allgemein
by DeddyH,
27. Jan 2011
So ganz hab ich das noch nicht verstanden. Hast Du den genauen Wortlaut der Aufgabenstellung, evtl. sogar mit Bild (alte Knöppe wie ich können sich das dann besser vorstellen)?
-
Forum: Programmieren allgemein
by DeddyH,
27. Jan 2011
Das lässt sich ja ändern.
-
Forum: Programmieren allgemein
by DeddyH,
27. Jan 2011
Da TImage von TControl abgeleitet ist, müsste es auch in Delphi 3 bereits ein OnClick-Event besitzen. Ich habe zwar noch eine D3-CD zu Hause, aber nicht mehr installiert (wieso auch?), daher kann ich nicht nachschauen.