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