AGB  ·  Datenschutz  ·  Impressum  







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

problem mit schleife

Ein Thema von herrentor · begonnen am 2. Jun 2004 · letzter Beitrag vom 2. Jun 2004
Antwort Antwort
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#1

problem mit schleife

  Alt 2. Jun 2004, 06:41
ich hab folgendes problem mit einer schleife.
beispiel: in zeile eins ist aus der combobox rechteck ausgewählt, es werden also die zellen in zeile 1 in der spalte 3 un 4 auf länge a bzw. höhe b umgestellt. soweit noch kein problem. jetzt gibt man zahlen in die zellen ein. dann geht man in die nächste zeile und wählt wieder etwas aus. jetzt werden die zellen in zeile 2 wie gewollt beschrieben, allerdings werden in zeile 1 die eingegebenen zahlen wieder von länge a und höhe b überschrieben. es ist natürlich logisch das das passiert, meine frage deshalb: wie kann ich umgehen, dass zeile 1 wieder überschrieben wird?

Code:

For i:=1 to 6 do                                    // von Zeile 1 bis 6 mache
     begin

      if Tab.Cells[1,i] = ComboBox1.Items[0] then   // falls nichts aktiviert ist
       begin
        Tab.Cells[3,i]:=('0');                      // ändern auf '0'
        Tab.Cells[4,i]:=('0');                      // ändern auf '0'
       end;

      if Tab.Cells[1,i] = ComboBox1.Items[1] then   // falls Rechteck aktiviert ist
       begin
        Tab.Cells[3,i]:=('Länge A');                // ändern auf 'Länge A'
        Tab.Cells[4,i]:=('Höhe B');                 // ändern auf 'Höhe B'
        Tab.Cells[2,i]:=('+');                      // Vorzeichen auf + stellen
       end;

      if Tab.Cells[1,i] = ComboBox1.Items[2] then   // falls Dreieck aktiviert ist
       begin
        Tab.Cells[3,i]:=('Länge A');                // ändern auf 'Länge A'
        Tab.Cells[4,i]:=('Höhe B');                 // ändern auf 'Höhe B'
        Tab.Cells[2,i]:=('+');                      // Vorzeichen auf + stellen
       end;

      if Tab.Cells[1,i] = ComboBox1.Items[3] then   // falls Kreissektor aktiviert ist
       begin
        Tab.Cells[3,i]:=('Radius');                 // ändern auf 'Radius'
        Tab.Cells[4,i]:=('Winkel');                 // ändern auf 'Winkel'
        Tab.Cells[2,i]:=('+');                      // Vorzeichen auf + stellen
       end;

      if Tab.Cells[1,i] = ComboBox1.Items[4] then   // falls Kreisabschnitt aktiviert ist
       begin
        Tab.Cells[3,i]:=('Radius');                 // ändern auf 'Radius'
        Tab.Cells[4,i]:=('Winkel');                 // ändern auf 'Winkel'
        Tab.Cells[2,i]:=('+');                      // Vorzeichen auf + stellen
       end;

      if Tab.Cells[1,i] = ComboBox1.Items[5] then    // wenn Kreis aktiviert
       begin
        Tab.Cells[3,i]:=('Radius');                  // zum besseren Verständniss 'Radius' in Spalte 3
        Tab.Cells[2,i]:=('+');                      // Vorzeichen auf + stellen
       end;

     end;
danke im voraus.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

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

Re: problem mit schleife

  Alt 2. Jun 2004, 07:10
Hallo herrentor,

die Frage ist ja, was genau du von dem Programm erwartest. Soll nur die aktuelle Zeile angepasst werden, dann kannst du das anstatt in einer Schleife über die Eigenschaft Row erledigen. Willst du alle, aber nur die unmodifizierten Felder bearbeiten, musst du vor dem Schreiben entweder den Inhalt lesen und dann entscheiden, ob du diesen überschreiben willst, oder du merkst dir beim Schreiben, ob eine Zelle bereits mit Werten überschrieben wurde.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#3

Re: problem mit schleife

  Alt 2. Jun 2004, 07:48
es soll "einfach" nur in der zeile, in der man eine auswahl über die combobox anklickt, zwei zellen beschriftet werden und zwar nut in der zelle. in meiner variante wird das gemacht, jedoch ändern sich dann auch andere zeile, in der eine auswahl über die eingebaute combobox getroffen wurde.
  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: problem mit schleife

  Alt 2. Jun 2004, 07:53
Hallo herrentor,

das sollte dann doch so funktionieren, dass du anstatt der Schleife alle Anweisungen mit Row anstelle von i ausführst.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
herrentor

Registriert seit: 29. Mai 2004
Ort: Emden
158 Beiträge
 
#5

Re: problem mit schleife

  Alt 2. Jun 2004, 09:00
ok, jetzt macht er es so. allerdings schreibt er erst in die zellen, wenn ich in sie klick. kann man nicht einstellen, dass die sofort beim klick auf die auswahl in der combobox beschrieben werden?
  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 12:51 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