Einzelnen Beitrag anzeigen

megaGOLDdeluxe

Registriert seit: 23. Sep 2004
7 Beiträge
 
#2

Re: dynamische Records/Verbände

  Alt 18. Feb 2007, 15:25
Zitat von Stöffi:
Hallo Zusammen!

Habe folgendes Problem:
Muss für die Schule ein Projekt bearbeiten. Das Programm soll eine chemische Strukturformel einlesen und sie dann so analysieren, dass der systematische Namen (nach IUPAC) ausgegeben werden kann.

Problem:
Der Benutzer gibt in ein StringGrid die verschiedenen C-Atome etc. ein.
Diese müssen jetzt NACHEINANDER eingelesen und gespeichert werden. Genau da tritt mein Problem in Kraft. Hab keine Ahnung, wie ich die jetzt speichern soll. Brauche für jedes C-Atom die Nummer (als integer) und die Koordinaten (zweidimensionales Array).
Das wärs schon.

Hoffe, jemand kann mir weiterhelfen.
Kann auch gerne den Code mailen.

Cu
Stöffi
Deine Daten werden doch bereits in dem StringGrid gehalten. Wozu brauchst Du dann noch zusätzliche Variablen oder sogar ein Record-Objekt? Du kannst doch das StringGrid mit einer Schleife durch gehen, und Dir die Daten rauslesen, und damit jede denkbare Operation oder ähnliches, durchführen.

Delphi-Quellcode:
// hier ein kleines Beseispiel wenn klar ist, in wecher Spalte die Werte stehen.
function GehDurchReihen: Integer;
var
  iRunner: Integer; //Deine Laufvariable
begin
  Result := 0;
  for iRunner = 0 to DeinStringGrid.Rows -1 do
  begin
    Result := Result+StrToInt(DeinStringGrid.Cells[iRunner,0]);
                                                        // ^ steht für Spalte 0, also die Erste!
  end;
end;

// hier ein kleines Beseispiel wenn unklar ist, in wecher Spalte die Werte stehen.
function GehDurchReihen: Integer;
var
  iRunnerZeilen: Integer; //Deine Laufvariable für Zeilen
  iRunnerSpalten: Integer; //Deine Laufvariable für Spalten
begin
  Result := 0;
  for iRunnerSpalten = 0 to DeinStringGrid.Cols -1 do
  begin
    for iRunnerZeilen = 0 to DeinStringGrid.Rows -1 do
    begin
      // pseudo-code: wenn spalte = irgendwas dann
      // mache folgendes ...
    end;
  end;
end;
Hoffe es hilft Dir...

MfG
Pierre
  Mit Zitat antworten Zitat