AGB  ·  Datenschutz  ·  Impressum  







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

Spalten überprüfen...

Ein Thema von Simo · begonnen am 30. Apr 2014 · letzter Beitrag vom 5. Mai 2014
 
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: Spalten überprüfen...

  Alt 2. Mai 2014, 10:30
Ich wiederhole mal Teile meines Senfs aus #2:

Ich würde die Prüffunktionen allgemeiner halten, so dass man nicht nur die erste Spalte damit prüfen kann, mal anhand des Beispiels der Gleichheitsprüfun (nur so reinkopiert in deinen Text, also ohnr Gewähr):

Delphi-Quellcode:
function TMyChek.MyChekGleich(StringGrid:TggStringGrid; Spaltennummer:Integer):Integer ;
//wobei ich die Funktion umbennenen würde, in das was sie macht, nämlich die erste Zeile liefern, //in der was doppelt vorkommt also somit sowas wie:
//function TMyChek.GetFirstRepetition(StringGrid:TggStringGrid; Spaltennummer:Integer):Integer ;
var
  a , b ,c : integer;
  Inhalt_Check : string;
  iDoppeltcounter:integer;
begin
  iDoppeltcounter:=0;
  Result:=0;//Ich würde sagen, wenn 0 zurückkommt, gibt es keine Doppelten

  b:= StringGrid.RowCount; // Anzahl der Zeilen...

  for a:=0 to b do begin //müsste meiner Meinung nach b-1 sein
    Inhalt_Check:=StringGrid.Cells[Spaltennummer,a]; //Zeile Um 1 erhöhen...
     for c:=0 to b do begin //b-1 s.o.?
        if Inhalt_Check=StringGrid.Cells[Spaltennummer,c] then begin
           //iDoppeltcounter:=iDoppeltcounter+1;
           Inc(iDoppeltcounter);
             if iDoppeltcounter>1 then begin
                 Result:=c;
                 //StringGrid.Selection:=
                 exit;
                 iDoppeltcounter:=0;
             end;
        end;
     end;
  end;
end;
Nichts desto trotz erschließt sich mir vieles in der Funktion nicht. Was soll das mit dem Doppelcounter bringen? Auch die geschachtelten Schleifen machen keinen Sinn, weil die beide immer von 0 bis b laufen und daher für Zeile scheinbar eine doppelte gefunden würde.
Müsste also daher nicht die zweite Schleife von c=a+1 bis b laufen.

Generell ist die Funktion aber auch gar nicht das, was du suchst. Es soll doch was markiert werden und zwar nicht nur die erste Doppelte sondern alle, oder?
Ralph
  Mit Zitat antworten Zitat
 


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 20:35 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