AGB  ·  Datenschutz  ·  Impressum  







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

String.Grid- Schulprojekt

Ein Thema von svenbomwollen1704 · begonnen am 7. Jul 2007 · letzter Beitrag vom 10. Jul 2007
Antwort Antwort
svenbomwollen1704

Registriert seit: 7. Jul 2007
5 Beiträge
 
#1

String.Grid- Schulprojekt

  Alt 7. Jul 2007, 17:26
Hi!
Ich bin neu im Forum und möchte euch ersteinmal alle begrüßen!
Aber nun auch schon mein erstes Problem:
Delphi-Quellcode:
procedure TForm1.BitBtn2Click(Sender: TObject);
var i,nummer:byte;
begin
   randomize; //Zufallsgenerator initialisieren
   i:=0;
   repeat
      inc(i);
      repeat
         nummer:=random(8)+1; //Zahl zwischen 1 und 8 würfeln
      until stringgrid1.cells[1,nummer]<>'';
      stringgrid1.cells[2,i]:=stringgrid1.cells[1,nummer]; //inSpalte 2 kopieren
      repeat nummer:=random(8)+1;
      until stringgrid1.cells[2,nummer]<>'';
      stringgrid1.cells[3,i]:=stringgrid1.cells[1,nummer];
      repeat nummer:=random(8)+1;
      until stringgrid1.cells[3,nummer]<>'';
      stringgrid1.cells[4,i]:=stringgrid1.cells[1,nummer];
   until i=8;

end;
diesen Quelltext möchte ich nun so umgestalten das ich in jeder Spalte alle Zahlen vorfinde, zufällig angeordnet und keine doppelt. Mhh... und ich hab jetzt gerade keine Idee! Kann mir eventuell jemand helfen?
Danke!
Mfg Max
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: String.Grid- Schulprojekt

  Alt 7. Jul 2007, 18:10
Hallo, willkommen in der DP. Ein paar Gedanken zu Deinem Problem:

1. Randomize sollte einmalig im Programm aufgerufen werden (z.B. OnCreate).
2. Für die erste Spalte ist das noch einfach (Zufallszahl zwischen eins und acht)
3. Bei den nächsten Spalten dasselbe, allerdings mit der Zusatzbedingung: Zahl darf in den Vorgängerspalten noch nicht enthalten sein, Du musst also das "until" jeweils erweitern.

Ich hoffe, Dir weitergeholfen zu haben.
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
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: String.Grid- Schulprojekt

  Alt 7. Jul 2007, 19:01
Hi,

ich hoffe, ich habe die Aufgabe richtig verstanden. Ist es richtig, dass in jeder Zeile des Stringgrids alle Zahlen von 1 bis 8 zufällig angeordnet werden sollen?

Mein Ansatz dazu wäre dieser: (Pseudocode)
Delphi-Quellcode:
var
  schon_gezogen: set [1..8] of integer;
  Zahl: integer;
...
schon_gezogen := [];
for i := 1 to 8 do
begin
  repeat
    zahl := random(8)+1;
  until not (Zahl in schon_gezogen);
  schon_gezogen := schon_gezogen + [zahl];
end;
...
Mit der Variable Zahl kannst du dann weiterarbeiten (z.B. in das Stringgrid schreiben).
  Mit Zitat antworten Zitat
svenbomwollen1704

Registriert seit: 7. Jul 2007
5 Beiträge
 
#4

Re: String.Grid- Schulprojekt

  Alt 7. Jul 2007, 20:07
Ahh...danke! D.h. ich muss also für das Until eine Bedingung erstellen die die Zahlem mit der Vorgängerspalte vergleicht!? Mhh na gut...wenn jemand noch irgent einen Einfall hat währe ich sehr dankbar, da ich den kleinen "Psyeudotext" nich so richtig zum laufen bringe...

PS: Das ganze is eigentlich dazu da um Bilder zufällig in image Feldern anzuzeigen,um später daraus Memory zu erstellen. Das soll meine Info Abschlussarbeit von der 11´ten werden. Bis nächsten Freitag...ohoh... trotzdem danke!!
Mfg Max
  Mit Zitat antworten Zitat
svenbomwollen1704

Registriert seit: 7. Jul 2007
5 Beiträge
 
#5

Re: String.Grid- Schulprojekt

  Alt 8. Jul 2007, 15:03
Ahh...Hallo!
O.K. jetzt läuft das erstmal, nun kann ich 12 Bilder auf 12 Imgae Feldern zufällig verteilen! Super. Naja fast....jetzt muss ich diese 12 ausgewählten Bilder nochmal anzeigen lassen (wie gesagt, memory ich brauche alle Bilder zweimal...=) Da hab ich mir nun so gedacht ich brauchte ein ImageFeld wie z.B: (Pseudocode=):
Delphi-Quellcode:
image(jetzt die Variable, die die Nummer des Imagefeldes bestimmt).Picture.LoadFromFile(datei);
...
Und ich werde aus der Delphi- Hilfe net so richtig schlau! Kann mir jemand helfen?? Danke!
Mfg Max
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#6

Re: String.Grid- Schulprojekt

  Alt 8. Jul 2007, 20:04
Hi,
ich würde die Bilder lieber in eine Delphi-Referenz durchsuchenTImagelist packen und ein Delphi-Referenz durchsuchenTDrawgrid verwenden. Bei dem TDrawGrid wird beim Zeichnen einer Zelle ein Ereignis namens OnPaint ausgelöst, in dem du dann auf die Zeichenfläche der Zelle zeichnen kannst.
  Mit Zitat antworten Zitat
svenbomwollen1704

Registriert seit: 7. Jul 2007
5 Beiträge
 
#7

Re: String.Grid- Schulprojekt

  Alt 9. Jul 2007, 19:49
Danke! Hab ich nun auch gelöst. Hab mich aber doch für die stringgrid variante entschieden, läuft so sehr gut. Jetzt hab ich alle 12 bilder zweimal auf 24 bildflächen. Jetzt muss ich sie ja noch unter einander verknüpfen, weis jemand wie man nun per 24 buttons das ganze untereinander verknüpfen kann, mit einer repeat schleife, oder so?! Danke!
Mfg Max
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#8

Re: String.Grid- Schulprojekt

  Alt 9. Jul 2007, 23:09
Wozu brauchst du denn auf einmal Buttons? Ich dachte, du nimmst das Stringrid.
Wenn du es mit Buttons (am besten mit TBitBtn, diese Komponente kann ein Bild anzeigen) machen willst, man das Stringrid also nicht sieht, würde ich ein zweidimensionales Array of TBitBtn vorschlagen. Den "Wert" des feldes, also das angezeigte Bild in Form einer ID, kannst du ja im "Tag"-Attribut des BitBtns unterbringen. Um zu prüfen, ob die richtigen Felder angeklickt wurden, brauchst du dann nur noch das Array Feld für feld durchzugehen und die "Tag"-Attribute zu vergleichen. Ich denke, das bekommst du hin
  Mit Zitat antworten Zitat
svenbomwollen1704

Registriert seit: 7. Jul 2007
5 Beiträge
 
#9

Re: String.Grid- Schulprojekt

  Alt 10. Jul 2007, 18:36
Hi!
Ahh also wenn ich das ricjtig verstehe kann ich BitBtn auch zufällig it Bildern belegen? Ich dachte immer die Bilder muss ich richtig "in den Button" laden, also mit dem OI. Mhh also wenn das geht war je meine ganze arbeit mit den stringgrids umsonst. Mhh ... also ich versuche es mal! Bye THX!
Mfg Max
  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 03:34 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