![]() |
Re: Zahlen hochzählen
Hi overclocker,
mein Code funktioniert ganz sicher. Hier brauchst Du keinen Timer oder ähnliches :wink: Markiere dein StringGrid mit der Maus, wähle im OI die Registerkarte Ereignisse, dort findest du das Ereignis OnDrawCell. Mache einen Doppelklick darauf und kopiere diesen Code hinein.
Delphi-Quellcode:
Um die Werte variable zu halten, musst Du natürlich noch etwas Eigeninitiative entwickeln.
if ((StringGrid1.Cells[3,ARow] = '4')
and (StringGrid1.Cells[4,ARow] = '4')) then StringGrid1.Cells[2,ARow] := '0'; Uwe |
Re: Zahlen hochzählen
Um die Werte variable zu halten, musst Du natürlich noch etwas Eigeninitiative entwickeln.
aha :shock:,wenn ich jetzt erstmal dein code dann wird der wert nur 1 mal gelöscht, die werte in der zeile weiter hinten bleiben drinnen,meinst du das damit? |
Re: Zahlen hochzählen
Zitat:
Ich glaub aber nicht, dass er jetzt die Lust drauf hat, dir den ganzen code zu posten, wie gesagt: Eigeninitiative!!! Lies dir am besten den ganzen Thread nochmal durch (vor allem die Code-Beispiele mit den Schleifen)... dann solltest du mithilfe eines Anfänger-Tuts (wie oben vorgeschlagen) und ein bisschen logisch nachdenken von selber drauf kommen :wink: |
Re: Zahlen hochzählen
super ähnlich hatte ich den code auch schon,nur bei mir hats rumgezickt wegen den klammern
ich brauch nur das, dass er immer 1 weiterzählt mehr nich (irgendwie mit count geht das,aber ka wie) |
Re: Zahlen hochzählen
Wenn du hier in der DP ordentliche Antworten bokommen möchtest, dann lege ich dir ans Herz, Aussagen von DP'lern nicht zu missachten! Ich habe dir grad gesagt, dass du dir den ganzen Thread nochmal durchlesen solltest, da die Lösung (was auch immer das bei dir werden soll) schon mindestens 2mal komplett hingeschrieben wurde!!!
Delphi-Quellcode:
Ich hoffe du verstehst das jetzt hier... und noch einmal: Lesen ist besser als nicht darüber nachzudenken und noch einmal zu fragen :wink:
for i:=1 to Stringrid1.rowcount-1 do
begin if ((StringGrid1.Cells[i,ARow] = '4') and (StringGrid1.Cells[i+1,ARow] = '4')) then StringGrid1.Cells[i-1,ARow] := '0'; end; [Welch kluger Spruch {... naja...so klug nun auch wieder nicht, halkt nur eine Tatsache} aus meinem Mund... :lol: ] |
Re: Zahlen hochzählen
Hi overclocker,
mein Code löscht in JEDER ZEILE die Spalte "C" wenn in Spalte "D" und "E" eine 4 drin steht. Eigeninitiative heisst wenn Du nicht nur auf den Wert 4 reagieren willst. Was Du mit Zitat:
Uwe |
Re: Zahlen hochzählen
ich will dass in der 3. zeile folgendes geschieht:
wenn z.b. in der zelle D3 und E3 jeweils eine 4 drinnen steht,dann soll der wert in Zelle C3 gelöscht werden indem eine 0 eingetragen wird. wenn z.b. in der zelle E3 und F3 jeweils eine 4 drinnen steht,dann soll der wert in Zelle D3 gelöscht werden indem eine 0 eingetragen wird. wenn z.b. in der zelle F3 und G3 jeweils eine 4 drinnen steht, dann soll der wert in zelle E3 gelöscht werden indem eine 0 eingetragen wird. usw........... das ist mein ziel |
Re: Zahlen hochzählen
Ok, habe heute einen guten Tag.
Delphi-Quellcode:
Uwe
procedure StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState); begin if ACol >= 3 then //Prüfe hier erst ab 3. Spalte if ((StringGrid1.Cells[ACol,ARow] = '4') //wenn in akt. Spalte eine 4 steht and (StringGrid1.Cells[ACol+1,ARow] = '4')) //und in akt. Spalte + 1 auch then StringGrid1.Cells[AXCol-1,ARow] := '0'; //dann setze eine 0 in akt. Spalte - 1 end; |
Re: Zahlen hochzählen
danke für die bemühungen (besonders an uwe).hab mich jetzt mal länger hingehockt und den code bisschen umgeschrieben und noch eine bedingung hinzu, jetzt funktioniert alles
thx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz