AGB  ·  Datenschutz  ·  Impressum  







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

Wie zellsensitives Rechnen in StringGrid ?

Ein Thema von EccoBravo · begonnen am 14. Dez 2005 · letzter Beitrag vom 15. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 11:53
Hallo, da wär ich wieder, lange keine Frage mehr gestellt,

ich habe ein StringGrid und will in ihm rechnen wie in Excel.
Das StringGrid hat die Zellen a..z, wenn ich die Zellen a und b ändere soll die Zelle c berechnet werden, und wenn ich die Zelle c ändere sollen die Zellen a und b berechnet werden.
Nun meine Frage:
Wie teile ich dem StringGrid mit, daß es gerade die Zelle c war, die geändert wurde und die eine Neuberechnung auslösen soll (und nicht die Zellen a und b)?
Und wie bekommt die Zelle c mit, daß die Eingabe in sie fertig ist?

Danke

E. B.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 12:07
Hai EccoBravo,

Du könntest im Delphi-Referenz durchsuchenOnGetEditText auswerten welche Zelle geändert wird und dann entsprechende deine Berechnungen machen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#3

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 12:54
Nun aber neues Problem

Soweit so gut,
aber unter OnGetEditText wird im StringGrid erst nach zweimaligem Drücken der EnterTaste das richtige ergebnis ausgerechnet.
Nach einmaligem Enter kommt keinErg oder sinnloses Erg.

Zur Illustration hier mein Code
Delphi-Quellcode:
function StrToFloate(wert:String):single;
begin
    if wert ='then result :=0
    else result := StrToFloat(wert);
end;

procedure TForm1.SG1GetEditText(Sender: TObject; ACol,
  ARow: Integer; var Value: String);
begin
  if (aRow=1) then
  begin
      SG1.Cells[ACol,3]:= FloatToStr(StrToFloate(SG1.Cells[ACol,1])+StrToFloate(SG1.Cells[ACol,2]));
  end;
  if aRow=2 then
  begin
      SG1.Cells[ACol,3]:= FloatToStr(StrToFloate(SG1.Cells[ACol,1])+StrToFloate(SG1.Cells[ACol,2]));
  end;
  if aRow=3 then
  begin
      SG1.Cells[ACol,1]:= FloatToStr(StrToFloate(SG1.Cells[ACol,2])+StrToFloate(SG1.Cells[ACol,3]));
  end;
Danke

E. B.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#4

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 13:03
...sorry war ein denkfehler!

versuch es mal mit dem event onsettext!
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#5

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 15:04
Danke danke

AAbbeerrr

zu Ereignis OnGetEditText

man muß immer 2x Enter drücken bevor das richtige Ergebnis erscheint.
Die StringGridAnzeige hängt immer einen Schritt hinterher.
Gut ist, daß immer erst dann etwas passiert, wenn man die Entertaste drückt.

zu Ereignis OnSetEditText

gut daran ist, daß die StringGridAnzeige nicht mehr hinterher hängt.
Aber während des Editierens reagiert die StringGridAnzeige bei Drücken jedes einzelnen Zeichens.
Die Anzeige kann nicht warten, bis die Eingabe abgeschlossen ist.

Wie kommt man aus diesem Dilemma?

Danke

E. B.
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 15:10
löse die Procedure doch manuell im OnKeyDown aus
(wenn Key = vk_Return)

MfG
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#7

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 16:04
Danke,

aber wie bringe ich dem Ereignis OnSetEditText das Ereignis vk_Return bei ?

Danke

E. B.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#8

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 16:10
Zitat von EccoBravo:
...zu Ereignis OnSetEditText

gut daran ist, daß die StringGridAnzeige nicht mehr hinterher hängt.
Aber während des Editierens reagiert die StringGridAnzeige bei Drücken jedes einzelnen Zeichens.
Die Anzeige kann nicht warten, bis die Eingabe abgeschlossen ist.
ist denn das so schlimm?
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#9

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 16:26
Zitat von EccoBravo:
Danke,

aber wie bringe ich dem Ereignis OnSetEditText das Ereignis vk_Return bei ?

Danke

E. B.

da nicht aber in den onkey...ereignissen!
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#10

Re: Wie zellsensitives Rechnen in StringGrid ?

  Alt 14. Dez 2005, 16:35
...und das da auch zellselektiv ?
  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 18:14 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