AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zugriff auf Inhalt einer DBGrid Zelle
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf Inhalt einer DBGrid Zelle

Ein Thema von Smith · begonnen am 12. Aug 2003 · letzter Beitrag vom 15. Aug 2003
Antwort Antwort
Seite 1 von 2  1 2      
Smith

Registriert seit: 12. Aug 2003
14 Beiträge
 
#1

Zugriff auf Inhalt einer DBGrid Zelle

  Alt 12. Aug 2003, 13:44
Hi!
ich hab ein problem mit meinem programm und zwar soll ich für die schule ein galgenraten programm schreiben...das funktioniert auch sehr gut aber unser lehrer hat uns vorgeschrieben die hiscore oder bestenliste als datenbank zu machen. ich habe ein dbgrid und eine dbedit und will das, wenn ich einen namen in das dbedit-feld eintrage, das sich der name an der richtigen stelle einträgt, nu8n ist mein problem das ich aus dem quellcode noch andere daten manuell in das dbgrid eintragen müsste, aber ich hab keinen blassen wie ich den inhalt einen einzelnen zelle ändern kann...
bitte helft mir!

Smith
Smith - Delphianfänger
  Mit Zitat antworten Zitat
Biohazard

Registriert seit: 20. Mär 2003
46 Beiträge
 
#2

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 12. Aug 2003, 15:45
Hallo,

Wie ist das gemein:

Zitat:
nu8n ist mein problem das ich aus dem quellcode noch andere daten manuell in das dbgrid eintragen müsste
Werden die Daten nun im/vom Quelltext eingetragen nachdem du den Namen eigegeben hast oder werden sie von dir im nachhinein manuell eingetragen.

Auf jeden Fall weißt du ja wie die Tabellenspalten betitelt sind. Mit table1.FieldByName('Spaltenname') oder mit dbgrid1.DataSource.DataSet.FieldByName() kannst du auf die Felder des aktuellen Datensatzes zugreifen.
  Mit Zitat antworten Zitat
Smith

Registriert seit: 12. Aug 2003
14 Beiträge
 
#3

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 12. Aug 2003, 16:42
nun nachdem der spieler gespielt hat, hat er entweder verloren oder gewonnen. demnach stehen die ergebnisse des spiels fest...ich muss diese ergebnisse aber in die tabelle eintragen...die tabelle sieht folgendermassen aus:
der kopf besteht aus:
No.
Fehlversuche
Spieler(Name)
Anzahl der Buchstaben
Und die tabelle hat 10 zeilen...nun muss ein neues spielergebnis eingetragen werden. dazu muss ich die spieldaten fehlversuche und anzahl der buchstaben ind die richtige zeile eingeben und der name wird dann später über ein editfeld vom spieler ind die passende zeile eingeben.
aber ich weiss nicht wie ich auf eine ganz bestimmte zeile eines feldes zugreifen soll....zum beispiel: die spieler hat in der bestenliste den 5.platz, dann müssen die passenden werte in die 5. zeile geschrieben werden, aber ich weiss nicht wie ich nun genau die 5. zeile ansprechen soll...

Ich flehe echt um hilfe...vllt ist es ja so einfach das ich es einfach nur übersehe...aber ich zerbrech mir schon echt ne weile den kopp darüber
Smith - Delphianfänger
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 12. Aug 2003, 19:39
Hallo Smith,

zunächst einaml herzlich willkommen im Delphi-PRAXIS Forum.

Wenn No ein Schlüsselfeld ist und die Platzierung kennzeichnet, findest du den 5. Datensatz mit:

Delphi-Quellcode:
Table1.FindKey([5]);
{ jetzt in den Edit Mode }
Table1.Edit;
{ Daten eintragen }
Table1.FieldByName('Spieler').AsString := AktSpieler;
...
{ Daten übernehmen }
Table1.Post;
Ist No kein Schlüsselfeld, benutzt du anstatt FindKey die Methode Locate.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Smith

Registriert seit: 12. Aug 2003
14 Beiträge
 
#5

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 12. Aug 2003, 23:17
Danke MrSpock
mit deiner Hilfe kann ich eine zeile direkt ansteuern...ein weiteres problem ist das ich es nun seit 2 studen nich hinbekomm mit der paradox-datenbank alles zu ordnen.
obwohl ich den secondaryindex auf fehleranzahl und buchstaben gestellt habe wird der rest nich geordnet...ausserdem muss der enue eintrag in die passende zeile eingetragen werde, was ja von dem secondaryindex abhängt...

kann mir jemand helfen?
Smith - Delphianfänger
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 13. Aug 2003, 14:08
Hallo Smith,

wenn ich dich richtig verstanden habe, hast du einen Sekundärindex angelegt, der aus den beiden Feldern Fehlversuche;Anzahl_der_buchstaben besteht. Wenn du diesen jetzt auswählst, sollten die Einträge nach Anzahl der Fehlversuche und wenn diese gleich sind nach Anzahl_der_Buchdstaben sortiert werden. Dazu muss der Sekundärindex natürlich ausgewählt sein (z.B. über die Eigenschaft IndexName). Welche Sortierung funktioniert denn nicht?

Ich bin mir auch nicht sicher, ob dein Ansatz richtig ist:

Du solltest die Datenbank vielleicht nach No (wenn das die Plazierung ist) sortieren. Dann suchst du den ersten Eintrag, der mehr Fehlversuche hat:

Delphi-Quellcode:
Table1.First;
gefunden := False;
while Not gefunden and Not Table1.EOF do
begin
  if Table1.FieldByName('Fehlversuche').AsInteger > AktFehler then
    gefunden := True
  else
     Table1.EOF;
end;

if gefunden then
begin
  Table1.Edit;
  Table1.FieldByName('Fehlversuche').AsInteger := AktFehlversuche;
  Table1.FieldByName('Name').AsString := AktName;
  Table1.Post;
end;
Wie sollen die Anzahl_der_Buchstaben in die Sortierung eingehen?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Smith

Registriert seit: 12. Aug 2003
14 Beiträge
 
#7

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 13. Aug 2003, 14:24
hi MrSpockich werd mir das nochma anschaun und meld mich dann nochmal ok?
hab nen kleinen einfall
Smith - Delphianfänger
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 13. Aug 2003, 14:55
Zitat von Smith:
hi MrSpock ich werd mir das nochma anschaun und meld mich dann nochmal ok?
hab nen kleinen einfall
Gerne .
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Smith

Registriert seit: 12. Aug 2003
14 Beiträge
 
#9

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 13. Aug 2003, 17:39
also mein problem gestaltet sich wie folgt...
ich mach alles nun anders und lass das ordnen die tabelle über den index übernehmen...
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
var name:string;
    a,c:integer;
begin
name:=edit1.Text;
a:=length(Form1.Edit1.text);
for c:=1 to 10 do
Form4.Table1.FindKey([c]);
if Form4.Table1.FieldByName('Wortlänge').AsInteger >=
length(Form1.Edit1.text)
then
begin
Form4.table1.First;
Form4.table1.Edit;
Form4.Table1.FieldByName('Spieler').AsString:=name;
Form4.Table1.FieldByName('Wortlänge').AsInteger:=a;
Form4.Table1.FieldByName('Wort').AsString:=Form1.Edit1.text;
Form4.Table1.Post;
Form4.Table1.Refresh;
Form4.show();
Form5.Close;
end
else
begin
Form4.table1.Next;
Form4.table1.Edit;
Form4.Table1.FieldByName('Spieler').AsString:=name;
Form4.Table1.FieldByName('Wortlänge').AsInteger:=a;
Form4.Table1.FieldByName('Wort').AsString:=Form1.Edit1.text;
Form4.Table1.Post;
Form4.Table1.Refresh;
Form4.show();
Form5.Close;
end;
end;
end.


Also mein problem liegt darin das ich nur 10 zeilen in der tabelle haben will und jeweils ein neuer eintrag mit allen verglichen werden soll und dann den den der neue eintrag übertifft halt ersetzt oder das der neue eintrag nicht eingetragen wird...dann kann ne msg kommen oder so...
kannst du mir jetzt noch helfen?
Smith - Delphianfänger
  Mit Zitat antworten Zitat
Smith

Registriert seit: 12. Aug 2003
14 Beiträge
 
#10

Re: Zugriff auf Inhalt einer DBGrid Zelle

  Alt 14. Aug 2003, 17:41
ok ich hab gemerkt das ich einen blödsinnigen code fabriziert habe und hab das geändert, nun weiss nur noch nich wie ich die zeilenanzahl der tabelle auf 10 begrenzen kann....wenn ich das raushabe hab ichs schon fast geschafft...geht das überhaupt?

mfg Smith
Smith - Delphianfänger
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:44 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