AGB  ·  Datenschutz  ·  Impressum  







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

StrinGrid, random String, Vokabel Abfrage

Ein Thema von dde · begonnen am 7. Mai 2003 · letzter Beitrag vom 12. Mai 2003
Antwort Antwort
Seite 2 von 3     12 3      
Daniel B
(Gast)

n/a Beiträge
 
#11
  Alt 8. Mai 2003, 17:14
Hallo,

ich habe es nach VCL-Komponenten verschoben, mit Datenbanken hat das ja wirklich nichts zutun.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#12
  Alt 8. Mai 2003, 17:23
wenn rowcount (wie ich vermute) die anzahl der reihen angibt, und du ZB. 2 zeilen hast, und dann random(2-1) aufrufst, wirst du immer das ergebnis 0 haben. gibt rowcount den höchsten index an, dann wird die sache auch nicht besser. also nehme ich an, dass es so wie es immoment ist, falsch ist
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#13
  Alt 8. Mai 2003, 17:32
Zitat von Nailor:
wenn rowcount (wie ich vermute) die anzahl der reihen angibt, und du ZB. 2 zeilen hast, und dann random(2-1) aufrufst, wirst du immer das ergebnis 0 haben.
Ich kapier nicht, was du meinst. 2-1 ist 1. und da StringGird Werte nullbasiert sind, lese ich damit doch die 2 Zeile. Lasse mich aber gerne korigieren.

Man liest sich. Stanlay 8)
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#14
  Alt 8. Mai 2003, 18:20
GEnau und (Random(1) = 0) ist immer true. weil es nur eine möglichkeit gibt!
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
dde

Registriert seit: 7. Mai 2003
132 Beiträge
 
#15
  Alt 8. Mai 2003, 18:30
Wie ich sehe, komm ich nicht rum eine neue Prozedur mit Random_Abrage-Algorithmen zu coden. Naja, Vorschläge erwünscht. Bis dahin versuche ichs selber.
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#16
  Alt 8. Mai 2003, 18:39
@ Nailor. Ziehe mich zurück. Hast natürlich recht.

Man liest sich in Demut. Stanlay
  Mit Zitat antworten Zitat
dde

Registriert seit: 7. Mai 2003
132 Beiträge
 
#17
  Alt 8. Mai 2003, 19:32
So ich habe es nun wie folgt gemacht:

Delphi-Quellcode:
procedure TForm1.NextButtonClick(Sender: TObject);
var x:integer;
begin
  x:=0;
  x:=random(StringGrid1.rowcount-1);
  Label1.Caption:=IntToStr(x);
  VokabelLabel.Caption:=StringGrid1.cells[0,StrToInt(Label1.Caption)];
end;

und entsprechend bei der abfrage (Button):

procedure TForm1.EnterButtonClick(Sender: TObject);
begin
   VokEingabeEdit.Text=StringGrid1.cells[1,StrToInt(Label1.Caption)] end;
Zu sagen ist noch: Label1 ist Visible:=false, sprich invisible!

Naja jetzt habe ich es hinbekommen, dass die Abfrage richtig beantwortet wird, doch dann ist mir aufgefallen, dass bei Random, nicht alle Zellen drankommen, nur ein paar. Wie könnte ich denn alle abfragen lassen? Vielleicht mit nem Timer immer neue Werte erstellen und dann random?
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#18
  Alt 8. Mai 2003, 20:17
Wenn du nur Random nimmst, werden immer die gleichen Zufallszahlen erzeugt, so dumm sich das auch aanhört. Du musst vorher irgendwo die Procedur

Randomize; aufrufen. Dann werden bei jedem Random andere Zufallszahlen erzeugt.

Man liest sich. Stanlay 8)
  Mit Zitat antworten Zitat
dde

Registriert seit: 7. Mai 2003
132 Beiträge
 
#19
  Alt 8. Mai 2003, 20:40
Zitat:
Wenn du nur Random nimmst, werden immer die gleichen Zufallszahlen erzeugt, so dumm sich das auch aanhört. Du musst vorher irgendwo die Procedur
Muss ich wirklich eine richtige Prozedur dafür machen? Denn ich habe Randomize vorher so einfach eingesetzt, aber es hat nur richtigen Nutzen, wenn viele Zellen vorhanden sind. Wenn die Zellen unter 10 sind, dann bringt diese Methode auch nichts. Danke trotzdem.
Ich dachte wieder an sowas wie ne Schleife, dass der einfach die Zellen durchgeht, aber dann könnte ich keine Abfrage mehr machen. Vielleicht ginge es ja wenn ich "break" setze:
Kann man extern (z.B per Button) eine Schleife zum Stoppen bringen (mit "break")??


Oder kennt einer unter euch ne bessere Lösung??

@ssach
wo bleibt denn jetzt der source code deines Vokabel Trainers?
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#20
  Alt 8. Mai 2003, 20:44
Ich versteh nicht was du meinst mit: "Muss ich dafür wirklich eine eigene Procedur machen?" Radomize ist doch schon eine eigene Procedur, die du einfach nur z.B. gleich nach dem begin in deinem NextButtonOnClick Ereignis vor den anderen Anweisungen schreiben musst.
Oder hab ich dich falsch verstanden?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 01:08 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